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-weixin' }, options) }) expect(res.template).toBe(templateCode) if (typeof renderCode === 'function') { renderCode(res) } else { expect(res.render).toBe(renderCode) } } describe('mp:compiler-mp-weixin', () => { it('generate scoped slot', () => { assertCodegen( '', '', function (res) { expect(res.generic[0]).toBe('test-foo-default') } ) assertCodegen( '{{ bar.foo }}', '', function (res) { expect(res.generic[0]).toBe('test-foo-default') } ) assertCodegen( '日期', '', function (res) { expect(res.generic[0]).toBe('test-uni-clientdb-default') const wxmlKey = Object.keys(res.files)[0] expect(res.files[wxmlKey]).toBe( '日期' ) } ) }) it('generate named scoped slot', () => { assertCodegen( '', '', function (res) { expect(res.generic[0]).toBe('test-foo-foo') } ) assertCodegen( '{{ bar.foo }}', '', function (res) { expect(res.generic[0]).toBe('test-foo-foo') } ) }) it('generate scoped slot with multiline v-if', () => { assertCodegen( '', '', function (res) { expect(res.generic[0]).toBe('test-foo-default') } ) assertCodegen( '{{ bar.foo }}', '', function (res) { expect(res.generic[0]).toBe('test-foo-foo') } ) }) it('generate scoped slot with filter', () => { assertCodegen( '