mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
28672096a2
This commit merges two nested ifs and explicitly joins an array instead of relying on array -> string coercion
157 lines
5.0 KiB
Plaintext
157 lines
5.0 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`refs basic use 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
|
|
let block1 = createBlock(\`<div block-ref=\\"0\\"/>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let ref1 = (el) => this.__owl__.setRef((\`div\`), el);
|
|
return block1([ref1]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs can use 2 refs with same name in a t-if/t-else situation 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
|
|
let block2 = createBlock(\`<div block-ref=\\"0\\"/>\`);
|
|
let block3 = createBlock(\`<span block-ref=\\"0\\"/>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2, b3;
|
|
if (ctx['state'].value) {
|
|
let ref1 = (el) => this.__owl__.setRef((\`coucou\`), el);
|
|
b2 = block2([ref1]);
|
|
} else {
|
|
let ref2 = (el) => this.__owl__.setRef((\`coucou\`), el);
|
|
b3 = block3([ref2]);
|
|
}
|
|
return multi([b2, b3]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs ref is unset when t-if goes to false after unrelated render 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
|
|
let block2 = createBlock(\`<div block-attribute-0=\\"class\\" block-ref=\\"1\\"/>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2;
|
|
if (ctx['state'].show) {
|
|
let attr1 = ctx['state'].class;
|
|
let ref1 = (el) => this.__owl__.setRef((\`coucou\`), el);
|
|
b2 = block2([attr1, ref1]);
|
|
}
|
|
return multi([b2]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs refs and recursive templates 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
const comp1 = app.createComponent(\`Test\`, true, false, false, [\\"tree\\"]);
|
|
|
|
let block1 = createBlock(\`<p block-ref=\\"0\\"><block-text-1/><block-child-0/></p>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2;
|
|
let ref1 = (el) => this.__owl__.setRef((\`root\`), el);
|
|
let txt1 = ctx['props'].tree.value;
|
|
if (ctx['props'].tree.child) {
|
|
b2 = comp1({tree: ctx['props'].tree.child}, key + \`__1\`, node, this, null);
|
|
}
|
|
return block1([ref1, txt1], [b2]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs refs and t-key 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
|
|
let block2 = createBlock(\`<button block-handler-0=\\"click\\"/>\`);
|
|
let block3 = createBlock(\`<p block-ref=\\"0\\"/>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
const v1 = ctx['state'];
|
|
let hdlr1 = [()=>v1.renderId++, ctx];
|
|
const b2 = block2([hdlr1]);
|
|
const tKey_1 = ctx['state'].renderId;
|
|
let ref1 = (el) => this.__owl__.setRef((\`root\`), el);
|
|
const b3 = toggler(tKey_1, block3([ref1]));
|
|
return multi([b2, b3]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs refs are properly bound in slots 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
let { capture, markRaw } = helpers;
|
|
const comp1 = app.createComponent(\`Dialog\`, true, true, false, []);
|
|
|
|
let block1 = createBlock(\`<div><span class=\\"counter\\"><block-text-0/></span><block-child-0/></div>\`);
|
|
let block2 = createBlock(\`<button block-handler-0=\\"click\\" block-ref=\\"1\\">do something</button>\`);
|
|
|
|
function slot1(ctx, node, key = \\"\\") {
|
|
let hdlr1 = [ctx['doSomething'], ctx];
|
|
let ref1 = (el) => this.__owl__.setRef((\`myButton\`), el);
|
|
return block2([hdlr1, ref1]);
|
|
}
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let txt1 = ctx['state'].val;
|
|
const ctx1 = capture(ctx);
|
|
const b3 = comp1({slots: markRaw({'footer': {__render: slot1.bind(this), __ctx: ctx1}})}, key + \`__1\`, node, this, null);
|
|
return block1([txt1], [b3]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs refs are properly bound in slots 2`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
let { callSlot } = helpers;
|
|
|
|
let block1 = createBlock(\`<span><block-child-0/></span>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
const b2 = callSlot(ctx, node, key, 'footer', false, {});
|
|
return block1([], [b2]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`refs throws if there are 2 same refs at the same time 1`] = `
|
|
"function anonymous(app, bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, comment } = bdom;
|
|
let { makeRefWrapper } = helpers;
|
|
|
|
let block2 = createBlock(\`<div block-ref=\\"0\\"/>\`);
|
|
let block3 = createBlock(\`<span block-ref=\\"0\\"/>\`);
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let refWrapper = makeRefWrapper(this.__owl__);
|
|
let ref1 = refWrapper(\`coucou\`, (el) => this.__owl__.setRef((\`coucou\`), el));
|
|
const b2 = block2([ref1]);
|
|
let ref2 = refWrapper(\`coucou\`, (el) => this.__owl__.setRef((\`coucou\`), el));
|
|
const b3 = block3([ref2]);
|
|
return multi([b2, b3]);
|
|
}
|
|
}"
|
|
`;
|