2016-12-10 09:57:50 +00:00
|
|
|
import test from 'ava'
|
2017-01-11 21:51:52 +00:00
|
|
|
import ansiHTML from 'ansi-html'
|
|
|
|
|
|
|
|
let utils
|
|
|
|
// Init nuxt.js and create server listening on localhost:4000
|
|
|
|
test.before('Init Nuxt.js', async t => {
|
|
|
|
const Nuxt = require('../')
|
2017-05-11 19:49:02 +00:00
|
|
|
let nuxt = await new Nuxt({ dev: false })
|
2017-01-11 21:51:52 +00:00
|
|
|
utils = nuxt.utils
|
|
|
|
})
|
2016-12-10 09:57:50 +00:00
|
|
|
|
|
|
|
test('encodeHtml', t => {
|
|
|
|
const html = '<h1>Hello</h1>'
|
|
|
|
t.is(utils.encodeHtml(html), '<h1>Hello</h1>')
|
|
|
|
})
|
|
|
|
|
|
|
|
test('getContext', t => {
|
|
|
|
let ctx = utils.getContext({ a: 1 }, { b: 2 })
|
|
|
|
t.is(utils.getContext.length, 2)
|
|
|
|
t.is(typeof ctx.req, 'object')
|
|
|
|
t.is(typeof ctx.res, 'object')
|
|
|
|
t.is(ctx.req.a, 1)
|
|
|
|
t.is(ctx.res.b, 2)
|
|
|
|
})
|
2016-12-10 11:24:02 +00:00
|
|
|
|
2016-12-10 11:31:48 +00:00
|
|
|
test('setAnsiColors', t => {
|
|
|
|
utils.setAnsiColors(ansiHTML)
|
2017-04-13 09:32:29 +00:00
|
|
|
t.pass()
|
2016-12-10 11:31:48 +00:00
|
|
|
})
|
|
|
|
|
2017-05-14 18:21:14 +00:00
|
|
|
test('waitFor', async (t) => {
|
2016-12-10 11:24:02 +00:00
|
|
|
let s = Date.now()
|
2017-05-14 18:21:14 +00:00
|
|
|
await utils.waitFor(100)
|
2016-12-10 11:24:02 +00:00
|
|
|
t.true(Date.now() - s >= 100)
|
2017-05-21 17:18:26 +00:00
|
|
|
await utils.waitFor()
|
2016-12-10 11:24:02 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
test('urlJoin', t => {
|
|
|
|
t.is(utils.urlJoin('test', '/about'), 'test/about')
|
|
|
|
})
|
|
|
|
|
2017-03-17 17:52:46 +00:00
|
|
|
test('promisifyRoute (array)', t => {
|
2016-12-10 11:24:02 +00:00
|
|
|
const array = [1]
|
2017-03-17 17:52:46 +00:00
|
|
|
const promise = utils.promisifyRoute(array)
|
2016-12-10 11:31:48 +00:00
|
|
|
t.is(typeof promise, 'object')
|
2016-12-10 11:24:02 +00:00
|
|
|
return promise
|
|
|
|
.then((res) => {
|
|
|
|
t.is(res, array)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2017-03-17 17:52:46 +00:00
|
|
|
test('promisifyRoute (fn => array)', t => {
|
2016-12-10 11:24:02 +00:00
|
|
|
const array = [1, 2]
|
|
|
|
const fn = function () {
|
|
|
|
return array
|
|
|
|
}
|
2017-03-17 17:52:46 +00:00
|
|
|
const promise = utils.promisifyRoute(fn)
|
2016-12-10 11:31:48 +00:00
|
|
|
t.is(typeof promise, 'object')
|
2016-12-10 11:24:02 +00:00
|
|
|
return promise
|
|
|
|
.then((res) => {
|
|
|
|
t.is(res, array)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2017-03-17 17:52:46 +00:00
|
|
|
test('promisifyRoute (fn => promise)', t => {
|
2016-12-10 11:24:02 +00:00
|
|
|
const array = [1, 2, 3]
|
|
|
|
const fn = function () {
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
resolve(array)
|
|
|
|
})
|
|
|
|
}
|
2017-03-17 17:52:46 +00:00
|
|
|
const promise = utils.promisifyRoute(fn)
|
2016-12-10 11:31:48 +00:00
|
|
|
t.is(typeof promise, 'object')
|
2016-12-10 11:24:02 +00:00
|
|
|
return promise
|
|
|
|
.then((res) => {
|
|
|
|
t.is(res, array)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2017-03-17 17:52:46 +00:00
|
|
|
test('promisifyRoute (fn(cb) with error)', t => {
|
2016-12-10 11:24:02 +00:00
|
|
|
const fn = function (cb) {
|
2017-03-20 16:52:35 +00:00
|
|
|
cb(new Error('Error here'))
|
2016-12-10 11:24:02 +00:00
|
|
|
}
|
2017-03-17 17:52:46 +00:00
|
|
|
const promise = utils.promisifyRoute(fn)
|
2016-12-10 11:31:48 +00:00
|
|
|
t.is(typeof promise, 'object')
|
2016-12-10 11:24:02 +00:00
|
|
|
return promise
|
|
|
|
.catch((e) => {
|
2017-03-20 16:52:35 +00:00
|
|
|
t.is(e.message, 'Error here')
|
2016-12-10 11:24:02 +00:00
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2017-03-17 17:52:46 +00:00
|
|
|
test('promisifyRoute (fn(cb) with result)', t => {
|
2016-12-10 11:24:02 +00:00
|
|
|
const array = [1, 2, 3, 4]
|
|
|
|
const fn = function (cb) {
|
|
|
|
cb(null, array)
|
|
|
|
}
|
2017-03-17 17:52:46 +00:00
|
|
|
const promise = utils.promisifyRoute(fn)
|
2016-12-10 11:31:48 +00:00
|
|
|
t.is(typeof promise, 'object')
|
2016-12-10 11:24:02 +00:00
|
|
|
return promise
|
|
|
|
.then((res) => {
|
|
|
|
t.is(res, array)
|
|
|
|
})
|
|
|
|
})
|