Skip to content

Commit

Permalink
test: tests for ssr template function (#9324)
Browse files Browse the repository at this point in the history
  • Loading branch information
yyx990803 committed Jan 18, 2019
1 parent b65f6d7 commit df064ce
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions test/ssr/ssr-template.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,68 @@ describe('SSR: template option', () => {
})
})

it('renderToString w/ template function', done => {
const renderer = createRenderer({
template: (content, context) => `<html><head>${context.head}</head>${content}</html>`
})

const context = {
head: '<meta name="viewport" content="width=device-width">'
}

renderer.renderToString(new Vue({
template: '<div>hi</div>'
}), context, (err, res) => {
expect(err).toBeNull()
expect(res).toContain(`<html><head>${context.head}</head><div data-server-rendered="true">hi</div></html>`)
done()
})
})

it('renderToString w/ template function returning Promise', done => {
const renderer = createRenderer({
template: (content, context) => new Promise((resolve) => {
setTimeout(() => {
resolve(`<html><head>${context.head}</head>${content}</html>`)
}, 0)
})
})

const context = {
head: '<meta name="viewport" content="width=device-width">'
}

renderer.renderToString(new Vue({
template: '<div>hi</div>'
}), context, (err, res) => {
expect(err).toBeNull()
expect(res).toContain(`<html><head>${context.head}</head><div data-server-rendered="true">hi</div></html>`)
done()
})
})

it('renderToString w/ template function returning Promise w/ rejection', done => {
const renderer = createRenderer({
template: () => new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error(`foo`))
}, 0)
})
})

const context = {
head: '<meta name="viewport" content="width=device-width">'
}

renderer.renderToString(new Vue({
template: '<div>hi</div>'
}), context, (err, res) => {
expect(err.message).toBe(`foo`)
expect(res).toBeUndefined()
done()
})
})

it('renderToStream', done => {
const renderer = createRenderer({
template: defaultTemplate
Expand Down

0 comments on commit df064ce

Please sign in to comment.