@@ -56,26 +56,26 @@ describe('ssr: element', () => {
56
56
test ( '<textarea> with dynamic v-bind' , ( ) => {
57
57
expect ( compile ( `<textarea v-bind="obj">fallback</textarea>` ) . code )
58
58
. 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
+ ` )
72
72
} )
73
73
74
74
test ( 'multiple _ssrInterpolate at parent and child import dependency once' , ( ) => {
75
75
expect (
76
76
compile ( `<div>{{ hello }}<textarea v-bind="a"></textarea></div>` ) . code
77
77
) . toMatchInlineSnapshot ( `
78
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
78
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\ "vue/server-renderer\\ ")
79
79
80
80
return function ssrRender(_ctx, _push, _parent, _attrs) {
81
81
let _temp0
@@ -85,9 +85,9 @@ describe('ssr: element', () => {
85
85
}>\${
86
86
_ssrInterpolate(_ctx.hello)
87
87
}<textarea\${
88
- _ssrRenderAttrs(_temp0 = _ctx.a, "textarea")
88
+ _ssrRenderAttrs(_temp0 = _ctx.a, \\ "textarea\\ ")
89
89
}>\${
90
- _ssrInterpolate(("value" in _temp0) ? _temp0.value : " ")
90
+ _ssrInterpolate((\\ "value\\ " in _temp0) ? _temp0.value : \\"\\ ")
91
91
}</textarea></div>\`)
92
92
}"
93
93
` )
@@ -99,11 +99,11 @@ describe('ssr: element', () => {
99
99
isCustomElement : ( ) => true
100
100
} ) . code
101
101
) . 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\\ ")
104
104
105
105
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>\`)
107
107
}"
108
108
` )
109
109
} )
@@ -113,7 +113,7 @@ describe('ssr: element', () => {
113
113
test ( 'static attrs' , ( ) => {
114
114
expect (
115
115
getCompiledString ( `<div id="foo" class="bar"></div>` )
116
- ) . toMatchInlineSnapshot ( `"\ `<div id="foo" class="bar"></div>\`"` )
116
+ ) . toMatchInlineSnapshot ( '" `<div id=\\ "foo\\ " class=\\ "bar\\ "></div>`"' )
117
117
} )
118
118
119
119
test ( 'ignore static key/ref' , ( ) => {
@@ -131,93 +131,93 @@ describe('ssr: element', () => {
131
131
test ( 'v-bind:class' , ( ) => {
132
132
expect ( getCompiledString ( `<div id="foo" :class="bar"></div>` ) )
133
133
. 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
+ ` )
138
138
} )
139
139
140
140
test ( 'static class + v-bind:class' , ( ) => {
141
141
expect ( getCompiledString ( `<div class="foo" :class="bar"></div>` ) )
142
142
. toMatchInlineSnapshot ( `
143
- "\`<div class="\${
144
- _ssrRenderClass([_ctx.bar, "foo"])
145
- } "></div>\`"
146
- ` )
143
+ "\`<div class=\\ "\${
144
+ _ssrRenderClass([_ctx.bar, \\ "foo\\ "])
145
+ }\\ "></div>\`"
146
+ ` )
147
147
} )
148
148
149
149
test ( 'v-bind:class + static class' , ( ) => {
150
150
expect ( getCompiledString ( `<div :class="bar" class="foo"></div>` ) )
151
151
. toMatchInlineSnapshot ( `
152
- "\`<div class="\${
153
- _ssrRenderClass([_ctx.bar, "foo"])
154
- } "></div>\`"
155
- ` )
152
+ "\`<div class=\\ "\${
153
+ _ssrRenderClass([_ctx.bar, \\ "foo\\ "])
154
+ }\\ "></div>\`"
155
+ ` )
156
156
} )
157
157
158
158
test ( 'v-bind:style' , ( ) => {
159
159
expect ( getCompiledString ( `<div id="foo" :style="bar"></div>` ) )
160
160
. 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
+ ` )
165
165
} )
166
166
167
167
test ( 'static style + v-bind:style' , ( ) => {
168
168
expect ( getCompiledString ( `<div style="color:red;" :style="bar"></div>` ) )
169
169
. 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
+ ` )
174
174
} )
175
175
176
176
test ( 'v-bind:arg (boolean)' , ( ) => {
177
177
expect ( getCompiledString ( `<input type="checkbox" :checked="checked">` ) )
178
178
. toMatchInlineSnapshot ( `
179
- "\`<input type="checkbox"\${
180
- (_ssrIncludeBooleanAttr(_ctx.checked)) ? " checked" : " "
181
- }>\`"
182
- ` )
179
+ "\`<input type=\\ "checkbox\\ "\${
180
+ (_ssrIncludeBooleanAttr(_ctx.checked)) ? \\ " checked\\ " : \\"\\ "
181
+ }>\`"
182
+ ` )
183
183
} )
184
184
185
185
test ( 'v-bind:arg (non-boolean)' , ( ) => {
186
186
expect ( getCompiledString ( `<div :id="id" class="bar"></div>` ) )
187
187
. 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
+ ` )
192
192
} )
193
193
194
194
test ( 'v-bind:[arg]' , ( ) => {
195
195
expect ( getCompiledString ( `<div v-bind:[key]="value"></div>` ) )
196
196
. toMatchInlineSnapshot ( `
197
- "\`<div\${
198
- _ssrRenderAttrs({ [_ctx.key || " "]: _ctx.value })
199
- }></div>\`"
200
- ` )
197
+ "\`<div\${
198
+ _ssrRenderAttrs({ [_ctx.key || \\"\\ "]: _ctx.value })
199
+ }></div>\`"
200
+ ` )
201
201
202
202
expect ( getCompiledString ( `<div class="foo" v-bind:[key]="value"></div>` ) )
203
203
. 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
+ ` )
211
211
212
212
expect ( getCompiledString ( `<div :id="id" v-bind:[key]="value"></div>` ) )
213
213
. 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
+ ` )
221
221
} )
222
222
223
223
test ( 'v-bind="obj"' , ( ) => {
@@ -230,10 +230,10 @@ describe('ssr: element', () => {
230
230
231
231
expect ( getCompiledString ( `<div class="foo" v-bind="obj"></div>` ) )
232
232
. 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
+ ` )
237
237
238
238
expect ( getCompiledString ( `<div :id="id" v-bind="obj"></div>` ) )
239
239
. toMatchInlineSnapshot ( `
@@ -245,20 +245,20 @@ describe('ssr: element', () => {
245
245
// dynamic key + v-bind="object"
246
246
expect ( getCompiledString ( `<div :[key]="id" v-bind="obj"></div>` ) )
247
247
. 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
+ ` )
252
252
253
253
// should merge class and :class
254
254
expect ( getCompiledString ( `<div class="a" :class="b" v-bind="obj"></div>` ) )
255
255
. 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
+ ` )
262
262
263
263
// should merge style and :style
264
264
expect (
@@ -268,7 +268,7 @@ describe('ssr: element', () => {
268
268
) . toMatchInlineSnapshot ( `
269
269
"\`<div\${
270
270
_ssrRenderAttrs(_mergeProps({
271
- style: [{"color": "red"}, _ctx.b]
271
+ style: [{\\ "color\\":\\ "red\\ "}, _ctx.b]
272
272
}, _ctx.obj))
273
273
}></div>\`"
274
274
` )
@@ -277,10 +277,10 @@ describe('ssr: element', () => {
277
277
test ( 'should ignore v-on' , ( ) => {
278
278
expect (
279
279
getCompiledString ( `<div id="foo" @click="bar"/>` )
280
- ) . toMatchInlineSnapshot ( `"\ `<div id="foo"></div>\`"` )
280
+ ) . toMatchInlineSnapshot ( '" `<div id=\\ "foo\\ "></div>`"' )
281
281
expect (
282
282
getCompiledString ( `<div id="foo" v-on="bar"/>` )
283
- ) . toMatchInlineSnapshot ( `"\ `<div id="foo"></div>\`"` )
283
+ ) . toMatchInlineSnapshot ( '" `<div id=\\ "foo\\ "></div>`"' )
284
284
expect ( getCompiledString ( `<div v-bind="foo" v-on="bar"/>` ) )
285
285
. toMatchInlineSnapshot ( `
286
286
"\`<div\${
@@ -292,18 +292,18 @@ describe('ssr: element', () => {
292
292
test ( 'custom dir' , ( ) => {
293
293
expect ( getCompiledString ( `<div v-xxx:x.y="z" />` ) ) . toMatchInlineSnapshot ( `
294
294
"\`<div\${
295
- _ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, "x ", { y: true }))
295
+ _ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, \\"x\\ ", { y: true }))
296
296
}></div>\`"
297
297
` )
298
298
} )
299
299
300
300
test ( 'custom dir with normal attrs' , ( ) => {
301
301
expect ( getCompiledString ( `<div class="foo" v-xxx />` ) )
302
302
. 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
+ ` )
307
307
} )
308
308
309
309
test ( 'custom dir with v-bind' , ( ) => {
@@ -333,8 +333,8 @@ describe('ssr: element', () => {
333
333
) . toMatchInlineSnapshot ( `
334
334
"\`<div\${
335
335
_ssrRenderAttrs(_mergeProps(_ctx.x, {
336
- class: "foo",
337
- title: "bar"
336
+ class: \\ "foo\\ ",
337
+ title: \\ "bar\\ "
338
338
}, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
339
339
}></div>\`"
340
340
` )
0 commit comments