Fix build for useCreateElement: false, run Travis
It's important that we keep these code paths working because they're the only comprehensive test of adopting server-rendered HTML that we have right now. This is terrible and hacky but I am hopeful that it will at least catch stuff.
Ben Alpert committed
Feb 18, 2016 at 17:21 UTC
81e5dd0a2901af340b0d12eec9a01df44566c3f9
3 files changed
+17
-1
.travis.yml
+5
@@ -73,6 +73,11 @@ script:
73
else
74
./node_modules/.bin/grunt jest:normal
75
fi
76
+ echo 'Testing in server-render (HTML generation) mode...'
77
+ printf '\nmodule.exports.useCreateElement = false;\n' \
78
+ >> src/renderers/dom/shared/ReactDOMFeatureFlags.js
79
+ ./node_modules/.bin/grunt jest:normal
80
+ git checkout -- src/renderers/dom/shared/ReactDOMFeatureFlags.js
81
else
82
./node_modules/.bin/grunt $TEST_TYPE
83
fi
src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js
+5
@@ -18,6 +18,7 @@ describe('ReactDOMInput', function() {
18
var EventConstants;
19
var React;
20
var ReactDOM;
21
+ var ReactDOMFeatureFlags;
22
var ReactLink;
23
var ReactTestUtils;
24
@@ -26,6 +27,7 @@ describe('ReactDOMInput', function() {
27
EventConstants = require('EventConstants');
28
React = require('React');
29
ReactDOM = require('ReactDOM');
30
+ ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
31
ReactLink = require('ReactLink');
32
ReactTestUtils = require('ReactTestUtils');
33
spyOn(console, 'error');
@@ -578,6 +580,9 @@ describe('ReactDOMInput', function() {
580
});
581
582
it('sets type before value always', function() {
583
+ if (!ReactDOMFeatureFlags.useCreateElement) {
584
+ return;
585
+ }
586
var log = [];
587
var originalCreateElement = document.createElement;
588
spyOn(document, 'createElement').andCallFake(function(type) {
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
+7
-1
@@ -17,12 +17,14 @@ describe('ReactDOMComponent', function() {
17
var React;
18
19
var ReactDOM;
20
+ var ReactDOMFeatureFlags;
21
var ReactDOMServer;
22
23
beforeEach(function() {
24
jest.resetModuleRegistry();
25
React = require('React');
26
ReactDOM = require('ReactDOM');
27
+ ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
28
ReactDOMServer = require('ReactDOMServer');
29
});
30
@@ -294,7 +296,11 @@ describe('ReactDOMComponent', function() {
296
var container = document.createElement('div');
297
ReactDOM.render(<svg theWord="theBird" />, container);
298
297
- expect(container.firstChild.hasAttribute('theWord')).toBe(true);
299
+ if (ReactDOMFeatureFlags.useCreateElement) {
300
+ // jsdom's svg parsing makes attributes lowercase, so only assert this
301
+ // in createElement mode...
302
+ expect(container.firstChild.hasAttribute('theWord')).toBe(true);
303
+ }
304
ReactDOM.render(<svg />, container);
305
expect(container.firstChild.hasAttribute('theWord')).toBe(false);
306
});