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

fix(v3): text trim

上级 ef933b99
......@@ -182,6 +182,74 @@ describe('codegen', () => {
'<image src="~@/static/logo.png"/>',
`with(this){return _c('image',{attrs:{"_i":0}})}`
)
})
it('generate text trim', () => {
assertCodegen(
'<view>text</view>',
`with(this){return _c('view')}`
)
assertCodegen(
'<view> text </view>',
`with(this){return _c('view')}`
)
assertCodegen(
'<text>{{line_one_cn+\' \'}}</text>',
`with(this){return _c('text',[_v((_$s(0,'t0-0',_s(line_one_cn+' '))))])}`
)
assertCodegen(
'<text>{{" "+line_one_cn}}</text>',
`with(this){return _c('text',[_v((_$s(0,'t0-0',_s(" "+line_one_cn))))])}`
)
assertCodegen(
'<text>\nN: {{title}}\n′</text>',
`with(this){return _c('text',[_v((_$s(0,'t0-0',_s(title))))])}`
)
assertCodegen(
'<text>我是第一行\n我的第二行</text>',
`with(this){return _c('text')}`
)
assertCodegen(
'<text>我是第一行\n我的第二行1{{title}}</text>',
`with(this){return _c('text',[_v((_$s(0,'t0-0',_s(title))))])}`
)
assertCodegen(
`<text>我是第一行
我的第二行2{{title}}</text>`,
`with(this){return _c('text',[_v((_$s(0,'t0-0',_s(title))))])}`
)
assertCodegen(
'<view> text text </view>',
`with(this){return _c('view')}`
)
assertCodegen(
'<view>text {{text}} text</view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text))))])}`
)
assertCodegen(
'<view> text {{text}} 文本 </view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text))))])}`
)
assertCodegen(
'<view>{{text}} text text </view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text))))])}`
)
assertCodegen(
'<view> {{text}} text text </view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text))))])}`
)
assertCodegen(
'<view>{{text}} text text {{text}}</view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text)))+(_$s(0,'t0-1',_s(text))))])}`
)
assertCodegen(
'<view> {{text}} text text {{text}} </view>',
`with(this){return _c('view',[_v((_$s(0,'t0-0',_s(text)))+(_$s(0,'t0-1',_s(text))))])}`
)
})
})
/* eslint-enable quotes */
......@@ -122,5 +122,73 @@ describe('codegen', () => {
`with(this){return _c('v-uni-image',{attrs:{"src":"/static/logo.png","_i":0}})}`
)
})
it('generate text trim', () => {
assertCodegen(
'<view>text</view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v("text")])}`
)
assertCodegen(
'<view> text </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v("text")])}`
)
assertCodegen(
'<text>{{line_one_cn+\' \'}}</text>',
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v((_$g(0,'t0-0')))])}`
)
assertCodegen(
'<text>{{" "+line_one_cn}}</text>',
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v((_$g(0,'t0-0')))])}`
)
assertCodegen(
'<text>\nN: {{title}}\n′</text>',
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v("N: "+(_$g(0,'t0-0'))+"\\n′")])}`
)
assertCodegen(
'<text>我是第一行\n我的第二行</text>',
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v("我是第一行\\n我的第二行")])}`
)
assertCodegen(
'<text>我是第一行\n我的第二行1{{title}}</text>',
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v("我是第一行\\n我的第二行1"+(_$g(0,'t0-0')))])}`
)
assertCodegen(
`<text>我是第一行
我的第二行2{{title}}</text>`,
`with(this){return _c('v-uni-text',{attrs:{"_i":0}},[_v("我是第一行\\n 我的第二行2"+(_$g(0,'t0-0')))])}`
)
assertCodegen(
'<view> text text </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v("text text")])}`
)
assertCodegen(
'<view>text {{text}} text</view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v("text "+(_$g(0,'t0-0'))+" text")])}`
)
assertCodegen(
'<view> text {{text}} 文本 </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v("text "+(_$g(0,'t0-0'))+" 文本")])}`
)
assertCodegen(
'<view>{{text}} text text </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v((_$g(0,'t0-0'))+" text text")])}`
)
assertCodegen(
'<view> {{text}} text text </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v((_$g(0,'t0-0'))+" text text")])}`
)
assertCodegen(
'<view>{{text}} text text {{text}}</view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v((_$g(0,'t0-0'))+" text text "+(_$g(0,'t0-1')))])}`
)
assertCodegen(
'<view> {{text}} text text {{text}} </view>',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_v((_$g(0,'t0-0'))+" text text "+(_$g(0,'t0-1')))])}`
)
})
})
/* eslint-enable quotes */
......@@ -19,12 +19,7 @@ const scopedPath = path.resolve(__dirname, '../../')
const compiler = require('../lib')
const res = compiler.compile(
`
<text>
123
456
</text>
<view> {{text}} text text {{text}} </view>
`, {
miniprogram: true,
resourcePath: '/User/fxy/Documents/test.wxml',
......
......@@ -105,7 +105,9 @@ function checkAutoFill (el) {
}
function transformNode (el, parent, state, isScopedSlot) {
if (el.type === 3) {
if (el.type === 3) {
// fixed by xxxxxx 注意:保持平台一致性,trim 一下,理论上service不需要,保险起见也处理一遍
el.text = el.text.trim()
return
}
parseBlock(el, parent)
......
......@@ -100,7 +100,9 @@ const includeDirs = [
const ignoreDirs = ['model']
function transformNode (el, parent, state, isScopedSlot) {
if (el.type === 3) {
if (el.type === 3) {
// fixed by xxxxxx 注意:保持平台一致性,trim 一下
el.text = el.text.trim()
return
}
parseBlock(el, parent)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册