test: add a babel example
This commit is contained in:
parent
848a9c885b
commit
09ada29881
5 changed files with 55 additions and 2 deletions
3
Makefile
3
Makefile
|
@ -5,7 +5,8 @@ REQUIRED = --require should --require should-http
|
||||||
TESTS = test/application/* \
|
TESTS = test/application/* \
|
||||||
test/context/* \
|
test/context/* \
|
||||||
test/request/* \
|
test/request/* \
|
||||||
test/response/*
|
test/response/* \
|
||||||
|
test/babel/index.js
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
@./node_modules/.bin/eslint lib test
|
@./node_modules/.bin/eslint lib test
|
||||||
|
|
|
@ -42,8 +42,9 @@
|
||||||
"vary": "^1.0.0"
|
"vary": "^1.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel": "^5.0.0",
|
"babel-core": "^6.0.20",
|
||||||
"babel-eslint": "^4.1.3",
|
"babel-eslint": "^4.1.3",
|
||||||
|
"babel-preset-stage-3": "^6.0.15",
|
||||||
"eslint": "^1.6.0",
|
"eslint": "^1.6.0",
|
||||||
"eslint-config-standard": "^4.4.0",
|
"eslint-config-standard": "^4.4.0",
|
||||||
"eslint-plugin-standard": "^1.3.1",
|
"eslint-plugin-standard": "^1.3.1",
|
||||||
|
|
3
test/babel/.babelrc
Normal file
3
test/babel/.babelrc
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"presets": ["stage-3"]
|
||||||
|
}
|
42
test/babel/_test.js
Normal file
42
test/babel/_test.js
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const request = require('supertest');
|
||||||
|
const Koa = require('../..');
|
||||||
|
|
||||||
|
describe('require("babel-core/register")', () => {
|
||||||
|
describe('app.use(fn)', () => {
|
||||||
|
it('should compose middleware w/ async functions', done => {
|
||||||
|
const app = new Koa();
|
||||||
|
const calls = [];
|
||||||
|
|
||||||
|
app.use(async function (ctx, next){
|
||||||
|
calls.push(1);
|
||||||
|
await next();
|
||||||
|
calls.push(6);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.use(async function (ctx, next){
|
||||||
|
calls.push(2);
|
||||||
|
await next();
|
||||||
|
calls.push(5);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.use(async function (ctx, next){
|
||||||
|
calls.push(3);
|
||||||
|
await next();
|
||||||
|
calls.push(4);
|
||||||
|
});
|
||||||
|
|
||||||
|
const server = app.listen();
|
||||||
|
|
||||||
|
request(server)
|
||||||
|
.get('/')
|
||||||
|
.expect(404)
|
||||||
|
.end(err => {
|
||||||
|
if (err) return done(err);
|
||||||
|
calls.should.eql([1, 2, 3, 4, 5, 6]);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
6
test/babel/index.js
Normal file
6
test/babel/index.js
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
'ues strict';
|
||||||
|
|
||||||
|
// http://babeljs.io/docs/setup/#babel_register
|
||||||
|
|
||||||
|
require('babel-core/register');
|
||||||
|
require('./_test.js');
|
Loading…
Reference in a new issue