Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 93516a0

Browse filesBrowse files
committed
test: add sinon.js for spies, deprecate current assertions
- the goal is to get overall cleaner test. - chai and sinon are standard libraries for testing assertions and spies. We should not use custom ones.
1 parent 93e284e commit 93516a0
Copy full SHA for 93516a0

File tree

Expand file treeCollapse file tree

12 files changed

+169
-13
lines changed
Filter options
Expand file treeCollapse file tree

12 files changed

+169
-13
lines changed

‎package-lock.json

Copy file name to clipboardExpand all lines: package-lock.json
+119-1Lines changed: 119 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

Copy file name to clipboardExpand all lines: package.json
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"mock-stdin": "^0.3.0",
6161
"mustache": "^2.1.3",
6262
"semver": "^5.0.1",
63+
"sinon": "^7.5.0",
6364
"typescript": "^3.4.3",
6465
"underscore": "^1.5.1",
6566
"webpack": "^1.12.6",

‎spec/.eslintrc

Copy file name to clipboardExpand all lines: spec/.eslintrc
+6-3Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,18 @@
2828
"stop": true,
2929
"ok": true,
3030
"strictEqual": true,
31-
"define": true
31+
"define": true,
32+
"expect": true,
33+
"chai": true
3234
},
3335
"env": {
3436
"mocha": true
3537
},
3638
"rules": {
3739
// Disabling for tests, for now.
38-
"no-path-concat": 0,
40+
"no-path-concat": "off",
3941

40-
"no-var": 0
42+
"no-var": "off",
43+
"dot-notation": "off"
4144
}
4245
}

‎spec/amd-runtime.html

Copy file name to clipboardExpand all lines: spec/amd-runtime.html
+4-1Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@
1818
document.documentElement.className = 'headless';
1919
}
2020
</script>
21+
<script src="/node_modules/sinon/pkg/sinon.js"></script>
22+
<script src="/node_modules/chai/chai.js"></script>
23+
<script src="/node_modules/dirty-chai/lib/dirty-chai.js"></script>
2124
<script src="/node_modules/mocha/mocha.js"></script>
2225
<script>
26+
window.expect = chai.expect;
2327
mocha.setup('bdd');
2428
</script>
25-
2629
<script src="/spec/env/json2.js"></script>
2730
<script src="/spec/env/require.js"></script>
2831

‎spec/amd.html

Copy file name to clipboardExpand all lines: spec/amd.html
+4-1Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@
1919
document.documentElement.className = 'headless';
2020
}
2121
</script>
22+
<script src="/node_modules/sinon/pkg/sinon.js"></script>
23+
<script src="/node_modules/chai/chai.js"></script>
24+
<script src="/node_modules/dirty-chai/lib/dirty-chai.js"></script>
2225
<script src="/node_modules/mocha/mocha.js"></script>
2326
<script>
27+
window.expect = chai.expect;
2428
mocha.setup('bdd');
2529
</script>
26-
2730
<script src="/spec/env/json2.js"></script>
2831
<script src="/spec/env/require.js"></script>
2932

‎spec/env/browser.js

Copy file name to clipboardExpand all lines: spec/env/browser.js
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@ require('./common');
33
var fs = require('fs'),
44
vm = require('vm');
55

6+
var chai = require('chai');
7+
var dirtyChai = require('dirty-chai');
8+
9+
10+
chai.use(dirtyChai);
11+
global.expect = chai.expect;
12+
13+
global.sinon = require('sinon');
14+
615
global.Handlebars = 'no-conflict';
716

817
var filename = 'dist/handlebars.js';

‎spec/env/common.js

Copy file name to clipboardExpand all lines: spec/env/common.js
+8Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,20 @@ global.compileWithPartials = function(string, hashOrArray, partials) {
6363
};
6464

6565

66+
/**
67+
* @deprecated Use chai's expect-style API instead (`expect(actualValue).to.equal(expectedValue)`)
68+
* @see https://www.chaijs.com/api/bdd/
69+
*/
6670
global.equals = global.equal = function equals(a, b, msg) {
6771
if (a !== b) {
6872
throw new AssertError("'" + a + "' should === '" + b + "'" + (msg ? ': ' + msg : ''), equals);
6973
}
7074
};
7175

76+
/**
77+
* @deprecated Use chai's expect-style API instead (`expect(actualValue).to.equal(expectedValue)`)
78+
* @see https://www.chaijs.com/api/bdd/#method_throw
79+
*/
7280
global.shouldThrow = function(callback, type, msg) {
7381
var failed;
7482
try {

‎spec/env/node.js

Copy file name to clipboardExpand all lines: spec/env/node.js
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ require('./common');
33
var chai = require('chai');
44
var dirtyChai = require('dirty-chai');
55

6+
67
chai.use(dirtyChai);
78
global.expect = chai.expect;
89

10+
global.sinon = require('sinon');
11+
912
global.Handlebars = require('../../lib');
1013

1114
global.CompilerContext = {

‎spec/index.html

Copy file name to clipboardExpand all lines: spec/index.html
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@
1919
document.documentElement.className = 'headless';
2020
}
2121
</script>
22-
<script src="/node_modules/mocha/mocha.js"></script>
22+
<script src="/node_modules/sinon/pkg/sinon.js"></script>
2323
<script src="/node_modules/chai/chai.js"></script>
2424
<script src="/node_modules/dirty-chai/lib/dirty-chai.js"></script>
25+
<script src="/node_modules/mocha/mocha.js"></script>
2526
<script>
27+
window.expect = chai.expect;
2628
mocha.setup('bdd');
2729
</script>
2830
<script src="/dist/handlebars.js"></script>
29-
3031
<script src="/spec/env/json2.js"></script>
3132
<script src="/spec/env/common.js"></script>
3233
<script>

‎spec/security.js

Copy file name to clipboardExpand all lines: spec/security.js
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ describe('security issues', function() {
7575
});
7676
it('should throw an exception when calling "{{blockHelperMissing "abc" .}}" ', function() {
7777
var functionCalls = [];
78-
shouldThrow(function() {
78+
expect(function() {
7979
var template = Handlebars.compile('{{blockHelperMissing "abc" .}}');
8080
template({ fn: function() { functionCalls.push('called'); }});
81-
}, Error);
82-
equals(functionCalls.length, 0);
81+
}).to.throw(Error);
82+
expect(functionCalls.length).to.equal(0);
8383
});
8484
it('should throw an exception when calling "{{#blockHelperMissing .}}{{/blockHelperMissing}}"', function() {
8585
shouldThrow(function() {

‎spec/umd-runtime.html

Copy file name to clipboardExpand all lines: spec/umd-runtime.html
+4-1Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@
1818
document.documentElement.className = 'headless';
1919
}
2020
</script>
21+
<script src="/node_modules/sinon/pkg/sinon.js"></script>
22+
<script src="/node_modules/chai/chai.js"></script>
23+
<script src="/node_modules/dirty-chai/lib/dirty-chai.js"></script>
2124
<script src="/node_modules/mocha/mocha.js"></script>
2225
<script>
26+
window.expect = chai.expect;
2327
mocha.setup('bdd');
2428
</script>
25-
2629
<script src="/spec/env/json2.js"></script>
2730
<script src="/spec/env/require.js"></script>
2831

‎spec/umd.html

Copy file name to clipboardExpand all lines: spec/umd.html
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,15 @@
1818
document.documentElement.className = 'headless';
1919
}
2020
</script>
21+
22+
<script src="/node_modules/sinon/pkg/sinon.js"></script>
23+
<script src="/node_modules/chai/chai.js"></script>
24+
<script src="/node_modules/dirty-chai/lib/dirty-chai.js"></script>
2125
<script src="/node_modules/mocha/mocha.js"></script>
2226
<script>
27+
window.expect = chai.expect;
2328
mocha.setup('bdd');
2429
</script>
25-
2630
<script src="/spec/env/json2.js"></script>
2731
<script src="/spec/env/require.js"></script>
2832

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.