Merge pull request #3427 from zpao/full-page-dom-components

Ensure FullPageComponents are treated as DOM components
This commit is contained in:
Paul O’Shannessy 2015-03-16 15:39:40 -07:00
commit dacd4db1fa
2 changed files with 25 additions and 0 deletions

View File

@ -33,6 +33,7 @@ function createFullPageComponent(tag) {
var elementFactory = ReactElement.createFactory(tag); var elementFactory = ReactElement.createFactory(tag);
var FullPageComponent = ReactClass.createClass({ var FullPageComponent = ReactClass.createClass({
tagName: tag.toUpperCase(),
displayName: 'ReactFullPageComponent' + tag, displayName: 'ReactFullPageComponent' + tag,
componentWillUnmount: function() { componentWillUnmount: function() {

View File

@ -206,4 +206,28 @@ describe('ReactTestUtils', function() {
expect(console.warn.calls.length).toBe(0); expect(console.warn.calls.length).toBe(0);
}); });
it('should support injected wrapper components as DOM components', function() {
var injectedDOMComponents = [
'button',
'form',
'iframe',
'img',
'input',
'option',
'select',
'textarea',
'html',
'head',
'body'
];
injectedDOMComponents.forEach(function(type) {
var component = ReactTestUtils.renderIntoDocument(
React.createElement(type)
);
expect(component.tagName).toBe(type.toUpperCase());
expect(ReactTestUtils.isDOMComponent(component)).toBe(true);
});
});
}); });