test: record snapshots for text optimization
This commit is contained in:
parent
e5e40e1e38
commit
da0d785d84
@ -0,0 +1,60 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`compiler: optimize interpolation consecutive text 1`] = `
|
||||
"const _Vue = Vue
|
||||
return function render() {
|
||||
with (this) {
|
||||
const { toString: _toString } = _Vue
|
||||
return _toString(foo) + \\" bar \\" + _toString(baz)
|
||||
}
|
||||
}"
|
||||
`;
|
||||
|
||||
exports[`compiler: optimize interpolation consecutive text between elements 1`] = `
|
||||
"const _Vue = Vue
|
||||
return function render() {
|
||||
with (this) {
|
||||
const { createVNode: _createVNode, toString: _toString } = _Vue
|
||||
return [
|
||||
_createVNode(\\"div\\"),
|
||||
_toString(foo) + \\" bar \\" + _toString(baz),
|
||||
_createVNode(\\"div\\")
|
||||
]
|
||||
}
|
||||
}"
|
||||
`;
|
||||
|
||||
exports[`compiler: optimize interpolation consecutive text mixed with elements 1`] = `
|
||||
"const _Vue = Vue
|
||||
return function render() {
|
||||
with (this) {
|
||||
const { createVNode: _createVNode, toString: _toString } = _Vue
|
||||
return [
|
||||
_createVNode(\\"div\\"),
|
||||
_toString(foo) + \\" bar \\" + _toString(baz),
|
||||
_createVNode(\\"div\\"),
|
||||
_toString(foo) + \\" bar \\" + _toString(baz),
|
||||
_createVNode(\\"div\\")
|
||||
]
|
||||
}
|
||||
}"
|
||||
`;
|
||||
|
||||
exports[`compiler: optimize interpolation no consecutive text 1`] = `
|
||||
"const _Vue = Vue
|
||||
return function render() {
|
||||
with (this) {
|
||||
const { toString: _toString } = _Vue
|
||||
return _toString(foo)
|
||||
}
|
||||
}"
|
||||
`;
|
||||
|
||||
exports[`compiler: optimize interpolation with prefixIdentifiers: true 1`] = `
|
||||
"const { toString } = Vue
|
||||
|
||||
return function render() {
|
||||
const _ctx = this
|
||||
return toString(_ctx.foo) + \\" bar \\" + toString(_ctx.baz + _ctx.qux)
|
||||
}"
|
||||
`;
|
@ -1,13 +1,21 @@
|
||||
import { CompilerOptions, parse, transform, NodeTypes } from '../../src'
|
||||
import {
|
||||
CompilerOptions,
|
||||
parse,
|
||||
transform,
|
||||
NodeTypes,
|
||||
generate
|
||||
} from '../../src'
|
||||
import { optimizeText } from '../../src/transforms/optimizeText'
|
||||
import { transformExpression } from '../../src/transforms/transformExpression'
|
||||
import { transformElement } from '../../src/transforms/transformElement'
|
||||
|
||||
function transformWithTextOpt(template: string, options: CompilerOptions = {}) {
|
||||
const ast = parse(template)
|
||||
transform(ast, {
|
||||
nodeTransforms: [
|
||||
...(options.prefixIdentifiers ? [transformExpression] : []),
|
||||
optimizeText
|
||||
optimizeText,
|
||||
transformElement
|
||||
],
|
||||
...options
|
||||
})
|
||||
@ -23,6 +31,7 @@ describe('compiler: optimize interpolation', () => {
|
||||
content: `foo`
|
||||
}
|
||||
})
|
||||
expect(generate(root).code).toMatchSnapshot()
|
||||
})
|
||||
|
||||
test('consecutive text', () => {
|
||||
@ -38,6 +47,7 @@ describe('compiler: optimize interpolation', () => {
|
||||
{ type: NodeTypes.INTERPOLATION, content: { content: `baz` } }
|
||||
]
|
||||
})
|
||||
expect(generate(root).code).toMatchSnapshot()
|
||||
})
|
||||
|
||||
test('consecutive text between elements', () => {
|
||||
@ -55,6 +65,7 @@ describe('compiler: optimize interpolation', () => {
|
||||
]
|
||||
})
|
||||
expect(root.children[2].type).toBe(NodeTypes.ELEMENT)
|
||||
expect(generate(root).code).toMatchSnapshot()
|
||||
})
|
||||
|
||||
test('consecutive text mixed with elements', () => {
|
||||
@ -85,6 +96,7 @@ describe('compiler: optimize interpolation', () => {
|
||||
]
|
||||
})
|
||||
expect(root.children[4].type).toBe(NodeTypes.ELEMENT)
|
||||
expect(generate(root).code).toMatchSnapshot()
|
||||
})
|
||||
|
||||
test('with prefixIdentifiers: true', () => {
|
||||
@ -108,5 +120,10 @@ describe('compiler: optimize interpolation', () => {
|
||||
}
|
||||
]
|
||||
})
|
||||
expect(
|
||||
generate(root, {
|
||||
prefixIdentifiers: true
|
||||
}).code
|
||||
).toMatchSnapshot()
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user