Skip to content

Commit c6331e8

Browse files
test(): Add karma setup for testing
1 parent cbdeb3e commit c6331e8

File tree

5 files changed

+4353
-1
lines changed

5 files changed

+4353
-1
lines changed

.babelrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"presets": ["es2015"]
3+
}

karma.conf.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// https://github.com/Nikku/karma-browserify
2+
3+
module.exports = function(config) {
4+
5+
config.set({
6+
browsers: [
7+
'PhantomJS',
8+
// 'Chrome'
9+
],
10+
frameworks: ['jasmine'],
11+
files: ['spec/**/*.js'],
12+
reporters: ['spec'],
13+
preprocessors: {
14+
'spec/**/*.js': ['webpack']
15+
},
16+
webpack: {
17+
resolve: {
18+
alias: {
19+
'vue$': 'vue/dist/vue'
20+
}
21+
},
22+
module: {
23+
rules: [{
24+
test: /\.vue$/,
25+
loader: 'vue-loader'
26+
}, {
27+
test: /\.js$/,
28+
loader: 'babel-loader',
29+
exclude: /node_modules/
30+
}]
31+
}
32+
},
33+
// if you want to continuously re-run tests on file-save,
34+
// replace the following line with `autoWatch: true`
35+
singleRun: true
36+
})
37+
}

package.json

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,28 @@
2626
"license": "MIT",
2727
"dependencies": {
2828
"accounting-js": "^1.1.1"
29-
}
29+
},
30+
"scripts": {
31+
"test": "karma start --single-run=false"
32+
},
33+
"devDependencies": {
34+
"babel-core": "^6.21.0",
35+
"babel-loader": "^6.0.0",
36+
"babel-preset-es2015": "^6.18.0",
37+
"babel-register": "^6.23.0",
38+
"cross-env": "^4.0.0",
39+
"jasmine": "^2.5.3",
40+
"karma": "^1.4.0",
41+
"karma-chrome-launcher": "^2.0.0",
42+
"karma-jasmine": "^1.1.0",
43+
"karma-phantomjs-launcher": "^1.0.2",
44+
"karma-spec-reporter": "0.0.26",
45+
"karma-webpack": "^2.0.3",
46+
"vue": "^2.1.8",
47+
"vue-loader": "^11.1.4",
48+
"vue-router": "^2.4.0",
49+
"vue-template-compiler": "^2.2.1",
50+
"webpack": "^2.2.0",
51+
"webpack-dev-server": "^2.2.0"
52+
}
3053
}

spec/vue_numeric.spec.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import Vue from 'vue';
2+
Vue.config.productionTip = false;
3+
import VueNumeric from './../src/vue-numeric.vue';
4+
5+
function getInput(Component, propsData) {
6+
const Ctor = Vue.extend(Component)
7+
const vm = new Ctor({ propsData: propsData }).$mount()
8+
return vm.$el;
9+
}
10+
11+
describe("vue-numeric", function() {
12+
13+
let el;
14+
15+
beforeEach(() => {
16+
el = document.createElement('div');
17+
18+
document.body.appendChild(el);
19+
});
20+
21+
it("Uses the default decimal separator ,", done => {
22+
23+
var input = getInput(VueNumeric, { value: '2000' });
24+
Vue.nextTick(() => {
25+
expect(input.value).toEqual(' 2,000')
26+
done()
27+
});
28+
29+
});
30+
31+
32+
});

0 commit comments

Comments
 (0)