@samitouri / QOS-React / commits / e0c3113743

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)