Skip to content
This repository was archived by the owner on Oct 26, 2018. It is now read-only.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 8422f9f

Browse files
committedDec 3, 2015
Merge pull request #52 from ellbee/simple_karma_config
Simple Karma config for browser testing
2 parents c65645b + 21adf55 commit 8422f9f

File tree

8 files changed

+578
-463
lines changed

8 files changed

+578
-463
lines changed
 

‎.babelrc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"presets": ["es2015"]
3-
}
2+
"presets": ["es2015"],
3+
"plugins": ["transform-object-assign"]
4+
}

‎karma.conf.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
var path = require('path');
2+
var webpack = require('webpack');
3+
4+
module.exports = function (config) {
5+
6+
var runCoverage = process.env.COVERAGE === 'true';
7+
8+
var coverageLoaders = [];
9+
var coverageReporters = [];
10+
11+
if (runCoverage) {
12+
coverageLoaders.push({
13+
test: /\.js$/,
14+
include: path.resolve('src/'),
15+
loader: 'isparta'
16+
}),
17+
18+
coverageReporters.push('coverage');
19+
}
20+
21+
config.set({
22+
23+
browsers: [ 'Firefox' ],
24+
frameworks: [ 'mocha' ],
25+
reporters: [ 'mocha' ].concat(coverageReporters),
26+
27+
files: [
28+
'tests.webpack.js'
29+
],
30+
31+
preprocessors: {
32+
'tests.webpack.js': [ 'webpack', 'sourcemap' ]
33+
},
34+
35+
singleRun: true,
36+
37+
webpack: {
38+
devtool: 'inline-source-map',
39+
module: {
40+
preLoaders: [
41+
{
42+
test: /\.js$/,
43+
exclude: [
44+
path.resolve('node_modules/')
45+
],
46+
loader: 'babel'
47+
},
48+
].concat(coverageLoaders)
49+
}
50+
},
51+
52+
webpackServer: {
53+
noInfo: true
54+
},
55+
56+
coverageReporter: {
57+
reporters: [
58+
{ type: 'text' },
59+
{ type: 'json', subdir: 'browser-coverage', file: 'coverage.json' }
60+
]
61+
}
62+
});
63+
};

‎package.json

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@
1212
],
1313
"license": "MIT",
1414
"scripts": {
15-
"build": "mkdir -p lib && babel ./src/index.js --plugins transform-object-assign --out-file ./lib/index.js",
16-
"test": "mocha --compilers js:babel-core/register --recursive",
17-
"test:cov": "babel-node $(npm bin)/isparta cover $(npm bin)/_mocha -- --recursive",
15+
"build": "mkdir -p lib && babel ./src/index.js --out-file ./lib/index.js",
16+
"test": "npm run test:node && npm run test:browser",
17+
"test:node": "mocha --compilers js:babel-core/register --recursive ./test/node",
18+
"test:browser": "karma start",
19+
"test:cov": "npm run test:cov:browser && npm run test:cov:node && npm run test:cov:report",
20+
"test:cov:node": "babel-node $(npm bin)/isparta cover $(npm bin)/_mocha report --dir ./coverage/node-coverage -- --recursive ./test/node",
21+
"test:cov:browser": "COVERAGE=true karma start",
22+
"test:cov:report": "$(npm bin)/istanbul report --dir ./coverage --include **/*coverage.json html text",
1823
"prepublish": "npm run build"
1924
},
2025
"tags": [
@@ -29,13 +34,26 @@
2934
"devDependencies": {
3035
"babel-cli": "^6.1.2",
3136
"babel-core": "^6.2.1",
37+
"babel-loader": "^6.2.0",
3238
"babel-plugin-transform-object-assign": "^6.0.14",
3339
"babel-preset-es2015": "^6.1.2",
3440
"expect": "^1.13.0",
3541
"history": "^1.13.1",
3642
"isparta": "^4.0.0",
43+
"isparta-loader": "^2.0.0",
44+
"karma": "^0.13.3",
45+
"karma-chrome-launcher": "^0.2.0",
46+
"karma-coverage": "^0.5.3",
47+
"karma-firefox-launcher": "^0.1.7",
48+
"karma-ie-launcher": "^0.2.0",
49+
"karma-mocha": "^0.2.0",
50+
"karma-mocha-reporter": "^1.0.4",
51+
"karma-safari-launcher": "^0.1.1",
52+
"karma-sourcemap-loader": "^0.3.5",
53+
"karma-webpack": "^1.7.0",
3754
"mocha": "^2.3.4",
38-
"redux": "^3.0.4"
55+
"redux": "^3.0.4",
56+
"webpack": "^1.12.9"
3957
},
4058
"dependencies": {
4159
"deep-equal": "^1.0.1"

‎test/browser/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const { createHashHistory, createHistory } = require('history');
2+
const createTests = require('../createTests.js');
3+
4+
createTests(createHashHistory, 'Hash History', () => window.location = '#/');
5+
createTests(createHistory, 'Browser History', () => window.history.replaceState(null, null, '/'));

‎test/createTests.js

Lines changed: 479 additions & 0 deletions
Large diffs are not rendered by default.

‎test/index.js

Lines changed: 0 additions & 457 deletions
This file was deleted.

‎test/node/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const { createMemoryHistory } = require('history');
2+
const createTests = require('../createTests.js');
3+
4+
createTests(createMemoryHistory, 'Memory History');

‎tests.webpack.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
const browserContext = require.context('./test/browser', true, /\.js$/);
2+
browserContext.keys().forEach(browserContext);

0 commit comments

Comments
 (0)
This repository has been archived.