Skip to content
Merged
7 changes: 6 additions & 1 deletion src/testing/html-serializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,12 @@ function serializeElementWithShadow(
if (elem.attributes) {
for (let i = 0; i < elem.attributes.length; i++) {
const attr = elem.attributes[i];
html += ` ${attr.name}="${attr.value}"`;
// Boolean attributes (empty string value) should not have ="value"
if (attr.value === '') {
html += ` ${attr.name}`;
} else {
html += ` ${attr.name}="${attr.value}"`;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ exports[`my-button - snapshot tests > should match snapshot for card with nested
exports[`my-button - snapshot tests > should match snapshot for disabled button 1`] = `
<my-button class="hydrated">
<mock:shadow-root>
<button class="button button--primary button--medium" disabled="" type="button">
<button class="button button--primary button--medium" disabled type="button">
<slot></slot>
</button>
</mock:shadow-root>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ describe('my-button - custom matchers', () => {
expect(root).toEqualHtml(`
<my-button class="hydrated">
<mock:shadow-root>
<button class="button button--primary button--medium" disabled="" type="button">
<button class="button button--primary button--medium" disabled type="button">
<slot></slot>
</button>
</mock:shadow-root>
Expand Down
16 changes: 8 additions & 8 deletions test-project/src/components/non-shadow/non-shadow-jsdom.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,23 @@ describe('non-shadow-component serialization', () => {
<non-shadow-component class="sc-non-shadow-component-h hydrated">
<div class="wrapper sc-non-shadow-component">
<div class="header sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb name="header" class="sc-non-shadow-component" hidden="">
<slot-fb name="header" class="sc-non-shadow-component" hidden>
Default Header
</slot-fb>
<span slot="header">
Custom Header
</span>
</div>
<div class="content sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb class="sc-non-shadow-component" hidden="">
<slot-fb class="sc-non-shadow-component" hidden>
Default Content
</slot-fb>
<p>
Custom Content
</p>
</div>
<div class="footer sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb name="footer" class="sc-non-shadow-component" hidden="">
<slot-fb name="footer" class="sc-non-shadow-component" hidden>
Default Footer
</slot-fb>
<span slot="footer">
Expand Down Expand Up @@ -88,7 +88,7 @@ describe('non-shadow-component serialization', () => {
<non-shadow-component class="sc-non-shadow-component-h hydrated">
<div class="wrapper sc-non-shadow-component">
<div class="header sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb name="header" class="sc-non-shadow-component" hidden="">
<slot-fb name="header" class="sc-non-shadow-component" hidden>
Default Header
</slot-fb>
<span slot="header">
Expand Down Expand Up @@ -137,7 +137,7 @@ describe('non-shadow-component serialization', () => {
</slot-fb>
</div>
<div class="content sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb class="sc-non-shadow-component" hidden="">
<slot-fb class="sc-non-shadow-component" hidden>
Default Content
</slot-fb>
<span>
Expand Down Expand Up @@ -207,7 +207,7 @@ describe('non-shadow-component serialization', () => {
<non-shadow-component class="sc-non-shadow-component-h hydrated">
<div class="wrapper sc-non-shadow-component">
<div class="header sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb name="header" class="sc-non-shadow-component" hidden="">
<slot-fb name="header" class="sc-non-shadow-component" hidden>
Default Header
</slot-fb>
<non-shadow-component slot="header" class="sc-non-shadow-component-h hydrated">
Expand All @@ -218,7 +218,7 @@ describe('non-shadow-component serialization', () => {
</slot-fb>
</div>
<div class="content sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb class="sc-non-shadow-component" hidden="">
<slot-fb class="sc-non-shadow-component" hidden>
Default Content
</slot-fb>
<span>
Expand All @@ -234,7 +234,7 @@ describe('non-shadow-component serialization', () => {
</non-shadow-component>
</div>
<div class="content sc-non-shadow-component sc-non-shadow-component-s">
<slot-fb class="sc-non-shadow-component" hidden="">
<slot-fb class="sc-non-shadow-component" hidden>
Default Content
</slot-fb>
<p>
Expand Down