import { compile } from '../src' import { getCompiledString } from './utils' describe('ssr: text', () => { test('static text', () => { expect(getCompiledString(`foo`)).toMatchInlineSnapshot(`"\`foo\`"`) }) test('static text escape', () => { expect(getCompiledString(`<foo>`)).toMatchInlineSnapshot( `"\`<foo>\`"` ) }) test('nested elements with static text', () => { expect( getCompiledString(`
hellobye
`) ).toMatchInlineSnapshot( `"\`
hellobye
\`"` ) }) test('interpolation', () => { expect(compile(`foo {{ bar }} baz`).code).toMatchInlineSnapshot(` "const { ssrInterpolate: _ssrInterpolate } = require(\\"@vue/server-renderer\\") return function ssrRender(_ctx, _push, _parent) { _push(\`foo \${_ssrInterpolate(_ctx.bar)} baz\`) }" `) }) test('nested elements with interpolation', () => { expect( compile(`
{{ foo }} barbaz {{ qux }}
`) .code ).toMatchInlineSnapshot(` "const { ssrInterpolate: _ssrInterpolate } = require(\\"@vue/server-renderer\\") return function ssrRender(_ctx, _push, _parent) { _push(\`
\${ _ssrInterpolate(_ctx.foo) } barbaz \${ _ssrInterpolate(_ctx.qux) }
\`) }" `) }) })