add check for boolean attribute in ssr binding

pull/4559/head
Jonniek 6 years ago
parent c35167d6a2
commit ce991e7a64

@ -124,7 +124,7 @@ export default function(node: Element, renderer: Renderer, options: RenderOption
node_contents = x`${snippet} || ""`; node_contents = x`${snippet} || ""`;
} else { } else {
const snippet = expression.node; const snippet = expression.node;
renderer.add_expression(x`@add_attribute("${name}", ${snippet}, 0)`); renderer.add_expression(x`@add_attribute("${name}", ${snippet}, ${boolean_attributes.has(name) ? 1 : 0})`);
} }
}); });

@ -11,18 +11,6 @@ export default {
</div> </div>
`, `,
ssrHtml: `
<div>
<input type="checkbox" checked="false"><p>one</p>
</div>
<div>
<input type="checkbox" checked="false"><p>two</p>
</div>
<div>
<input type="checkbox" checked="false"><p>three</p>
</div>
`,
async test({ assert, component, target, window }) { async test({ assert, component, target, window }) {
const inputs = [ ...target.querySelectorAll('input') ]; const inputs = [ ...target.querySelectorAll('input') ];

@ -25,10 +25,10 @@ export default {
<input type="checkbox" checked><p>one</p> <input type="checkbox" checked><p>one</p>
</div> </div>
<div> <div>
<input type="checkbox" checked="false"><p>two</p> <input type="checkbox"><p>two</p>
</div> </div>
<div> <div>
<input type="checkbox" checked="false"><p>three</p> <input type="checkbox"><p>three</p>
</div> </div>
<p>1 completed</p> <p>1 completed</p>
`, `,

@ -17,11 +17,6 @@ export default {
<input type="checkbox"> <input type="checkbox">
`, `,
ssrHtml: `
<input type="checkbox" checked="false">
<input type="checkbox" checked="false">
`,
test({ assert, component, target, window }) { test({ assert, component, target, window }) {
const { cats } = component; const { cats } = component;
const newCats = cats.slice(); const newCats = cats.slice();

@ -26,7 +26,7 @@ export default {
ssrHtml: ` ssrHtml: `
<div> <div>
<input type="checkbox" checked="false"> <input type="checkbox">
<input type="text" value=one><p>one</p> <input type="text" value=one><p>one</p>
</div> </div>
<div> <div>
@ -34,7 +34,7 @@ export default {
<input type="text" value=two><p>two</p> <input type="text" value=two><p>two</p>
</div> </div>
<div> <div>
<input type="checkbox" checked="false"> <input type="checkbox">
<input type="text" value=three><p>three</p> <input type="text" value=three><p>three</p>
</div> </div>

@ -28,7 +28,7 @@ export default {
</div> </div>
<div class="todo "> <div class="todo ">
<input type="checkbox" checked="false"> <input type="checkbox">
<input type="text" value="Find life's true purpose"> <input type="text" value="Find life's true purpose">
</div> </div>
`, `,

Loading…
Cancel
Save