diff --git a/.travis.yml b/.travis.yml index 9444619a56..56e53a91b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,6 +73,11 @@ script: else ./node_modules/.bin/grunt jest:normal fi + echo 'Testing in server-render (HTML generation) mode...' + printf '\nmodule.exports.useCreateElement = false;\n' \ + >> src/renderers/dom/shared/ReactDOMFeatureFlags.js + ./node_modules/.bin/grunt jest:normal + git checkout -- src/renderers/dom/shared/ReactDOMFeatureFlags.js else ./node_modules/.bin/grunt $TEST_TYPE fi diff --git a/src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js b/src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js index 406b25fd00..a42227bb97 100644 --- a/src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js +++ b/src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js @@ -18,6 +18,7 @@ describe('ReactDOMInput', function() { var EventConstants; var React; var ReactDOM; + var ReactDOMFeatureFlags; var ReactLink; var ReactTestUtils; @@ -26,6 +27,7 @@ describe('ReactDOMInput', function() { EventConstants = require('EventConstants'); React = require('React'); ReactDOM = require('ReactDOM'); + ReactDOMFeatureFlags = require('ReactDOMFeatureFlags'); ReactLink = require('ReactLink'); ReactTestUtils = require('ReactTestUtils'); spyOn(console, 'error'); @@ -578,6 +580,9 @@ describe('ReactDOMInput', function() { }); it('sets type before value always', function() { + if (!ReactDOMFeatureFlags.useCreateElement) { + return; + } var log = []; var originalCreateElement = document.createElement; spyOn(document, 'createElement').andCallFake(function(type) { diff --git a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js index 96e586b06f..5e7ecb6452 100644 --- a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js +++ b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js @@ -17,12 +17,14 @@ describe('ReactDOMComponent', function() { var React; var ReactDOM; + var ReactDOMFeatureFlags; var ReactDOMServer; beforeEach(function() { jest.resetModuleRegistry(); React = require('React'); ReactDOM = require('ReactDOM'); + ReactDOMFeatureFlags = require('ReactDOMFeatureFlags'); ReactDOMServer = require('ReactDOMServer'); }); @@ -294,7 +296,11 @@ describe('ReactDOMComponent', function() { var container = document.createElement('div'); ReactDOM.render(, container); - expect(container.firstChild.hasAttribute('theWord')).toBe(true); + if (ReactDOMFeatureFlags.useCreateElement) { + // jsdom's svg parsing makes attributes lowercase, so only assert this + // in createElement mode... + expect(container.firstChild.hasAttribute('theWord')).toBe(true); + } ReactDOM.render(, container); expect(container.firstChild.hasAttribute('theWord')).toBe(false); });