Remove empty value for boolean attributes in SSR (#11708)
Brandon Dail committed
Nov 29, 2017 at 09:59 UTC
e0c31137434d7c7df2bc3475cb7682b1d7eecc8b
2 files changed
+10
-10
packages/react-dom/src/__tests__/ReactDOMSelect-test.js
+9
-9
@@ -440,9 +440,9 @@ describe('ReactDOMSelect', () => {
440
</select>
441
);
442
var markup = ReactDOMServer.renderToString(stub);
443
- expect(markup).toContain('<option selected="" value="giraffe"');
444
- expect(markup).not.toContain('<option selected="" value="monkey"');
445
- expect(markup).not.toContain('<option selected="" value="gorilla"');
443
+ expect(markup).toContain('<option selected value="giraffe"');
444
+ expect(markup).not.toContain('<option selected value="monkey"');
445
+ expect(markup).not.toContain('<option selected value="gorilla"');
446
});
447
448
it('should support server-side rendering with defaultValue', () => {
@@ -454,9 +454,9 @@ describe('ReactDOMSelect', () => {
454
</select>
455
);
456
var markup = ReactDOMServer.renderToString(stub);
457
- expect(markup).toContain('<option selected="" value="giraffe"');
458
- expect(markup).not.toContain('<option selected="" value="monkey"');
459
- expect(markup).not.toContain('<option selected="" value="gorilla"');
457
+ expect(markup).toContain('<option selected value="giraffe"');
458
+ expect(markup).not.toContain('<option selected value="monkey"');
459
+ expect(markup).not.toContain('<option selected value="gorilla"');
460
});
461
462
it('should support server-side rendering with multiple', () => {
@@ -468,9 +468,9 @@ describe('ReactDOMSelect', () => {
468
</select>
469
);
470
var markup = ReactDOMServer.renderToString(stub);
471
- expect(markup).toContain('<option selected="" value="giraffe"');
472
- expect(markup).toContain('<option selected="" value="gorilla"');
473
- expect(markup).not.toContain('<option selected="" value="monkey"');
471
+ expect(markup).toContain('<option selected value="giraffe"');
472
+ expect(markup).toContain('<option selected value="gorilla"');
473
+ expect(markup).not.toContain('<option selected value="monkey"');
474
});
475
476
it('should not control defaultValue if readding options', () => {
packages/react-dom/src/server/DOMMarkupOperations.js
+1
-1
@@ -90,7 +90,7 @@ export function createMarkupForProperty(name, value) {
90
propertyInfo.hasBooleanValue ||
91
(propertyInfo.hasOverloadedBooleanValue && value === true)
92
) {
93
- return attributeName + '=""';
93
+ return attributeName;
94
} else if (
95
typeof value !== 'boolean' ||
96
shouldAttributeAcceptBooleanValue(name)