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

exports[`t-on t-on expression captured in t-foreach 1`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div><block-child-0/></div>\`);
  let block3 = createBlock(\`<div><button block-handler-0=\\"click\\">expr</button></div>\`);
  
  return function template(ctx, node, key = \\"\\") {
    ctx = Object.create(ctx);
    ctx[isBoundary] = 1
    setContextValue(ctx, \\"iter\\", 0);
    ctx = Object.create(ctx);
    const [k_block2, v_block2, l_block2, c_block2] = prepareList(ctx['arr']);
    for (let i1 = 0; i1 < l_block2; i1++) {
      ctx[\`val\`] = v_block2[i1];
      let key1 = ctx['val'];
      const v1 = ctx['otherState'];
      const v2 = ctx['iter'];
      let d1 = (e) => {const res = (() => { return v1.vals.push(v2+'_'+v2) })(); if (typeof res === 'function') { res(e) }};
      setContextValue(ctx, \\"iter\\", ctx['iter']+1);
      c_block2[i1] = withKey(block3([d1]), key1);
    }
    let b2 = list(c_block2);
    return block1([], [b2]);
  }
}"
`;

exports[`t-on t-on expression in t-foreach 1`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div><block-child-0/></div>\`);
  let block3 = createBlock(\`<div><block-text-0/>: <block-text-1/><button block-handler-2=\\"click\\">Expr</button></div>\`);
  
  return function template(ctx, node, key = \\"\\") {
    ctx = Object.create(ctx);
    const [k_block2, v_block2, l_block2, c_block2] = prepareList(ctx['state'].values);
    for (let i1 = 0; i1 < l_block2; i1++) {
      ctx[\`val\`] = v_block2[i1];
      ctx[\`val_index\`] = i1;
      let key1 = ctx['val'];
      let d1 = ctx['val_index'];
      let d2 = ctx['val']+'';
      const v1 = ctx['otherState'];
      const v2 = ctx['val'];
      let d3 = (e) => {const res = (() => { return v1.vals.push(v2) })(); if (typeof res === 'function') { res(e) }};
      c_block2[i1] = withKey(block3([d1, d2, d3]), key1);
    }
    let b2 = list(c_block2);
    return block1([], [b2]);
  }
}"
`;

exports[`t-on t-on expression in t-foreach with t-set 1`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div><block-child-0/></div>\`);
  let block3 = createBlock(\`<div><block-text-0/>: <block-text-1/><button block-handler-2=\\"click\\">Expr</button></div>\`);
  
  return function template(ctx, node, key = \\"\\") {
    ctx = Object.create(ctx);
    ctx[isBoundary] = 1
    setContextValue(ctx, \\"bossa\\", 'nova');
    ctx = Object.create(ctx);
    const [k_block2, v_block2, l_block2, c_block2] = prepareList(ctx['state'].values);
    for (let i1 = 0; i1 < l_block2; i1++) {
      ctx[\`val\`] = v_block2[i1];
      ctx[\`val_index\`] = i1;
      let key1 = ctx['val'];
      setContextValue(ctx, \\"bossa\\", ctx['bossa']+'_'+ctx['val_index']);
      let d1 = ctx['val_index'];
      let d2 = ctx['val']+'';
      const v1 = ctx['otherState'];
      const v2 = ctx['val'];
      const v3 = ctx['bossa'];
      let d3 = (e) => {const res = (() => { return v1.vals.push(v2+'_'+v3) })(); if (typeof res === 'function') { res(e) }};
      c_block2[i1] = withKey(block3([d1, d2, d3]), key1);
    }
    let b2 = list(c_block2);
    return block1([], [b2]);
  }
}"
`;

exports[`t-on t-on method call in t-foreach 1`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div><block-child-0/></div>\`);
  let block3 = createBlock(\`<div><block-text-0/>: <block-text-1/><button block-handler-2=\\"click\\">meth call</button></div>\`);
  
  return function template(ctx, node, key = \\"\\") {
    ctx = Object.create(ctx);
    const [k_block2, v_block2, l_block2, c_block2] = prepareList(ctx['state'].values);
    for (let i1 = 0; i1 < l_block2; i1++) {
      ctx[\`val\`] = v_block2[i1];
      ctx[\`val_index\`] = i1;
      let key1 = ctx['val'];
      let d1 = ctx['val_index'];
      let d2 = ctx['val']+'';
      const arg1 = [ctx['val']];
      let d3 = [ctx, 'addVal', arg1];
      c_block2[i1] = withKey(block3([d1, d2, d3]), key1);
    }
    let b2 = list(c_block2);
    return block1([], [b2]);
  }
}"
`;

exports[`t-on t-on on destroyed components 1`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div block-handler-0=\\"click\\"/>\`);
  
  return function template(ctx, node, key = \\"\\") {
    let d1 = [ctx, 'onClick'];
    return block1([d1]);
  }
}"
`;

exports[`t-on t-on on destroyed components 2`] = `
"function anonymous(bdom, helpers
) {
  let { text, createBlock, list, multi, html, toggler, component } = bdom;
  let { withDefault, getTemplate, prepareList, withKey, zero, call, callSlot, capture, isBoundary, shallowEqual, setContextValue } = helpers;
  
  let block1 = createBlock(\`<div><block-child-0/></div>\`);
  
  return function template(ctx, node, key = \\"\\") {
    let b2;
    if (ctx['state'].flag) {
      b2 = component(\`Child\`, {}, key + \`__1\`, node, ctx);
    }
    return block1([], [b2]);
  }
}"
`;
