Skip to content

Commit 81e5dd0

Browse files
committed
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.
1 parent e8fb8c7 commit 81e5dd0

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

.travis.yml

+5
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ script:
7373
else
7474
./node_modules/.bin/grunt jest:normal
7575
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
7681
else
7782
./node_modules/.bin/grunt $TEST_TYPE
7883
fi

src/renderers/dom/client/wrappers/__tests__/ReactDOMInput-test.js

+5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe('ReactDOMInput', function() {
1818
var EventConstants;
1919
var React;
2020
var ReactDOM;
21+
var ReactDOMFeatureFlags;
2122
var ReactLink;
2223
var ReactTestUtils;
2324

@@ -26,6 +27,7 @@ describe('ReactDOMInput', function() {
2627
EventConstants = require('EventConstants');
2728
React = require('React');
2829
ReactDOM = require('ReactDOM');
30+
ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
2931
ReactLink = require('ReactLink');
3032
ReactTestUtils = require('ReactTestUtils');
3133
spyOn(console, 'error');
@@ -578,6 +580,9 @@ describe('ReactDOMInput', function() {
578580
});
579581

580582
it('sets type before value always', function() {
583+
if (!ReactDOMFeatureFlags.useCreateElement) {
584+
return;
585+
}
581586
var log = [];
582587
var originalCreateElement = document.createElement;
583588
spyOn(document, 'createElement').andCallFake(function(type) {

src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ describe('ReactDOMComponent', function() {
1717
var React;
1818

1919
var ReactDOM;
20+
var ReactDOMFeatureFlags;
2021
var ReactDOMServer;
2122

2223
beforeEach(function() {
2324
jest.resetModuleRegistry();
2425
React = require('React');
2526
ReactDOM = require('ReactDOM');
27+
ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
2628
ReactDOMServer = require('ReactDOMServer');
2729
});
2830

@@ -294,7 +296,11 @@ describe('ReactDOMComponent', function() {
294296
var container = document.createElement('div');
295297
ReactDOM.render(<svg theWord="theBird" />, container);
296298

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+
}
298304
ReactDOM.render(<svg />, container);
299305
expect(container.firstChild.hasAttribute('theWord')).toBe(false);
300306
});

0 commit comments

Comments
 (0)