diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..4de5c1e --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,36 @@ +module.exports = function(config) { + config.set({ + basePath: '', + frameworks: ['browserify', 'mocha'], + files: [ + 'blocks/**/test.js' + ], + preprocessors: { + 'blocks/**/*.js': ['browserify'] + }, + browserify: { + debug: true, + transform: [ + [ + 'babelify', + { + presets: ['es2015', 'stage-2', 'react'] + } + ] + ], + configure(bundle) { + bundle.on('prebundle', () => { + bundle.external('react/lib/ReactContext'); + bundle.external('react/lib/ExecutionEnvironment'); + }); + } + }, + reporters: ['progress'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: false, + browsers: ['Chrome'], + singleRun: false, + }); +}; diff --git a/package.json b/package.json index 20e44e6..7b1e79f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "start": "gulp", "unit": "mocha --compilers js:babel-register -r jsdom-global/register blocks/**/test.js", "test": "npm run unit", - "pretest": "npm run lint" + "pretest": "npm run lint", + "karma": "./node_modules/karma/bin/karma start --single-run --browsers PhantomJS", + "karma:watch": "./node_modules/karma/bin/karma start --auto-watch" }, "author": "Vladimir Varankin (http://github.com/narqo)", "license": "WTFPL", @@ -42,11 +44,20 @@ "gulp-jade": "^1.1.0", "gulp-rename": "^1.2.2", "gulp-util": "^3.0.7", + "jasmine-core": "^2.4.1", "jsdom": "^8.4.0", "jsdom-global": "^1.7.0", + "karma": "^0.13.19", + "karma-babel-preprocessor": "^6.0.1", + "karma-browserify": "^5.0.0", + "karma-chrome-launcher": "^0.2.2", + "karma-jasmine": "^0.3.6", + "karma-mocha": "^1.0.1", + "karma-phantomjs-launcher": "^1.0.0", "merge-stream": "^1.0.0", "mocha": "^2.4.5", - "react-addons-test-utils": "^15.0.1", + "phantomjs-prebuilt": "^2.1.4", + "react-addons-test-utils": "^15.0.2", "sinon": "^1.17.3", "vinyl-source-stream": "^1.1.0", "watchify": "^3.7.0"