import { compile } from '../../../packages/weex-template-compiler'
describe('compile basic', () => {
it('should be compiled', () => {
const { render, staticRenderFns, errors } = compile(`
{{hi}}
`)
expect(render).toEqual(`with(this){return _c('div',[_v(_s(hi))])}`)
expect(staticRenderFns.length).toBe(0)
expect(errors).toEqual([])
})
it('should compile data bindings', () => {
const { render, staticRenderFns, errors } = compile(``)
expect(render).toEqual(`with(this){return _c('div',{attrs:{"a":b}})}`)
expect(staticRenderFns).toEqual([])
expect(errors).toEqual([])
})
it('should compile event bindings', () => {
const { render, staticRenderFns, errors } = compile(``)
expect(render).toEqual(`with(this){return _c('div',{on:{"click":x}})}`)
expect(staticRenderFns).toEqual([])
expect(errors).toEqual([])
})
it('should compile data bindings with children', () => {
const { render, staticRenderFns, errors } = compile(`Hello`)
expect(render).toEqual(`with(this){return _c('foo',{attrs:{"a":b}},[_c('text',[_v("Hello")])])}`)
expect(staticRenderFns).toEqual([])
expect(errors).toEqual([])
})
it('should compile more complex situation', () => {
// from examples of https://github.com/alibaba/weex
const { render, staticRenderFns, errors } = compile(`
Load more...
`)
expect(render).toEqual(`with(this){return _c('refresh',{staticClass:["refresh"],staticStyle:{flexDirection:"row"},attrs:{"display":displayRefresh},on:{"refresh":handleRefresh}},[_c('loading-indicator'),_c('text',{staticStyle:{marginLeft:"36px",color:"#eee"}},[_v("Load more...")])],1)}`)
expect(staticRenderFns).toEqual([])
expect(errors).toEqual([])
})
})