// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`animations t-transition combined with component 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"Parent\\"
    let utils = this.constructor.utils;
    let QWeb = this.constructor;
    let parent = context;
    let scope = Object.create(context);
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('div', p1, c1);
    // Component 'Child'
    let w2 = '__3__' in parent.__owl__.cmap ? parent.__owl__.children[parent.__owl__.cmap['__3__']] : false;
    let props2 = {};
    if (w2 && w2.__owl__.currentFiber && !w2.__owl__.vnode) {
        w2.destroy();
        w2 = false;
    }
    if (w2) {
        w2.__updateProps(props2, extra.fiber, undefined);
        let pvnode = w2.__owl__.pvnode;
        c1.push(pvnode);
    } else {
        let componentKey2 = \`Child\`;
        let W2 = context.constructor.components[componentKey2] || QWeb.components[componentKey2]|| scope['Child'];
        if (!W2) {throw new Error('Cannot find the definition of component \\"' + componentKey2 + '\\"')}
        w2 = new W2(parent, props2);
        const __patch2 = w2.__patch;
        w2.__patch = (t, vn) => {__patch2.call(w2, t, vn); if(!w2.__owl__.transitionInserted){w2.__owl__.transitionInserted = true;utils.transitionInsert(w2.__owl__.vnode, 'chimay');}};
        parent.__owl__.cmap['__3__'] = w2.__owl__.id;
        let fiber = w2.__prepare(extra.fiber, undefined, () => { const vnode = fiber.vnode; pvnode.sel = vnode.sel; });
        let pvnode = h('dummy', {key: '__3__', hook: {remove() {},destroy(vn) {let finalize = () => {
          w2.destroy();
        };
        delete w2.__owl__.transitionInserted;
        utils.transitionRemove(vn, 'chimay', finalize);}}});
        c1.push(pvnode);
        w2.__owl__.pvnode = pvnode;
    }
    w2.__owl__.parentLastFiberId = extra.fiber.id;
    return vn1;
}"
`;

exports[`animations t-transition combined with t-component and t-if 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"Parent\\"
    let utils = this.constructor.utils;
    let QWeb = this.constructor;
    let parent = context;
    let scope = Object.create(context);
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('div', p1, c1);
    if (scope['state'].display) {
        // Component 'Child'
        let w2 = '__3__' in parent.__owl__.cmap ? parent.__owl__.children[parent.__owl__.cmap['__3__']] : false;
        let props2 = {};
        if (w2 && w2.__owl__.currentFiber && !w2.__owl__.vnode) {
            w2.destroy();
            w2 = false;
        }
        if (w2) {
            w2.__updateProps(props2, extra.fiber, undefined);
            let pvnode = w2.__owl__.pvnode;
            c1.push(pvnode);
        } else {
            let componentKey2 = \`Child\`;
            let W2 = context.constructor.components[componentKey2] || QWeb.components[componentKey2]|| scope['Child'];
            if (!W2) {throw new Error('Cannot find the definition of component \\"' + componentKey2 + '\\"')}
            w2 = new W2(parent, props2);
            const __patch2 = w2.__patch;
            w2.__patch = (t, vn) => {__patch2.call(w2, t, vn); if(!w2.__owl__.transitionInserted){w2.__owl__.transitionInserted = true;utils.transitionInsert(w2.__owl__.vnode, 'chimay');}};
            parent.__owl__.cmap['__3__'] = w2.__owl__.id;
            let fiber = w2.__prepare(extra.fiber, undefined, () => { const vnode = fiber.vnode; pvnode.sel = vnode.sel; });
            let pvnode = h('dummy', {key: '__3__', hook: {remove() {},destroy(vn) {let finalize = () => {
          w2.destroy();
        };
        delete w2.__owl__.transitionInserted;
        utils.transitionRemove(vn, 'chimay', finalize);}}});
            c1.push(pvnode);
            w2.__owl__.pvnode = pvnode;
        }
        w2.__owl__.parentLastFiberId = extra.fiber.id;
    }
    return vn1;
}"
`;

exports[`animations t-transition combined with t-component, remove and re-add before transitionend 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"__template__2\\"
    let utils = this.constructor.utils;
    let QWeb = this.constructor;
    let parent = context;
    let scope = Object.create(context);
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('div', p1, c1);
    if (scope['state'].flag) {
        // Component 'Child'
        let w2 = '__3__' in parent.__owl__.cmap ? parent.__owl__.children[parent.__owl__.cmap['__3__']] : false;
        let props2 = {};
        if (w2 && w2.__owl__.currentFiber && !w2.__owl__.vnode) {
            w2.destroy();
            w2 = false;
        }
        if (w2) {
            w2.__updateProps(props2, extra.fiber, undefined);
            let pvnode = w2.__owl__.pvnode;
            c1.push(pvnode);
        } else {
            let componentKey2 = \`Child\`;
            let W2 = context.constructor.components[componentKey2] || QWeb.components[componentKey2]|| scope['Child'];
            if (!W2) {throw new Error('Cannot find the definition of component \\"' + componentKey2 + '\\"')}
            w2 = new W2(parent, props2);
            const __patch2 = w2.__patch;
            w2.__patch = (t, vn) => {__patch2.call(w2, t, vn); if(!w2.__owl__.transitionInserted){w2.__owl__.transitionInserted = true;utils.transitionInsert(w2.__owl__.vnode, 'chimay');}};
            parent.__owl__.cmap['__3__'] = w2.__owl__.id;
            let fiber = w2.__prepare(extra.fiber, undefined, () => { const vnode = fiber.vnode; pvnode.sel = vnode.sel; });
            let pvnode = h('dummy', {key: '__3__', hook: {remove() {},destroy(vn) {let finalize = () => {
          w2.destroy();
        };
        delete w2.__owl__.transitionInserted;
        utils.transitionRemove(vn, 'chimay', finalize);}}});
            c1.push(pvnode);
            w2.__owl__.pvnode = pvnode;
        }
        w2.__owl__.parentLastFiberId = extra.fiber.id;
    }
    return vn1;
}"
`;

exports[`animations t-transition with no delay/duration 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"test\\"
    let utils = this.constructor.utils;
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('span', p1, c1);
    p1.hook = {
      insert: vn => {
        utils.transitionInsert(vn, 'jupiler');
      },
      remove: (vn, rm) => {
        utils.transitionRemove(vn, 'jupiler', rm);
      },
    };
    c1.push({text: \`blue\`});
    return vn1;
}"
`;

exports[`animations t-transition, on a simple node (insert) 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"test\\"
    let utils = this.constructor.utils;
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('span', p1, c1);
    p1.hook = {
      insert: vn => {
        utils.transitionInsert(vn, 'chimay');
      },
      remove: (vn, rm) => {
        utils.transitionRemove(vn, 'chimay', rm);
      },
    };
    c1.push({text: \`blue\`});
    return vn1;
}"
`;

exports[`animations t-transition, on a simple node, not in the DOM 1`] = `
"function anonymous(context, extra
) {
    // Template name: \\"test\\"
    let utils = this.constructor.utils;
    let h = this.h;
    let c1 = [], p1 = {key:1};
    let vn1 = h('span', p1, c1);
    p1.hook = {
      insert: vn => {
        utils.transitionInsert(vn, 'chimay');
      },
      remove: (vn, rm) => {
        utils.transitionRemove(vn, 'chimay', rm);
      },
    };
    c1.push({text: \`blue\`});
    return vn1;
}"
`;
