Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7c985e2

Browse files
committed
test: ssrPrefetch
1 parent 1fe877f commit 7c985e2

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

‎test/ssr/ssr-string.spec.js

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,6 +1277,120 @@ describe('SSR: renderToString', () => {
12771277
done()
12781278
})
12791279
})
1280+
1281+
it('should support ssrPrefetch option', done => {
1282+
renderVmWithOptions({
1283+
template: `
1284+
<div>{{ count }}</div>
1285+
`,
1286+
data: {
1287+
count: 0
1288+
},
1289+
ssrPrefetch () {
1290+
return new Promise((resolve) => {
1291+
setTimeout(() => {
1292+
this.count = 42
1293+
resolve()
1294+
}, 1)
1295+
})
1296+
}
1297+
}, result => {
1298+
expect(result).toContain('<div data-server-rendered="true">42</div>')
1299+
done()
1300+
})
1301+
})
1302+
1303+
it('should support ssrPrefetch option (nested)', done => {
1304+
renderVmWithOptions({
1305+
template: `
1306+
<div>
1307+
<span>{{ count }}</span>
1308+
<nested-prefetch></nested-prefetch>
1309+
</div>
1310+
`,
1311+
data: {
1312+
count: 0
1313+
},
1314+
ssrPrefetch () {
1315+
return new Promise((resolve) => {
1316+
setTimeout(() => {
1317+
this.count = 42
1318+
resolve()
1319+
}, 1)
1320+
})
1321+
},
1322+
components: {
1323+
nestedPrefetch: {
1324+
template: `
1325+
<div>{{ message }}</div>
1326+
`,
1327+
data () {
1328+
return {
1329+
message: ''
1330+
}
1331+
},
1332+
ssrPrefetch () {
1333+
return new Promise((resolve) => {
1334+
setTimeout(() => {
1335+
this.message = 'vue.js'
1336+
resolve()
1337+
}, 1)
1338+
})
1339+
}
1340+
}
1341+
}
1342+
}, result => {
1343+
expect(result).toContain('<div data-server-rendered="true"><span>42</span> <div>vue.js</div></div>')
1344+
done()
1345+
})
1346+
})
1347+
1348+
it('should support ssrPrefetch option (nested async)', done => {
1349+
renderVmWithOptions({
1350+
template: `
1351+
<div>
1352+
<span>{{ count }}</span>
1353+
<nested-prefetch></nested-prefetch>
1354+
</div>
1355+
`,
1356+
data: {
1357+
count: 0
1358+
},
1359+
ssrPrefetch () {
1360+
return new Promise((resolve) => {
1361+
setTimeout(() => {
1362+
this.count = 42
1363+
resolve()
1364+
}, 1)
1365+
})
1366+
},
1367+
components: {
1368+
nestedPrefetch (resolve) {
1369+
resolve({
1370+
template: `
1371+
<div>{{ message }}</div>
1372+
`,
1373+
data () {
1374+
return {
1375+
message: ''
1376+
}
1377+
},
1378+
ssrPrefetch () {
1379+
return new Promise((resolve) => {
1380+
setTimeout(() => {
1381+
this.message = 'vue.js'
1382+
resolve()
1383+
}, 1)
1384+
})
1385+
}
1386+
})
1387+
}
1388+
}
1389+
}, result => {
1390+
expect(result).toContain('<div data-server-rendered="true"><span>42</span> <div>vue.js</div></div>')
1391+
done()
1392+
})
1393+
})
12801394
})
12811395

12821396
function renderVmWithOptions (options, cb) {

0 commit comments

Comments
 (0)