mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
wip [FIX] parser: account for CR/LF text nodes
This commit is contained in:
@@ -342,14 +342,20 @@ exports[`attributes from object variables set previously 1`] = `
|
||||
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
||||
let { isBoundary, withDefault, setContextValue } = helpers;
|
||||
|
||||
let block1 = createBlock(\`<div><span block-attribute-0=\\"class\\"/></div>\`);
|
||||
let block3 = createBlock(\`<div>
|
||||
|
||||
<span block-attribute-0=\\"class\\"/>
|
||||
</div>\`);
|
||||
|
||||
return function template(ctx, node, key = \\"\\") {
|
||||
ctx = Object.create(ctx);
|
||||
ctx[isBoundary] = 1
|
||||
const b2 = text(\`
|
||||
\`);
|
||||
setContextValue(ctx, \\"o\\", {a:'b'});
|
||||
let attr1 = ctx['o'].a;
|
||||
return block1([attr1]);
|
||||
const b3 = block3([attr1]);
|
||||
return multi([b2, b3]);
|
||||
}
|
||||
}"
|
||||
`;
|
||||
@@ -360,14 +366,19 @@ exports[`attributes from variables set previously (no external node) 1`] = `
|
||||
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
||||
let { isBoundary, withDefault, setContextValue } = helpers;
|
||||
|
||||
let block1 = createBlock(\`<span block-attribute-0=\\"class\\"/>\`);
|
||||
let block4 = createBlock(\`<span block-attribute-0=\\"class\\"/>\`);
|
||||
|
||||
return function template(ctx, node, key = \\"\\") {
|
||||
ctx = Object.create(ctx);
|
||||
ctx[isBoundary] = 1
|
||||
const b2 = text(\`
|
||||
\`);
|
||||
setContextValue(ctx, \\"abc\\", 'def');
|
||||
const b3 = text(\`
|
||||
\`);
|
||||
let attr1 = ctx['abc'];
|
||||
return block1([attr1]);
|
||||
const b4 = block4([attr1]);
|
||||
return multi([b2, b3, b4]);
|
||||
}
|
||||
}"
|
||||
`;
|
||||
@@ -713,13 +724,16 @@ exports[`attributes various escapes 1`] = `
|
||||
) {
|
||||
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
||||
|
||||
let block1 = createBlock(\`<div foo=\\"<foo\\" block-attribute-0=\\"bar\\" block-attribute-1=\\"baz\\" block-attributes=\\"2\\"/>\`);
|
||||
let block3 = createBlock(\`<div foo=\\"<foo\\" block-attribute-0=\\"bar\\" block-attribute-1=\\"baz\\" block-attributes=\\"2\\"/>\`);
|
||||
|
||||
return function template(ctx, node, key = \\"\\") {
|
||||
const b2 = text(\`
|
||||
\`);
|
||||
let attr1 = ctx['bar'];
|
||||
let attr2 = \`<\${ctx['baz']}>\`;
|
||||
let attr3 = ctx['qux'];
|
||||
return block1([attr1, attr2, attr3]);
|
||||
const b3 = block3([attr1, attr2, attr3]);
|
||||
return multi([b2, b3]);
|
||||
}
|
||||
}"
|
||||
`;
|
||||
@@ -784,11 +798,18 @@ exports[`special cases for some specific html attributes/properties select with
|
||||
) {
|
||||
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
||||
|
||||
let block1 = createBlock(\`<select block-attribute-0=\\"value\\"><option value=\\"potato\\">Potato</option><option value=\\"tomato\\">Tomato</option><option value=\\"onion\\">Onion</option></select>\`);
|
||||
let block3 = createBlock(\`<select block-attribute-0=\\"value\\">
|
||||
<option value=\\"potato\\">Potato</option>
|
||||
<option value=\\"tomato\\">Tomato</option>
|
||||
<option value=\\"onion\\">Onion</option>
|
||||
</select>\`);
|
||||
|
||||
return function template(ctx, node, key = \\"\\") {
|
||||
const b2 = text(\`
|
||||
\`);
|
||||
let attr1 = ctx['value'];
|
||||
return block1([attr1]);
|
||||
const b3 = block3([attr1]);
|
||||
return multi([b2, b3]);
|
||||
}
|
||||
}"
|
||||
`;
|
||||
@@ -812,10 +833,23 @@ exports[`special cases for some specific html attributes/properties various bool
|
||||
) {
|
||||
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
||||
|
||||
let block1 = createBlock(\`<div><input type=\\"checkbox\\" checked=\\"checked\\"/><input checked=\\"checked\\"/><div checked=\\"checked\\"/><div selected=\\"selected\\"/><option selected=\\"selected\\" other=\\"1\\"/><input readonly=\\"readonly\\"/><button disabled=\\"disabled\\"/></div>\`);
|
||||
let block3 = createBlock(\`<div>
|
||||
<input type=\\"checkbox\\" checked=\\"checked\\"/>
|
||||
<input checked=\\"checked\\"/>
|
||||
<div checked=\\"checked\\"/>
|
||||
<div selected=\\"selected\\"/>
|
||||
<option selected=\\"selected\\" other=\\"1\\"/>
|
||||
<input readonly=\\"readonly\\"/>
|
||||
<button disabled=\\"disabled\\"/>
|
||||
</div>\`);
|
||||
|
||||
return function template(ctx, node, key = \\"\\") {
|
||||
return block1();
|
||||
const b2 = text(\`
|
||||
\`);
|
||||
const b3 = block3();
|
||||
const b4 = text(\`
|
||||
\`);
|
||||
return multi([b2, b3, b4]);
|
||||
}
|
||||
}"
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user