Skip to content

Commit 9733249

Browse files
committed
babel runner init, not working yet
1 parent 4140d15 commit 9733249

File tree

8 files changed

+145
-0
lines changed

8 files changed

+145
-0
lines changed

src/loaders.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
var vm = require('vm');
2+
var fs = require('fs');
3+
var path = require('path');
4+
global.loadJS = function loadJS(pathToContext) {
5+
var absPath = path.join(process.env.DIR, pathToContext);
6+
var context = fs.readFileSync(absPath, 'utf8');
7+
vm.runInThisContext(context);
8+
};

test/babel.spec.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
var chai = require('chai');
2+
var chaiAsPromised = require("chai-as-promised");
3+
4+
chai.use(chaiAsPromised);
5+
var expect = chai.expect;
6+
7+
var getRunner = require('./utils/babel-runner').getRunner;
8+
9+
xdescribe('babel', function() {
10+
11+
it('should load tests written in es6', function() {
12+
var files = [
13+
['./babel-01.js']
14+
];
15+
var run = getRunner(files);
16+
var expected = {
17+
pass: true,
18+
taskPosition: 1,
19+
failedAtFile: null,
20+
msg: 'babel-01 should pass'
21+
};
22+
23+
return expect(run).to.eventually.deep.equal(expected);
24+
});
25+
26+
it('should compile files before running tests', function() {
27+
var files = [
28+
['./babel-02.js']
29+
];
30+
var run = getRunner(files);
31+
var expected = {
32+
pass: true,
33+
taskPosition: 1,
34+
failedAtFile: null,
35+
msg: 'babel-02 should pass'
36+
};
37+
38+
return expect(run).to.eventually.deep.equal(expected);
39+
});
40+
41+
});

test/context/babel.js

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import 'babel-polyfill'
2+
const a = 40;
3+
let b = 2;
4+
var stringLit = `${a} + ${b} = ${a + b}`;

test/loaders.spec.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
var chai = require('chai');
2+
var chaiAsPromised = require("chai-as-promised");
3+
4+
chai.use(chaiAsPromised);
5+
var expect = chai.expect;
6+
7+
var getRunner = require('./utils/runner').getRunner;
8+
9+
xdescribe('loaders', function() {
10+
11+
describe('loadJS', function() {
12+
it('should load JS files', function() {
13+
var files = [
14+
['loader-js-01.js']
15+
];
16+
var run = getRunner(files);
17+
var expected = {
18+
pass: true,
19+
taskPosition: 1,
20+
failedAtFile: null,
21+
msg: 'loader-js-01 should pass'
22+
};
23+
24+
return expect(run).to.eventually.deep.equal(expected);
25+
});
26+
27+
});
28+
});

test/tests/babel-01.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
var expect = require('chai').expect;
2+
3+
describe('babel-01', function () {
4+
5+
const a = 40;
6+
let b = 2;
7+
var stringLit = `${a} + ${b} = ${a + b}`;
8+
console.log(stringList);
9+
10+
it('should pass', function () {
11+
expect(stringList).to.equal('40 + 2 = 42');
12+
});
13+
14+
});

test/tests/babel-02.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var expect = require('chai').expect;
2+
3+
describe('babel-02', function () {
4+
5+
it('should pass', function () {
6+
expect(stringList).to.equal('40 + 2 = 42');
7+
});
8+
9+
});

test/tests/loader-js-01.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var expect = require('chai').expect;
2+
var loadJS = require('../utils/loadContext').default;
3+
loadJS('./context/addOne.js');
4+
5+
describe('loader-js-01', function () {
6+
7+
it('should pass', function () {
8+
expect(addOne(41)).to.equal(42);
9+
});
10+
11+
});

test/utils/babel-runner.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
var path = require('path');
2+
3+
function addPaths(files) {
4+
return files.map(function(subArray) {
5+
return subArray.map(function(test) {
6+
return path.join(config.tutorialDir, test);
7+
});
8+
});
9+
}
10+
11+
var runner = require('../../src/runner').default;
12+
var rootDir = __dirname.split('/');
13+
var config = {
14+
dir: rootDir.slice(0, rootDir.length - 1).join('/'),
15+
tutorialDir: path.join(__dirname, '..', '/tests'),
16+
testRunnerOptions: {
17+
babel: true
18+
}
19+
};
20+
function handleLog(log) {
21+
return log;
22+
}
23+
function handleResult(result) {
24+
return result;
25+
}
26+
27+
exports.getRunner = function getRunner(files) {
28+
files = addPaths(files);
29+
return runner(files, config, handleResult, handleLog);
30+
}

0 commit comments

Comments
 (0)