提交 d7797da8 编写于 作者: fxy060608's avatar fxy060608

chore(cli): update tests

上级 71748694
...@@ -172,7 +172,7 @@ describe('codegen', () => { ...@@ -172,7 +172,7 @@ describe('codegen', () => {
) )
assertCodegen( assertCodegen(
'<image src="../static/logo.png"/>', '<image src="../static/logo.png"/>',
`with(this){return _c('image',{attrs:{"src":_$s(0,'a-src',"/"+require("../static/logo.png")),"_i":0}})}` `with(this){return _c('image',{attrs:{"src":_$s(0,'a-src',require("../static/logo.png")),"_i":0}})}`
) )
assertCodegen( assertCodegen(
'<image src="@/static/logo.png"/>', '<image src="@/static/logo.png"/>',
......
...@@ -16,7 +16,7 @@ function assertCodegen (template, templateCode, renderCode = 'with(this){}', opt ...@@ -16,7 +16,7 @@ function assertCodegen (template, templateCode, renderCode = 'with(this){}', opt
renderCode(res) renderCode(res)
} else { } else {
expect(res.render).toBe(renderCode) expect(res.render).toBe(renderCode)
} }
} }
describe('mp:compiler-mp-weixin', () => { describe('mp:compiler-mp-weixin', () => {
...@@ -72,7 +72,7 @@ describe('mp:compiler-mp-weixin', () => { ...@@ -72,7 +72,7 @@ describe('mp:compiler-mp-weixin', () => {
}) })
it('generate scoped slot', () => { it('generate scoped slot', () => {
assertCodegen(// TODO vue-id assertCodegen( // TODO vue-id
'<span><slot v-bind:user="user">{{ user.lastName }}</slot></span>', '<span><slot v-bind:user="user">{{ user.lastName }}</slot></span>',
'<label class="_span"><block wx:if="{{$slots.default}}"><scoped-slots-default user="{{user}}" bind:__l="__l"></scoped-slots-default></block><block wx:else>{{user.lastName}}</block></label>', '<label class="_span"><block wx:if="{{$slots.default}}"><scoped-slots-default user="{{user}}" bind:__l="__l"></scoped-slots-default></block><block wx:else>{{user.lastName}}</block></label>',
function (res) { function (res) {
...@@ -86,11 +86,31 @@ describe('mp:compiler-mp-weixin', () => { ...@@ -86,11 +86,31 @@ describe('mp:compiler-mp-weixin', () => {
expect(res.componentGenerics['scoped-slots-header']).toBe(true) expect(res.componentGenerics['scoped-slots-header']).toBe(true)
} }
) )
}) })
it('generate page-meta', () => { it('generate page-meta', () => {
assertCodegen(// TODO vue-id assertCodegen( // TODO vue-id
'<view><page-meta/><view><button></button></view></view>', '<view><page-meta/><view><button></button></view></view>',
'<page-meta vue-id="551070e6-1" bind:__l="__l"></page-meta><view><button></button></view>' '<page-meta vue-id="551070e6-1" bind:__l="__l"></page-meta><view><button></button></view>'
) )
})
it('generate v-slot', () => {
assertCodegen(
`<view>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view class="red">{{label}}</view>
</slot-comp>
</view>`,
'<view><slot-comp generic:scoped-slots-test="test-slot-comp-test" vue-id="551070e6-1" bind:__l="__l" vue-slots="{{[\'test\']}}"></slot-comp><slot-comp generic:scoped-slots-test="test-slot-comp-test1" vue-id="551070e6-2" bind:__l="__l" vue-slots="{{[\'test\']}}"></slot-comp><slot-comp generic:scoped-slots-test="test-slot-comp-test2" vue-id="551070e6-3" bind:__l="__l" vue-slots="{{[\'test\']}}"></slot-comp><slot-comp generic:scoped-slots-test="test-slot-comp-test3" vue-id="551070e6-4" bind:__l="__l" vue-slots="{{[\'test\']}}"></slot-comp></view>'
)
}) })
}) })
...@@ -19,7 +19,20 @@ const scopedPath = path.resolve(__dirname, '../../') ...@@ -19,7 +19,20 @@ const scopedPath = path.resolve(__dirname, '../../')
const compiler = require('../lib') const compiler = require('../lib')
const res = compiler.compile( const res = compiler.compile(
` `
<video controls=""/> <view>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view>{{label}}</view>
</slot-comp>
<slot-comp v-slot:test="{label}">
<view class="red">{{label}}</view>
</slot-comp>
</view>
`, { `, {
miniprogram: true, miniprogram: true,
resourcePath: '/User/fxy/Documents/test.wxml', resourcePath: '/User/fxy/Documents/test.wxml',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册