Skip to content

Commit 74aab3e

Browse files
falsandtrutwada
authored andcommitted
Refactor tests (#52)
* test(power-assert): refactor tests
1 parent 8686c49 commit 74aab3e

14 files changed

+71
-119
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/node_modules
2-
/bower_components
32
/.idea
43
/TODO.txt
54
/espowered_tests

.travis.yml

-4
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,9 @@ addons:
1616
before_install:
1717
- "export DISPLAY=:99.0"
1818
- "sh -e /etc/init.d/xvfb start"
19-
- "npm install -g bower"
2019
- "npm install -g browserify"
2120
- "npm install -g dereserve"
2221
- "npm install -g derequire"
2322
- "npm install -g mocha"
24-
- "npm install -g mocha-phantomjs"
25-
before_script:
26-
- "npm run bower"
2723
script:
2824
- "npm test"

bower.json

-5
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,5 @@
6161
"repository": {
6262
"type": "git",
6363
"url": "git://github.com/power-assert-js/power-assert.git"
64-
},
65-
"devDependencies": {
66-
"expect": "~0.3.1",
67-
"mocha": "~2.4.5",
68-
"requirejs": "~2.1.22"
6964
}
7065
}

karma.conf.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ module.exports = function (config) {
33
basePath: '',
44
frameworks: ['mocha', 'expect'],
55
files: [
6+
{ pattern: 'node_modules/requirejs/require.js', included: false },
7+
{ pattern: 'test/fixture/amd.html', watched: true, served: true, included: false },
68
{ pattern: 'build/power-assert.js', watched: true, served: true, included: true },
7-
{ pattern: 'espowered_tests/tobe_instrumented/power_assert_test.js', watched: true, served: true, included: true },
8-
{ pattern: 'espowered_tests/tobe_instrumented/es6_test.js', watched: true, served: true, included: true },
9-
{ pattern: 'espowered_tests/not_tobe_instrumented/not_instrumented_test.js', watched: true, served: true, included: true }
9+
{ pattern: 'espowered_tests/tobe_instrumented/assertion.js', watched: true, served: true, included: true },
10+
{ pattern: 'espowered_tests/tobe_instrumented/assertion.es6.js', watched: true, served: true, included: true },
11+
{ pattern: 'espowered_tests/tobe_instrumented/customization.js', watched: true, served: true, included: true },
12+
{ pattern: 'espowered_tests/not_tobe_instrumented/not_instrumented.js', watched: true, served: true, included: true },
13+
{ pattern: 'espowered_tests/tobe_instrumented/modules.js', watched: true, served: true, included: true }
1014
],
1115
reporters: ['dots'],
1216
port: 9876,

package.json

+6-7
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@
6464
"mocha": "^2.4.5",
6565
"phantomjs-prebuilt": "^2.1.7",
6666
"qunit-tap": "^1.5.0",
67-
"qunitjs": "1.14.0"
67+
"qunitjs": "1.14.0",
68+
"requirejs": "^2.2.0"
6869
},
6970
"files": [
7071
"CHANGELOG.md",
@@ -91,17 +92,15 @@
9192
"url": "https://github.com/power-assert-js/power-assert.git"
9293
},
9394
"scripts": {
94-
"bower": "bower install --config.interactive=false",
9595
"build": "mkdir -p ./build && npm prune && npm dedupe && browserify -p licensify --standalone assert ./index.js | dereserve | derequire > build/power-assert.js",
9696
"clean": "rm -rf ./espowered_tests && rm -rf ./build",
9797
"setup-dir": "mkdir -p ./build && mkdir -p ./espowered_tests/tobe_instrumented && cp -r test/not_tobe_instrumented/ ./espowered_tests/not_tobe_instrumented/",
98-
"setup-espower": "for i in $(find ./test/tobe_instrumented -name '*_test.js'); do babel --plugins babel-plugin-espower --blacklist strict $i > ./espowered_tests/tobe_instrumented/$(basename $i); done",
98+
"setup-espower": "for i in $(find ./test/tobe_instrumented -name '*.js'); do babel --plugins babel-plugin-espower --blacklist strict $i > ./espowered_tests/tobe_instrumented/$(basename $i); done",
9999
"setup": "npm run clean && npm run setup-dir && npm run setup-espower && npm run build",
100-
"test-unit": "mocha --reporter dot --require ./enable_power_assert.js ./test/**/*_test.js",
101-
"test-generated": "mocha --reporter dot ./espowered_tests/**/*_test.js",
100+
"test-unit": "mocha --reporter dot --require ./enable_power_assert.js ./test/**/*.js",
101+
"test-generated": "mocha --reporter dot ./espowered_tests/**/*.js",
102102
"test-browser": "karma start",
103-
"test-amd": "mocha-phantomjs --reporter dot test/test-amd.html",
104-
"test-all": "npm run test-unit && npm run test-generated && npm run test-browser && npm run test-amd",
103+
"test-all": "npm run test-unit && npm run test-generated && npm run test-browser",
105104
"test": "npm run setup && npm run test-all"
106105
}
107106
}

test/fixture/amd.html

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<script type="text/javascript" src="/base/node_modules/requirejs/require.js"></script>
2+
<script type="text/javascript">
3+
require.config({
4+
paths: {
5+
"power-assert": "/base/build/power-assert"
6+
},
7+
shim: {
8+
"power-assert": {
9+
exports: "assert"
10+
}
11+
}
12+
});
13+
</script>

test/not_tobe_instrumented/not_instrumented_test.js renamed to test/not_tobe_instrumented/not_instrumented.js

+4-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
1-
(function (root, factory) {
2-
'use strict';
3-
4-
if (typeof define === 'function' && define.amd) {
5-
define(['power-assert', 'expect'], factory);
6-
} else if (typeof exports === 'object') {
7-
factory(require('../..'), require('expect.js'));
8-
} else {
9-
factory(root.assert, root.expect);
10-
}
11-
}(this, function (assert, expect) {
1+
if (typeof window === 'undefined') {
2+
var expect = require('expect.js');
3+
var assert = require('../..');
4+
}
125

136
describe('power-assert client should work with not-instrumented code', function () {
147
beforeEach(function () {
@@ -37,5 +30,3 @@ describe('power-assert client should work with not-instrumented code', function
3730
});
3831
});
3932
});
40-
41-
}));

test/rjsconfig.js

-16
This file was deleted.

test/test-amd.html

-31
This file was deleted.

test/tobe_instrumented/es6_test.js renamed to test/tobe_instrumented/assertion.es6.js

+6-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
(function (root, factory) {
2-
'use strict';
1+
if (typeof window === 'undefined') {
2+
var expect = require('expect.js');
3+
var assert = require('../..');
4+
}
35

4-
if (typeof define === 'function' && define.amd) {
5-
define(['power-assert', 'expect'], factory);
6-
} else if (typeof exports === 'object') {
7-
factory(require('../..'), require('expect.js'));
8-
} else {
9-
factory(root.assert, root.expect);
10-
}
11-
}(this, (assert, expect) => {
6+
describe('power-assert es6', function () {
127
'use strict';
138

149
function expectPowerAssertMessage (body, expectedLines) {
@@ -80,4 +75,4 @@
8075
});
8176
});
8277

83-
}));
78+
});

test/tobe_instrumented/power_assert_test.js renamed to test/tobe_instrumented/assertion.js

+4-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
1-
(function (root, factory) {
2-
'use strict';
3-
4-
if (typeof define === 'function' && define.amd) {
5-
define(['power-assert', 'expect'], factory);
6-
} else if (typeof exports === 'object') {
7-
factory(require('../..'), require('expect.js'));
8-
} else {
9-
factory(root.assert, root.expect);
10-
}
11-
}(this, function (assert, expect) {
1+
if (typeof window === 'undefined') {
2+
var expect = require('expect.js');
3+
var assert = require('../..');
4+
}
125

136
describe('power-assert message', function () {
147
beforeEach(function () {
@@ -867,5 +860,3 @@ describe('power-assert message', function () {
867860
});
868861

869862
});
870-
871-
}));

test/tobe_instrumented/customization_test.js renamed to test/tobe_instrumented/customization.js

+7-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
(function (root, factory) {
2-
'use strict';
3-
4-
if (typeof define === 'function' && define.amd) {
5-
define(['power-assert', 'expect'], factory);
6-
} else if (typeof exports === 'object') {
7-
factory(require('../..'), require('expect.js'));
8-
} else {
9-
factory(root.assert, root.expect);
10-
}
11-
}(this, function (assert, expect) {
1+
if (typeof window === 'undefined') {
2+
var expect = require('expect.js');
3+
var assert = require('../..');
4+
}
125

6+
describe('power-assert customization', function () {
137
var orininalAssert = assert;
148

159
function expectPowerAssertMessage (body, expectedLines) {
@@ -20,9 +14,7 @@
2014
if (e.message === 'AssertionError should be thrown') {
2115
throw e;
2216
}
23-
expect(e.message.split('\n').slice(2, -1)).to.eql(expectedLines.map(function (line) {
24-
return line;
25-
}));
17+
expect(e.message.split('\n').slice(2, -1)).to.eql(expectedLines);
2618
}
2719
};
2820

@@ -143,4 +135,4 @@
143135

144136
});
145137

146-
}));
138+
});

test/tobe_instrumented/modules.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
describe('power-assert modules', function () {
2+
if (typeof window === 'undefined') return;
3+
4+
it('global', function () {
5+
assert(true);
6+
});
7+
8+
it('amd', function (done) {
9+
var iframe = document.createElement('iframe');
10+
iframe.src = '/base/test/fixture/amd.html';
11+
document.body.appendChild(iframe);
12+
13+
iframe.onload = function () {
14+
var require = iframe.contentWindow.require;
15+
require([
16+
"power-assert"
17+
], function (assert) {
18+
assert(true);
19+
done();
20+
});
21+
};
22+
});
23+
24+
});

0 commit comments

Comments
 (0)