Skip to content

Commit f7aa61c

Browse files
committed
test(browser): introduce browser tests
use npm run setup-browser-tests, open root/browser-tests.html in the browser, then npm run teardown-browser-tests
1 parent cf35f4b commit f7aa61c

File tree

5 files changed

+61
-3
lines changed

5 files changed

+61
-3
lines changed

browser-tests.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<html>
2+
<head>
3+
<meta charset="utf-8">
4+
<title>Mocha Tests</title>
5+
<link href="./node_modules/mocha/mocha.css" rel="stylesheet" />
6+
</head>
7+
<body>
8+
<div id="mocha"></div>
9+
<script src="./node_modules/mocha/mocha.js"></script>
10+
<script>mocha.setup('bdd');</script>
11+
<script src="./browser-tests/tests-bundle.js"></script>
12+
<script>
13+
mocha.run();
14+
</script>
15+
</body>
16+
</html>

browser-tests/index.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
require('../tests/stream');
2+
require('../tests/memoryStream');
3+
require('../tests/operator/debug');
4+
require('../tests/operator/drop');
5+
require('../tests/operator/endWhen');
6+
require('../tests/operator/filter');
7+
require('../tests/operator/flatten');
8+
require('../tests/operator/fold');
9+
require('../tests/operator/imitate');
10+
require('../tests/operator/last');
11+
require('../tests/operator/map');
12+
require('../tests/operator/mapTo');
13+
require('../tests/operator/remember');
14+
require('../tests/operator/replaceError');
15+
require('../tests/operator/startWith');
16+
require('../tests/operator/take');
17+
require('../tests/factory/combine');
18+
require('../tests/factory/empty');
19+
require('../tests/factory/from');
20+
require('../tests/factory/fromArray');
21+
require('../tests/factory/fromObservable');
22+
require('../tests/factory/fromPromise');
23+
require('../tests/factory/merge');
24+
require('../tests/factory/never');
25+
require('../tests/factory/of');
26+
require('../tests/factory/throw');
27+
require('../tests/extra/concat');
28+
require('../tests/extra/debounce');
29+
require('../tests/extra/delay');
30+
require('../tests/extra/dropRepeats');
31+
require('../tests/extra/dropUntil');
32+
require('../tests/extra/flattenConcurrently');
33+
require('../tests/extra/flattenSequentially');
34+
require('../tests/extra/fromDiagram');
35+
require('../tests/extra/fromEvent');
36+
require('../tests/extra/pairwise');
37+
require('../tests/extra/sampleCombine');
38+
require('../tests/extra/split');
39+
require('../tests/extra/throttle');
40+
require('../tests/extra/tween');

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
"lint": "tslint -c tslint.json src/**/*.ts src/extra/*.ts",
1111
"premocha": "npm run compile",
1212
"mocha": "mocha tests/*.ts tests/**/*.ts --require ts-node/register",
13-
"postmocha": "rm -rf tests/**/*.js",
1413
"test": "npm run lint && npm run mocha && npm run doctest",
1514
"doctest": "markdown-doctest",
15+
"setup-browser-tests": "browserify browser-tests/index.ts -p [ tsify ] > browser-tests/tests-bundle.js",
16+
"teardown-browser-tests": "rm browser-tests/tests-bundle.js",
1617
"precompile": "typings install",
1718
"compile": "tsc",
1819
"page-content": "npm run compile && rm -rf .ignore/ && mkdirp .ignore/ && npm run changelog && node tools/make-toc.js && node tools/make-factories.js && node tools/make-methods.js && cat markdown/header.md markdown/generated-toc.md markdown/overview.md markdown/generated-factories.md markdown/generated-methods.md markdown/footer.md > .ignore/content.md",
@@ -63,6 +64,7 @@
6364
"sinon": "^1.16.0",
6465
"strip-comments": "^0.4.4",
6566
"ts-node": "^0.9.0",
67+
"tsify": "^2.0.3",
6668
"tslint": "^3.6.0",
6769
"typescript": "^2.0.3",
6870
"typings": "^1.4.0",

tests/extra/flattenConcurrently.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe('flattenConcurrently (extra)', () => {
4343

4444
it('should expand 3 sync events as a periodic each', (done) => {
4545
const stream = xs.of(0, 1, 2)
46-
.map(i => xs.periodic(100 * i).take(2).map(x => `${i}${x}`))
46+
.map(i => xs.periodic(100 * (i + 1)).take(2).map(x => `${i}${x}`))
4747
.compose(flattenConcurrently);
4848
// ---x---x---x---x---x---x
4949
// ---00--01

tests/stream.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ describe('Stream', () => {
148148
assert.equal(expected1.length, 0);
149149
assert.equal(expected2.length, 0);
150150
done();
151-
}, 400);
151+
}, 350);
152152
});
153153

154154
it('should not stop if listener is synchronously removed and re-added', (done) => {

0 commit comments

Comments
 (0)