const compiler = require('../lib') function assertCodegen (template, templateCode, renderCode = `with(this){}`, options = {}) { const res = compiler.compile(template, { resourcePath: 'test.wxml', mp: Object.assign({ minified: true, isTest: true, platform: 'mp-alipay' }, options) }) expect(res.template).toBe(templateCode) expect(res.render).toBe(renderCode) } describe('mp:compiler-mp-alipay', () => { it('generate v-for directive', () => { assertCodegen( '', `` ) }) it('generate v-else-if with v-else directive', () => { assertCodegen( 'helloworldbye', `helloworldbye` ) }) it('generate ref', () => { assertCodegen( 'text', `text` ) assertCodegen( 'text123213', `text123213` ) assertCodegen( '', `` ) assertCodegen( '', `` ) }) it('generate default slot', () => { assertCodegen( 'text', `text` ) assertCodegen( 'text123213', `text123213` ) assertCodegen( 'text', `text` ) }) it('generate class binding', () => { assertCodegen( '
1
', `1` ) assertCodegen( `

2

`, `2` ) assertCodegen( '

3

', `3` ) assertCodegen( `

4

`, `4` ) assertCodegen( `

5

`, `5` ) assertCodegen( `
6
`, `6` ) // assertCodegen( // `
6
`, // `6`, // `with(this){var c0=__get_class(computedClassObject,"container");$mp.data=Object.assign({},{$root:{c0:c0}})}` // ) assertCodegen( `

7

`, `7` ) assertCodegen( `

8

`, `8` ) assertCodegen( `

9

`, `9` ) }) it('generate events with v-on directive', () => { assertCodegen( ``, ``, `with(this){var a0={color:"#4cd964",size:"22",type:"spinner"};$mp.data=Object.assign({},{$root:{a0:a0}})}` ) assertCodegen( ``, `` ) assertCodegen( `
`, `
` ) assertCodegen( ``, `` ) assertCodegen( ``, `` ) assertCodegen( ``, `` ) assertCodegen( ``, `` ) }) })