const assert = require('assert') const hv = require('..') assert.strictEqual(hv(`
Show Me!
`), `h('div', null, (function () { if (state.bar === 1) { return h('span', null, 'Show Me!') } }.call(this))) `) assert.strictEqual(hv(`
Show Me!
`), `h('div', null, state.bar === 1 ? h('span', null, 'Show Me!') : undefined) `) assert.strictEqual(hv(`
odd even
`), `h('div', null, (function () { if (state.bar % 2) { return h('span', null, 'odd') } else { return h('span', null, 'even') } }.call(this))) `) assert.strictEqual(hv(`
1 2
`), `h('div', null, (function () { if (state.bar === 1) { return h('span', null, '1') } else if (state.bar === 2) { return h('span', null, '2') } }.call(this))) `) assert.strictEqual(hv(`
1 2 bar is neither 1 or 2, it's {state.bar}!
`), `h('div', null, (function () { if (state.bar === 1) { return h('span', null, '1') } else if (state.bar === 2) { return h('span', null, '2') } else { return h('span', null, "bar is neither 1 or 2, it's " + (state.bar) + '!') } }.call(this))) `) assert.strictEqual(hv(`
foo1 bar1 bar2 foo2 foo3 Default
`), `h('section', null, (function () { if (state.foo === 1) { return [ h('span', null, 'foo1'), (function () { if (state.bar === 1) { return h('span', null, 'bar1') } else { return h('span', null, 'bar2') } }.call(this)) ] } else if (state.foo === 2) { return h('span', null, 'foo2') } else if (state.foo === 3) { return h('span', null, 'foo3') } else { return 'Default' } }.call(this))) `)