import { assert } from './testUtils'
import { customElements } from '../src/compiler/options'
describe('mp-weixin: transform component', () => {
test(`Components start with wx`, () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
})
test(`component with v-show`, () => {
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.ok }
}`
)
})
test(`built-in component`, () => {
const code = customElements.map((tag) => `<${tag}/>`).join('')
assert(
code,
code,
`(_ctx, _cache) => {
return {}
}`
)
})
test('lazy element: input', () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.type }
}`
)
})
test('lazy element: textarea', () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.input) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.text, b: _o($event => _ctx.text = $event.detail.value) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return _e({ a: _ctx.ok1 }, _ctx.ok1 ? { b: _o(_ctx.input) } : _ctx.ok2 ? {} : { d: _o(_ctx.input) }, { c: _ctx.ok2 })
}`
)
})
test('lazy element: editor', () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.ready) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return _e({ a: _ctx.ok1 }, _ctx.ok1 ? { b: _o(_ctx.ready) } : _ctx.ok2 ? {} : {}, { c: _ctx.ok2 })
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return _e({ a: _ctx.ok1 }, _ctx.ok1 ? { b: _o(_ctx.ready) } : _ctx.ok2 ? {} : { d: _o(_ctx.ready) }, { c: _ctx.ok2 })
}`
)
})
test('lazy element: canvas', () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.id }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.id }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.touchstart) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.touchmove) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.touchcancel) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.touchend) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _ctx.id, b: _ctx.id }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return _e({ a: _ctx.ok1 }, _ctx.ok1 ? { b: _ctx.id } : _ctx.ok2 ? {} : {}, { c: _ctx.ok2 })
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return _e({ a: _ctx.ok1 }, _ctx.ok1 ? { b: _ctx.id } : _ctx.ok2 ? {} : { d: _ctx.id }, { c: _ctx.ok2 })
}`
)
})
test('lazy element: scroll-view', () => {
assert(
``,
``,
`(_ctx, _cache) => {
return {}
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.d) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.d) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.d) }
}`
)
assert(
``,
``,
`(_ctx, _cache) => {
return { a: _o(_ctx.d), b: _o(_ctx.d), c: _o(_ctx.d) }
}`
)
})
})