Skip to content

Commit afaa20b

Browse files
committed
Move from Karma to Karmatic! :)
1 parent 8d39f33 commit afaa20b

File tree

3 files changed

+28
-124
lines changed

3 files changed

+28
-124
lines changed

package.json

+6-23
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77
"scripts": {
88
"build": "microbundle --inline none --format cjs --no-compress src/*.js",
99
"prepublishOnly": "npm run build",
10-
"dev": "webpack-dev-server --no-hot --config test/webpack.config.js",
11-
"release": "npm t && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish",
12-
"test": "npm run build && webpack --config test/webpack.config.js && npm run -s mocha",
13-
"mocha": "concurrently -r --kill-others \"serve -p 42421 test/dist\" \"sleep 1 && mocha-chrome http://localhost:42421\""
10+
"dev": "karmatic watch --no-headless",
11+
"test": "npm run build && karmatic",
12+
"release": "npm t && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish"
1413
},
1514
"eslintConfig": {
1615
"extends": "eslint-config-developit",
@@ -34,26 +33,10 @@
3433
"author": "Jason Miller <jason@developit.ca> (http://jasonformat.com)",
3534
"license": "MIT",
3635
"devDependencies": {
37-
"babel-core": "^6.26.0",
38-
"babel-loader": "^7.1.2",
39-
"babel-preset-env": "^1.6.1",
40-
"chai": "^4.1.2",
41-
"chai-as-promised": "^7.1.1",
42-
"concurrently": "^3.5.1",
43-
"css-loader": "^0.28.8",
44-
"eslint": "^4.15.0",
36+
"eslint": "^4.16.0",
4537
"eslint-config-developit": "^1.1.1",
46-
"exports-loader": "^0.6.4",
47-
"fast-async": "^6.3.0",
48-
"html-webpack-plugin": "^2.30.1",
49-
"microbundle": "^0.4.1",
50-
"mocha": "^4.1.0",
51-
"mocha-chrome": "^1.0.3",
52-
"mocha-puppeteer": "^0.13.0",
53-
"serve": "^6.4.4",
54-
"style-loader": "^0.19.1",
55-
"webpack": "^3.10.0",
56-
"webpack-dev-server": "^2.10.1"
38+
"karmatic": "^1.0.5",
39+
"microbundle": "^0.4.2"
5740
},
5841
"dependencies": {
5942
"loader-utils": "^1.1.0"
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,22 @@
1-
import 'babel-polyfill';
21
import './other';
3-
import 'mocha/mocha.css';
4-
import mocha from 'exports-loader?mocha!mocha/mocha';
5-
import chai, { expect } from 'chai';
6-
import chaiAsPromised from 'chai-as-promised';
72
import Worker from 'workerize-loader?ready&name=test!./worker';
83
import InlineWorker from 'workerize-loader?ready&inline&name=test!./worker';
94

10-
document.body.appendChild(document.createElement('div')).id = 'mocha';
11-
mocha.setup('bdd');
12-
setTimeout(mocha.run);
13-
14-
chai.use(chaiAsPromised);
15-
16-
let worker = window.worker = new Worker();
17-
console.log(worker);
18-
195
describe('worker', () => {
6+
let worker;
7+
208
it('should be an instance of Worker', () => {
21-
expect(worker).to.be.an.instanceof(window.Worker);
9+
worker = new Worker();
10+
expect(worker).toEqual(jasmine.any(window.Worker));
2211
});
23-
it('worker.foo()', () => {
24-
expect(worker.foo()).to.eventually.equal(1);
12+
13+
it('worker.foo()', async () => {
14+
expect(await worker.foo()).toBe(1);
2515
});
26-
it('worker.bar()', () => {
27-
expect(worker.bar('a', 'b')).to.eventually.equal('a [bar:3] b');
16+
17+
it('worker.bar()', async () => {
18+
let out = await worker.bar('a', 'b');
19+
expect(out).toEqual('a [bar:3] b');
2820
});
2921

3022
it('should fire ready event', done => {
@@ -34,7 +26,7 @@ describe('worker', () => {
3426
function fin() {
3527
if (isDone) return;
3628
isDone = true;
37-
expect(called).to.equal(true, 'fired "ready" event');
29+
expect(called).toEqual(true);
3830
done();
3931
}
4032
worker.addEventListener('ready', () => {
@@ -54,20 +46,20 @@ describe('async/await demo', () => {
5446
await worker.ready;
5547
elapsed = Date.now()-start;
5648
console.log(`new Worker() [${elapsed}ms]`);
57-
expect(elapsed).to.be.lessThan(300);
49+
expect(elapsed).toBeLessThan(300);
5850

5951
let one = await worker.foo();
6052
elapsed = Date.now()-start;
6153
console.log(`await worker.foo() [${elapsed}ms]: `, one);
62-
expect(one).to.equal(1);
63-
expect(Date.now()-start).to.be.lessThan(300); // @todo why the overhead here?
54+
expect(one).toEqual(1);
55+
expect(Date.now()-start).toBeLessThan(300); // @todo why the overhead here?
6456

6557
start = Date.now();
6658
let two = await worker.bar(1, 2);
6759
elapsed = Date.now()-start;
6860
console.log(`await worker.bar(1, 2) [${elapsed}ms]: `, two);
69-
expect(two).to.equal('1 [bar:3] 2');
70-
expect(Date.now()-start).to.be.lessThan(20);
61+
expect(two).toEqual('1 [bar:3] 2');
62+
expect(Date.now()-start).toBeLessThan(20);
7163
});
7264

7365
it('inline worker', async () => {
@@ -77,20 +69,20 @@ describe('async/await demo', () => {
7769
await worker.ready;
7870
elapsed = Date.now()-start;
7971
console.log(`new InlineWorker() [${elapsed}ms]`);
80-
expect(elapsed).to.be.lessThan(300);
72+
expect(elapsed).toBeLessThan(300);
8173

8274
start = Date.now();
8375
let one = await worker.foo();
8476
elapsed = Date.now()-start;
8577
console.log(`await worker.foo() [${elapsed}ms]: `, one);
86-
expect(one).to.equal(1);
87-
expect(elapsed).to.be.lessThan(20);
78+
expect(one).toEqual(1);
79+
expect(elapsed).toBeLessThan(20);
8880

8981
start = Date.now();
9082
let two = await worker.bar(1, 2);
9183
elapsed = Date.now()-start;
9284
console.log(`await worker.bar(1, 2) [${elapsed}ms]: `, two);
93-
expect(two).to.equal('1 [bar:3] 2');
94-
expect(elapsed).to.be.lessThan(20);
85+
expect(two).toEqual('1 [bar:3] 2');
86+
expect(elapsed).toBeLessThan(20);
9587
});
9688
});

test/webpack.config.js

-71
This file was deleted.

0 commit comments

Comments
 (0)