run es6 tests in karma

This commit is contained in:
Eric Hulburd
2016-03-04 17:43:39 -06:00
parent aa885f331c
commit 43a9daf94e
7 changed files with 162 additions and 48 deletions

View File

@@ -0,0 +1,55 @@
import webpack from 'webpack';
module.exports = {
entry: {
app: __dirname + '/../../config/development/app',
style: __dirname + '/../../config/development/style'
},
output: {
filename: '[name].js',
path: __dirname + '/../../build/development'
},
module: {
loaders: [
{
test: /\.scss$/,
loaders: ['style', 'raw', 'sass']
}, {
test: /\.css$/,
loaders: ['style', 'raw']
}, {
test: /\.js$/,
loader: 'babel'
}, {
test: /\.json$/,
loader: 'json'
}, {
test: /\.rt/,
loader: "react-templates-loader?targetVersion=0.14.0"
}
]
},
sassLoader: {
includePaths: [__dirname + '/../..', __dirname + '/../../../node_modules']
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery"
}),
new webpack.ProvidePlugin({
d3: "d3",
"window.d3": "d3"
})
],
node: {
fs: "empty"
},
resolve: {
alias: {
api: __dirname + '/../../api/development',
config: __dirname + '/../../config/development'
}
}
}

10
examples/example.js Normal file
View File

@@ -0,0 +1,10 @@
class Example {
constructor(){
}
sayHi(){
console.log('hi')
}
}
export default Example;

68
karma.conf.js Normal file
View File

@@ -0,0 +1,68 @@
var path = require('path');
module.exports = function (config) {
config.set({
browsers: ['PhantomJS'],
//coverageReporter: {
// reporters: [
// { type: 'html', subdir: 'html' },
// { type: 'lcovonly', subdir: '.' },
// ],
// },
files: [
'tests.webpack.js',
],
frameworks: [
'jasmine',
],
preprocessors: {
'tests.webpack.js': ['webpack', 'sourcemap'],
},
reporters: ['progress'],
webpack: {
cache: true,
devtool: 'inline-source-map',
module: {
preLoaders: [
{
test: /\.test\.js$/,
include: /spec/,
exclude: /node_modules/,
loader: 'babel',
query: {
cacheDirectory: true,
},
}/*, {
test: /\.js?$/,
include: /(client|shared)/,
exclude: /(node_modules|spec)/,
loader: 'babel-istanbul',
query: {
cacheDirectory: true,
},
}*/
],
loaders: [
{
test: /\.js$/,
include: /(client|shared)/,
exclude: /(node_modules|spec)/,
loader: 'babel',
query: {
cacheDirectory: true,
},
}, {
test: /\.json$/,
loader: 'json'
}
],
},
resolve: {
alias: {
api: __dirname + '/client/api/development',
config: __dirname + '/client/config/development'
}
}
},
});
};

View File

@@ -1,45 +0,0 @@
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@3.5.3
3 info using node@v5.4.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle spike_proto@0.0.0~prestart: spike_proto@0.0.0
6 silly lifecycle spike_proto@0.0.0~prestart: no script for prestart, continuing
7 info lifecycle spike_proto@0.0.0~start: spike_proto@0.0.0
8 verbose lifecycle spike_proto@0.0.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle spike_proto@0.0.0~start: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/eric/Code/spike2/node_modules/.bin:/home/eric/.rvm/gems/ruby-1.9.3-p484@oroeco_dev/bin:/home/eric/.rvm/gems/ruby-1.9.3-p484@global/bin:/home/eric/.rvm/rubies/ruby-1.9.3-p484/bin:/home/eric/.rvm/bin:/home/eric/bin:/usr/local/heroku/bin:/home/eric/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/lampp/bin
10 verbose lifecycle spike_proto@0.0.0~start: CWD: /home/eric/Code/spike2
11 silly lifecycle spike_proto@0.0.0~start: Args: [ '-c', 'babel-node ./server/app.express.js' ]
12 silly lifecycle spike_proto@0.0.0~start: Returned: code: 1 signal: null
13 info lifecycle spike_proto@0.0.0~start: Failed to exec start script
14 verbose stack Error: spike_proto@0.0.0 start: `babel-node ./server/app.express.js`
14 verbose stack Exit status 1
14 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)
14 verbose stack at emitTwo (events.js:87:13)
14 verbose stack at EventEmitter.emit (events.js:172:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
14 verbose stack at emitTwo (events.js:87:13)
14 verbose stack at ChildProcess.emit (events.js:172:7)
14 verbose stack at maybeClose (internal/child_process.js:821:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
15 verbose pkgid spike_proto@0.0.0
16 verbose cwd /home/eric/Code/spike2
17 error Linux 3.19.0-51-generic
18 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
19 error node v5.4.1
20 error npm v3.5.3
21 error code ELIFECYCLE
22 error spike_proto@0.0.0 start: `babel-node ./server/app.express.js`
22 error Exit status 1
23 error Failed at the spike_proto@0.0.0 start script 'babel-node ./server/app.express.js'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the spike_proto package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error babel-node ./server/app.express.js
23 error You can get information on how to open an issue for this project with:
23 error npm bugs spike_proto
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls spike_proto
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

View File

@@ -50,6 +50,17 @@
"gulp-copy": "0.0.2",
"jasmine-core": "2.4.1",
"react-templates": "0.4.1",
"jasmine-es6": "0.1.4"
"jasmine-es6": "0.1.4",
"karma": "^0.13.19",
"babel-plugin-add-module-exports": "^0.1.2",
"karma-webpack": "^1.7.0",
"karma-chrome-launcher": "^0.2.2",
"karma-coverage": "^0.5.3",
"karma-jasmine": "^0.3.6",
"karma-sourcemap-loader": "^0.3.7",
"phantomjs-prebuilt": "2.1.4",
"babel-istanbul": "^0.6.0",
"babel-istanbul-loader": "0.0.1",
"karma-phantomjs-launcher": "1.0.0"
}
}

View File

@@ -52,8 +52,9 @@ describe('house#setMonthState', ()=>{
house.setMonthState({
month: 'Mar',
year: 2015
}, [ power_min, power_max ]);
year: 2015,
power_range: [ power_min, power_max ]
});
expect(house.state.month).toEqual('Mar');
expect(house.state.year).toEqual(2015);

14
tests.webpack.js Normal file
View File

@@ -0,0 +1,14 @@
// Require babel polyfill for browser.
require('babel-polyfill');
var testsContext = require.context('./spec', true, /\.test\.js$/);
testsContext.keys().forEach(testsContext);
require('./client/models/house');
require('./shared/utils/date_range');
/*
var srcContext = require.context('./client', true, /\.js$/);
srcContext.keys().forEach(srcContext);*/