import * as assert from 'power-assert' import { delay, minify } from './utils' import { atto } from '../src/atto' import { currentOnly } from '../src/currentOnly' import { x } from '../src/x' beforeEach(() => { document.body.innerHTML = '' }) test('Lifecycle', async () => { const targets: any = {} const htmls: any = {} const onRemove = currentOnly(async (context, detail, props, event) => { targets.remove = event.currentTarget htmls.remove = document.body.innerHTML await delay(10) detail.done() }) const onCreate = currentOnly(async (context, detail, props, event) => { targets.create = event.currentTarget htmls.create = document.body.innerHTML await delay(10) return { clazz: "foo" } }) const onUpdate = currentOnly((context, detail, props, event) => { targets.update = event.currentTarget htmls.update = document.body.innerHTML return { display: false } }) const onDestroy = currentOnly((context, detail, props, event) => { targets.destroy = event.currentTarget htmls.destroy = document.body.innerHTML assert(event.currentTarget === targets.create) assert(event.currentTarget === targets.remove) assert(event.currentTarget === targets.update) }) const view = ({ xa: { context }, ...props }, children) => (