Skip to content

Commit dca4224

Browse files
committed
wip(vitest-migration): compiler-ssr tests passing
1 parent 0cd2213 commit dca4224

14 files changed

+481
-481
lines changed

packages/compiler-ssr/__tests__/ssrComponent.spec.ts

Lines changed: 87 additions & 87 deletions
Large diffs are not rendered by default.

packages/compiler-ssr/__tests__/ssrElement.spec.ts

Lines changed: 90 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,26 @@ describe('ssr: element', () => {
5656
test('<textarea> with dynamic v-bind', () => {
5757
expect(compile(`<textarea v-bind="obj">fallback</textarea>`).code)
5858
.toMatchInlineSnapshot(`
59-
"const { mergeProps: _mergeProps } = require("vue")
60-
const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
61-
62-
return function ssrRender(_ctx, _push, _parent, _attrs) {
63-
let _temp0
64-
65-
_push(\`<textarea\${
66-
_ssrRenderAttrs(_temp0 = _mergeProps(_ctx.obj, _attrs), "textarea")
67-
}>\${
68-
_ssrInterpolate(("value" in _temp0) ? _temp0.value : "fallback")
69-
}</textarea>\`)
70-
}"
71-
`)
59+
"const { mergeProps: _mergeProps } = require(\\"vue\\")
60+
const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
61+
62+
return function ssrRender(_ctx, _push, _parent, _attrs) {
63+
let _temp0
64+
65+
_push(\`<textarea\${
66+
_ssrRenderAttrs(_temp0 = _mergeProps(_ctx.obj, _attrs), \\"textarea\\")
67+
}>\${
68+
_ssrInterpolate((\\"value\\" in _temp0) ? _temp0.value : \\"fallback\\")
69+
}</textarea>\`)
70+
}"
71+
`)
7272
})
7373

7474
test('multiple _ssrInterpolate at parent and child import dependency once', () => {
7575
expect(
7676
compile(`<div>{{ hello }}<textarea v-bind="a"></textarea></div>`).code
7777
).toMatchInlineSnapshot(`
78-
"const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
78+
"const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
7979
8080
return function ssrRender(_ctx, _push, _parent, _attrs) {
8181
let _temp0
@@ -85,9 +85,9 @@ describe('ssr: element', () => {
8585
}>\${
8686
_ssrInterpolate(_ctx.hello)
8787
}<textarea\${
88-
_ssrRenderAttrs(_temp0 = _ctx.a, "textarea")
88+
_ssrRenderAttrs(_temp0 = _ctx.a, \\"textarea\\")
8989
}>\${
90-
_ssrInterpolate(("value" in _temp0) ? _temp0.value : "")
90+
_ssrInterpolate((\\"value\\" in _temp0) ? _temp0.value : \\"\\")
9191
}</textarea></div>\`)
9292
}"
9393
`)
@@ -99,11 +99,11 @@ describe('ssr: element', () => {
9999
isCustomElement: () => true
100100
}).code
101101
).toMatchInlineSnapshot(`
102-
"const { mergeProps: _mergeProps } = require("vue")
103-
const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
102+
"const { mergeProps: _mergeProps } = require(\\"vue\\")
103+
const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
104104
105105
return function ssrRender(_ctx, _push, _parent, _attrs) {
106-
_push(\`<my-foo\${_ssrRenderAttrs(_mergeProps(_ctx.obj, _attrs), "my-foo")}></my-foo>\`)
106+
_push(\`<my-foo\${_ssrRenderAttrs(_mergeProps(_ctx.obj, _attrs), \\"my-foo\\")}></my-foo>\`)
107107
}"
108108
`)
109109
})
@@ -113,7 +113,7 @@ describe('ssr: element', () => {
113113
test('static attrs', () => {
114114
expect(
115115
getCompiledString(`<div id="foo" class="bar"></div>`)
116-
).toMatchInlineSnapshot(`"\`<div id="foo" class="bar"></div>\`"`)
116+
).toMatchInlineSnapshot('"`<div id=\\"foo\\" class=\\"bar\\"></div>`"')
117117
})
118118

119119
test('ignore static key/ref', () => {
@@ -131,93 +131,93 @@ describe('ssr: element', () => {
131131
test('v-bind:class', () => {
132132
expect(getCompiledString(`<div id="foo" :class="bar"></div>`))
133133
.toMatchInlineSnapshot(`
134-
"\`<div id="foo" class="\${
135-
_ssrRenderClass(_ctx.bar)
136-
}"></div>\`"
137-
`)
134+
"\`<div id=\\"foo\\" class=\\"\${
135+
_ssrRenderClass(_ctx.bar)
136+
}\\"></div>\`"
137+
`)
138138
})
139139

140140
test('static class + v-bind:class', () => {
141141
expect(getCompiledString(`<div class="foo" :class="bar"></div>`))
142142
.toMatchInlineSnapshot(`
143-
"\`<div class="\${
144-
_ssrRenderClass([_ctx.bar, "foo"])
145-
}"></div>\`"
146-
`)
143+
"\`<div class=\\"\${
144+
_ssrRenderClass([_ctx.bar, \\"foo\\"])
145+
}\\"></div>\`"
146+
`)
147147
})
148148

149149
test('v-bind:class + static class', () => {
150150
expect(getCompiledString(`<div :class="bar" class="foo"></div>`))
151151
.toMatchInlineSnapshot(`
152-
"\`<div class="\${
153-
_ssrRenderClass([_ctx.bar, "foo"])
154-
}"></div>\`"
155-
`)
152+
"\`<div class=\\"\${
153+
_ssrRenderClass([_ctx.bar, \\"foo\\"])
154+
}\\"></div>\`"
155+
`)
156156
})
157157

158158
test('v-bind:style', () => {
159159
expect(getCompiledString(`<div id="foo" :style="bar"></div>`))
160160
.toMatchInlineSnapshot(`
161-
"\`<div id="foo" style="\${
162-
_ssrRenderStyle(_ctx.bar)
163-
}"></div>\`"
164-
`)
161+
"\`<div id=\\"foo\\" style=\\"\${
162+
_ssrRenderStyle(_ctx.bar)
163+
}\\"></div>\`"
164+
`)
165165
})
166166

167167
test('static style + v-bind:style', () => {
168168
expect(getCompiledString(`<div style="color:red;" :style="bar"></div>`))
169169
.toMatchInlineSnapshot(`
170-
"\`<div style="\${
171-
_ssrRenderStyle([{"color":"red"}, _ctx.bar])
172-
}"></div>\`"
173-
`)
170+
"\`<div style=\\"\${
171+
_ssrRenderStyle([{\\"color\\":\\"red\\"}, _ctx.bar])
172+
}\\"></div>\`"
173+
`)
174174
})
175175

176176
test('v-bind:arg (boolean)', () => {
177177
expect(getCompiledString(`<input type="checkbox" :checked="checked">`))
178178
.toMatchInlineSnapshot(`
179-
"\`<input type="checkbox"\${
180-
(_ssrIncludeBooleanAttr(_ctx.checked)) ? " checked" : ""
181-
}>\`"
182-
`)
179+
"\`<input type=\\"checkbox\\"\${
180+
(_ssrIncludeBooleanAttr(_ctx.checked)) ? \\" checked\\" : \\"\\"
181+
}>\`"
182+
`)
183183
})
184184

185185
test('v-bind:arg (non-boolean)', () => {
186186
expect(getCompiledString(`<div :id="id" class="bar"></div>`))
187187
.toMatchInlineSnapshot(`
188-
"\`<div\${
189-
_ssrRenderAttr("id", _ctx.id)
190-
} class="bar"></div>\`"
191-
`)
188+
"\`<div\${
189+
_ssrRenderAttr(\\"id\\", _ctx.id)
190+
} class=\\"bar\\"></div>\`"
191+
`)
192192
})
193193

194194
test('v-bind:[arg]', () => {
195195
expect(getCompiledString(`<div v-bind:[key]="value"></div>`))
196196
.toMatchInlineSnapshot(`
197-
"\`<div\${
198-
_ssrRenderAttrs({ [_ctx.key || ""]: _ctx.value })
199-
}></div>\`"
200-
`)
197+
"\`<div\${
198+
_ssrRenderAttrs({ [_ctx.key || \\"\\"]: _ctx.value })
199+
}></div>\`"
200+
`)
201201

202202
expect(getCompiledString(`<div class="foo" v-bind:[key]="value"></div>`))
203203
.toMatchInlineSnapshot(`
204-
"\`<div\${
205-
_ssrRenderAttrs({
206-
class: "foo",
207-
[_ctx.key || ""]: _ctx.value
208-
})
209-
}></div>\`"
210-
`)
204+
"\`<div\${
205+
_ssrRenderAttrs({
206+
class: \\"foo\\",
207+
[_ctx.key || \\"\\"]: _ctx.value
208+
})
209+
}></div>\`"
210+
`)
211211

212212
expect(getCompiledString(`<div :id="id" v-bind:[key]="value"></div>`))
213213
.toMatchInlineSnapshot(`
214-
"\`<div\${
215-
_ssrRenderAttrs({
216-
id: _ctx.id,
217-
[_ctx.key || ""]: _ctx.value
218-
})
219-
}></div>\`"
220-
`)
214+
"\`<div\${
215+
_ssrRenderAttrs({
216+
id: _ctx.id,
217+
[_ctx.key || \\"\\"]: _ctx.value
218+
})
219+
}></div>\`"
220+
`)
221221
})
222222

223223
test('v-bind="obj"', () => {
@@ -230,10 +230,10 @@ describe('ssr: element', () => {
230230

231231
expect(getCompiledString(`<div class="foo" v-bind="obj"></div>`))
232232
.toMatchInlineSnapshot(`
233-
"\`<div\${
234-
_ssrRenderAttrs(_mergeProps({ class: "foo" }, _ctx.obj))
235-
}></div>\`"
236-
`)
233+
"\`<div\${
234+
_ssrRenderAttrs(_mergeProps({ class: \\"foo\\" }, _ctx.obj))
235+
}></div>\`"
236+
`)
237237

238238
expect(getCompiledString(`<div :id="id" v-bind="obj"></div>`))
239239
.toMatchInlineSnapshot(`
@@ -245,20 +245,20 @@ describe('ssr: element', () => {
245245
// dynamic key + v-bind="object"
246246
expect(getCompiledString(`<div :[key]="id" v-bind="obj"></div>`))
247247
.toMatchInlineSnapshot(`
248-
"\`<div\${
249-
_ssrRenderAttrs(_mergeProps({ [_ctx.key || ""]: _ctx.id }, _ctx.obj))
250-
}></div>\`"
251-
`)
248+
"\`<div\${
249+
_ssrRenderAttrs(_mergeProps({ [_ctx.key || \\"\\"]: _ctx.id }, _ctx.obj))
250+
}></div>\`"
251+
`)
252252

253253
// should merge class and :class
254254
expect(getCompiledString(`<div class="a" :class="b" v-bind="obj"></div>`))
255255
.toMatchInlineSnapshot(`
256-
"\`<div\${
257-
_ssrRenderAttrs(_mergeProps({
258-
class: ["a", _ctx.b]
259-
}, _ctx.obj))
260-
}></div>\`"
261-
`)
256+
"\`<div\${
257+
_ssrRenderAttrs(_mergeProps({
258+
class: [\\"a\\", _ctx.b]
259+
}, _ctx.obj))
260+
}></div>\`"
261+
`)
262262

263263
// should merge style and :style
264264
expect(
@@ -268,7 +268,7 @@ describe('ssr: element', () => {
268268
).toMatchInlineSnapshot(`
269269
"\`<div\${
270270
_ssrRenderAttrs(_mergeProps({
271-
style: [{"color":"red"}, _ctx.b]
271+
style: [{\\"color\\":\\"red\\"}, _ctx.b]
272272
}, _ctx.obj))
273273
}></div>\`"
274274
`)
@@ -277,10 +277,10 @@ describe('ssr: element', () => {
277277
test('should ignore v-on', () => {
278278
expect(
279279
getCompiledString(`<div id="foo" @click="bar"/>`)
280-
).toMatchInlineSnapshot(`"\`<div id="foo"></div>\`"`)
280+
).toMatchInlineSnapshot('"`<div id=\\"foo\\"></div>`"')
281281
expect(
282282
getCompiledString(`<div id="foo" v-on="bar"/>`)
283-
).toMatchInlineSnapshot(`"\`<div id="foo"></div>\`"`)
283+
).toMatchInlineSnapshot('"`<div id=\\"foo\\"></div>`"')
284284
expect(getCompiledString(`<div v-bind="foo" v-on="bar"/>`))
285285
.toMatchInlineSnapshot(`
286286
"\`<div\${
@@ -292,18 +292,18 @@ describe('ssr: element', () => {
292292
test('custom dir', () => {
293293
expect(getCompiledString(`<div v-xxx:x.y="z" />`)).toMatchInlineSnapshot(`
294294
"\`<div\${
295-
_ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, "x", { y: true }))
295+
_ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, \\"x\\", { y: true }))
296296
}></div>\`"
297297
`)
298298
})
299299

300300
test('custom dir with normal attrs', () => {
301301
expect(getCompiledString(`<div class="foo" v-xxx />`))
302302
.toMatchInlineSnapshot(`
303-
"\`<div\${
304-
_ssrRenderAttrs(_mergeProps({ class: "foo" }, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
305-
}></div>\`"
306-
`)
303+
"\`<div\${
304+
_ssrRenderAttrs(_mergeProps({ class: \\"foo\\" }, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
305+
}></div>\`"
306+
`)
307307
})
308308

309309
test('custom dir with v-bind', () => {
@@ -333,8 +333,8 @@ describe('ssr: element', () => {
333333
).toMatchInlineSnapshot(`
334334
"\`<div\${
335335
_ssrRenderAttrs(_mergeProps(_ctx.x, {
336-
class: "foo",
337-
title: "bar"
336+
class: \\"foo\\",
337+
title: \\"bar\\"
338338
}, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
339339
}></div>\`"
340340
`)

packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { compile } from '../src'
33
describe('ssr: attrs fallthrough', () => {
44
test('basic', () => {
55
expect(compile(`<div/>`).code).toMatchInlineSnapshot(`
6-
"const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
6+
"const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
77
88
return function ssrRender(_ctx, _push, _parent, _attrs) {
99
_push(\`<div\${_ssrRenderAttrs(_attrs)}></div>\`)
@@ -13,7 +13,7 @@ describe('ssr: attrs fallthrough', () => {
1313

1414
test('with comments', () => {
1515
expect(compile(`<!--!--><div/>`).code).toMatchInlineSnapshot(`
16-
"const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
16+
"const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
1717
1818
return function ssrRender(_ctx, _push, _parent, _attrs) {
1919
_push(\`<!--[--><!--!--><div\${_ssrRenderAttrs(_attrs)}></div><!--]-->\`)
@@ -40,12 +40,12 @@ describe('ssr: attrs fallthrough', () => {
4040
test('fallthrough component content (root with comments)', () => {
4141
expect(compile(`<!--root--><transition><div/></transition>`).code)
4242
.toMatchInlineSnapshot(`
43-
"const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
43+
"const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
4444
45-
return function ssrRender(_ctx, _push, _parent, _attrs) {
46-
_push(\`<!--[--><!--root--><div\${_ssrRenderAttrs(_attrs)}></div><!--]-->\`)
47-
}"
48-
`)
45+
return function ssrRender(_ctx, _push, _parent, _attrs) {
46+
_push(\`<!--[--><!--root--><div\${_ssrRenderAttrs(_attrs)}></div><!--]-->\`)
47+
}"
48+
`)
4949
})
5050

5151
test('should not inject to fallthrough component content if not root', () => {

0 commit comments

Comments
 (0)