jasmine-core 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/console/console.js +1 -1
- data/lib/jasmine-core/boot.js +1 -1
- data/lib/jasmine-core/jasmine-html.js +15 -7
- data/lib/jasmine-core/jasmine.js +261 -82
- data/lib/jasmine-core/node_boot.js +1 -1
- data/lib/jasmine-core/spec/console/ConsoleReporterSpec.js +16 -16
- data/lib/jasmine-core/spec/core/CallTrackerSpec.js +26 -11
- data/lib/jasmine-core/spec/core/ClockSpec.js +61 -42
- data/lib/jasmine-core/spec/core/DelayedFunctionSchedulerSpec.js +28 -15
- data/lib/jasmine-core/spec/core/EnvSpec.js +8 -8
- data/lib/jasmine-core/spec/core/ExceptionFormatterSpec.js +6 -6
- data/lib/jasmine-core/spec/core/ExceptionsSpec.js +1 -1
- data/lib/jasmine-core/spec/core/ExpectationResultSpec.js +8 -8
- data/lib/jasmine-core/spec/core/ExpectationSpec.js +17 -17
- data/lib/jasmine-core/spec/core/JsApiReporterSpec.js +14 -14
- data/lib/jasmine-core/spec/core/MockDateSpec.js +14 -14
- data/lib/jasmine-core/spec/core/PrettyPrintSpec.js +65 -56
- data/lib/jasmine-core/spec/core/QueueRunnerSpec.js +32 -18
- data/lib/jasmine-core/spec/core/ReportDispatcherSpec.js +27 -3
- data/lib/jasmine-core/spec/core/SpecSpec.js +37 -37
- data/lib/jasmine-core/spec/core/SpyRegistrySpec.js +46 -7
- data/lib/jasmine-core/spec/core/SpySpec.js +11 -11
- data/lib/jasmine-core/spec/core/SpyStrategySpec.js +25 -13
- data/lib/jasmine-core/spec/core/SuiteSpec.js +25 -25
- data/lib/jasmine-core/spec/core/TimerSpec.js +2 -2
- data/lib/jasmine-core/spec/core/TreeProcessorSpec.js +26 -26
- data/lib/jasmine-core/spec/core/UtilSpec.js +12 -12
- data/lib/jasmine-core/spec/core/asymmetric_equality/AnySpec.js +8 -8
- data/lib/jasmine-core/spec/core/asymmetric_equality/AnythingSpec.js +7 -7
- data/lib/jasmine-core/spec/core/asymmetric_equality/ArrayContainingSpec.js +6 -6
- data/lib/jasmine-core/spec/core/asymmetric_equality/ObjectContainingSpec.js +11 -11
- data/lib/jasmine-core/spec/core/asymmetric_equality/StringMatchingSpec.js +4 -4
- data/lib/jasmine-core/spec/core/formatErrorMsgSpec.js +13 -0
- data/lib/jasmine-core/spec/core/integration/CustomMatchersSpec.js +2 -2
- data/lib/jasmine-core/spec/core/integration/EnvSpec.js +195 -76
- data/lib/jasmine-core/spec/core/integration/SpecRunningSpec.js +20 -21
- data/lib/jasmine-core/spec/core/matchers/matchersUtilSpec.js +164 -114
- data/lib/jasmine-core/spec/core/matchers/toBeCloseToSpec.js +4 -4
- data/lib/jasmine-core/spec/core/matchers/toBeDefinedSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeFalsySpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeGreaterThanOrEqualSpec.js +29 -0
- data/lib/jasmine-core/spec/core/matchers/toBeGreaterThanSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeLessThanOrEqualSpec.js +29 -0
- data/lib/jasmine-core/spec/core/matchers/toBeLessThanSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeNaNSpec.js +3 -3
- data/lib/jasmine-core/spec/core/matchers/toBeNullSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeTruthySpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toBeUndefinedSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toContainSpec.js +4 -4
- data/lib/jasmine-core/spec/core/matchers/toEqualSpec.js +2 -2
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledSpec.js +11 -11
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledTimesSpec.js +22 -17
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledWithSpec.js +11 -10
- data/lib/jasmine-core/spec/core/matchers/toMatchSpec.js +7 -6
- data/lib/jasmine-core/spec/core/matchers/toThrowErrorSpec.js +24 -24
- data/lib/jasmine-core/spec/core/matchers/toThrowSpec.js +9 -8
- data/lib/jasmine-core/spec/helpers/defineJasmineUnderTest.js +3 -3
- data/lib/jasmine-core/spec/helpers/nodeDefineJasmineUnderTest.js +5 -5
- data/lib/jasmine-core/spec/html/HtmlReporterSpec.js +95 -59
- data/lib/jasmine-core/spec/html/HtmlSpecFilterSpec.js +3 -3
- data/lib/jasmine-core/spec/html/MatchersHtmlSpec.js +1 -1
- data/lib/jasmine-core/spec/html/PrettyPrintHtmlSpec.js +4 -4
- data/lib/jasmine-core/spec/html/QueryStringSpec.js +5 -5
- data/lib/jasmine-core/spec/html/ResultsNodeSpec.js +4 -4
- data/lib/jasmine-core/spec/npmPackage/npmPackageSpec.js +2 -2
- data/lib/jasmine-core/spec/performance/large_object_test.js +1 -1
- data/lib/jasmine-core/version.rb +1 -1
- metadata +5 -3
- data/lib/jasmine-core/spec/node_suite.js +0 -195
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeCloseTo", function() {
|
2
2
|
it("passes when within two decimal places by default", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeCloseTo(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(0, 0);
|
@@ -11,7 +11,7 @@ describe("toBeCloseTo", function() {
|
|
11
11
|
});
|
12
12
|
|
13
13
|
it("fails when not within two decimal places by default", function() {
|
14
|
-
var matcher =
|
14
|
+
var matcher = jasmineUnderTest.matchers.toBeCloseTo(),
|
15
15
|
result;
|
16
16
|
|
17
17
|
result = matcher.compare(0, 0.01);
|
@@ -19,7 +19,7 @@ describe("toBeCloseTo", function() {
|
|
19
19
|
});
|
20
20
|
|
21
21
|
it("accepts an optional precision argument", function() {
|
22
|
-
var matcher =
|
22
|
+
var matcher = jasmineUnderTest.matchers.toBeCloseTo(),
|
23
23
|
result;
|
24
24
|
|
25
25
|
result = matcher.compare(0, 0.1, 0);
|
@@ -30,7 +30,7 @@ describe("toBeCloseTo", function() {
|
|
30
30
|
});
|
31
31
|
|
32
32
|
it("rounds expected values", function() {
|
33
|
-
var matcher =
|
33
|
+
var matcher = jasmineUnderTest.matchers.toBeCloseTo(),
|
34
34
|
result;
|
35
35
|
|
36
36
|
result = matcher.compare(1.23, 1.229);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeDefined", function() {
|
2
2
|
it("matches for defined values", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeDefined(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
|
@@ -9,7 +9,7 @@ describe("toBeDefined", function() {
|
|
9
9
|
});
|
10
10
|
|
11
11
|
it("fails when matching undefined values", function() {
|
12
|
-
var matcher =
|
12
|
+
var matcher = jasmineUnderTest.matchers.toBeDefined(),
|
13
13
|
result;
|
14
14
|
|
15
15
|
result = matcher.compare(void 0);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeFalsy", function() {
|
2
2
|
it("passes for 'falsy' values", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeFalsy(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(false);
|
@@ -20,7 +20,7 @@ describe("toBeFalsy", function() {
|
|
20
20
|
});
|
21
21
|
|
22
22
|
it("fails for 'truthy' values", function() {
|
23
|
-
var matcher =
|
23
|
+
var matcher = jasmineUnderTest.matchers.toBeFalsy(),
|
24
24
|
result;
|
25
25
|
|
26
26
|
result = matcher.compare(true);
|
@@ -0,0 +1,29 @@
|
|
1
|
+
describe("toBeGreaterThanOrEqual", function() {
|
2
|
+
it("passes when actual >= expected", function() {
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(),
|
4
|
+
result;
|
5
|
+
|
6
|
+
result = matcher.compare(2, 1);
|
7
|
+
expect(result.pass).toBe(true);
|
8
|
+
|
9
|
+
result = matcher.compare(1, 1);
|
10
|
+
expect(result.pass).toBe(true);
|
11
|
+
|
12
|
+
result = matcher.compare(1.0000001, 1);
|
13
|
+
expect(result.pass).toBe(true);
|
14
|
+
|
15
|
+
result = matcher.compare(1.0, 1.0);
|
16
|
+
expect(result.pass).toBe(true);
|
17
|
+
})
|
18
|
+
|
19
|
+
it("fails when actual < expected", function() {
|
20
|
+
var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(),
|
21
|
+
result;
|
22
|
+
|
23
|
+
result = matcher.compare(1, 2);
|
24
|
+
expect(result.pass).toBe(false);
|
25
|
+
|
26
|
+
result = matcher.compare(1, 1.0000001);
|
27
|
+
expect(result.pass).toBe(false);
|
28
|
+
})
|
29
|
+
});
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeGreaterThan", function() {
|
2
2
|
it("passes when actual > expected", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeGreaterThan(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(2, 1);
|
@@ -8,7 +8,7 @@ describe("toBeGreaterThan", function() {
|
|
8
8
|
});
|
9
9
|
|
10
10
|
it("fails when actual <= expected", function() {
|
11
|
-
var matcher =
|
11
|
+
var matcher = jasmineUnderTest.matchers.toBeGreaterThan(),
|
12
12
|
result;
|
13
13
|
|
14
14
|
result = matcher.compare(1, 1);
|
@@ -0,0 +1,29 @@
|
|
1
|
+
describe("toBeLessThanOrEqual", function() {
|
2
|
+
it("passes when actual <= expected", function() {
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(),
|
4
|
+
result;
|
5
|
+
|
6
|
+
result = matcher.compare(1, 2);
|
7
|
+
expect(result.pass).toBe(true);
|
8
|
+
|
9
|
+
result = matcher.compare(1, 1);
|
10
|
+
expect(result.pass).toBe(true);
|
11
|
+
|
12
|
+
result = matcher.compare(1, 1.0000001);
|
13
|
+
expect(result.pass).toBe(true);
|
14
|
+
|
15
|
+
result = matcher.compare(1.0, 1.0);
|
16
|
+
expect(result.pass).toBe(true);
|
17
|
+
});
|
18
|
+
|
19
|
+
it("fails when actual < expected", function() {
|
20
|
+
var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(),
|
21
|
+
result;
|
22
|
+
|
23
|
+
result = matcher.compare(2, 1);
|
24
|
+
expect(result.pass).toBe(false);
|
25
|
+
|
26
|
+
result = matcher.compare(1.0000001, 1);
|
27
|
+
expect(result.pass).toBe(false);
|
28
|
+
});
|
29
|
+
});
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeLessThan", function() {
|
2
2
|
it("passes when actual < expected", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeLessThan(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(1, 2);
|
@@ -8,7 +8,7 @@ describe("toBeLessThan", function() {
|
|
8
8
|
});
|
9
9
|
|
10
10
|
it("fails when actual <= expected", function() {
|
11
|
-
var matcher =
|
11
|
+
var matcher = jasmineUnderTest.matchers.toBeLessThan(),
|
12
12
|
result;
|
13
13
|
|
14
14
|
result = matcher.compare(1, 1);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeNaN", function() {
|
2
2
|
it("passes for NaN with a custom .not fail", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeNaN(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(Number.NaN);
|
@@ -9,7 +9,7 @@ describe("toBeNaN", function() {
|
|
9
9
|
});
|
10
10
|
|
11
11
|
it("fails for anything not a NaN", function() {
|
12
|
-
var matcher =
|
12
|
+
var matcher = jasmineUnderTest.matchers.toBeNaN(),
|
13
13
|
result;
|
14
14
|
|
15
15
|
result = matcher.compare(1);
|
@@ -29,7 +29,7 @@ describe("toBeNaN", function() {
|
|
29
29
|
});
|
30
30
|
|
31
31
|
it("has a custom message on failure", function() {
|
32
|
-
var matcher =
|
32
|
+
var matcher = jasmineUnderTest.matchers.toBeNaN(),
|
33
33
|
result = matcher.compare(0);
|
34
34
|
|
35
35
|
expect(result.message()).toEqual("Expected 0 to be NaN.");
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeNull", function() {
|
2
2
|
it("passes for null", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeNull(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(null);
|
@@ -8,7 +8,7 @@ describe("toBeNull", function() {
|
|
8
8
|
});
|
9
9
|
|
10
10
|
it("fails for non-null", function() {
|
11
|
-
var matcher =
|
11
|
+
var matcher = jasmineUnderTest.matchers.toBeNull(),
|
12
12
|
result;
|
13
13
|
|
14
14
|
result = matcher.compare('foo');
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBe", function() {
|
2
2
|
it("passes when actual === expected", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBe(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(1, 1);
|
@@ -8,7 +8,7 @@ describe("toBe", function() {
|
|
8
8
|
});
|
9
9
|
|
10
10
|
it("fails when actual !== expected", function() {
|
11
|
-
var matcher =
|
11
|
+
var matcher = jasmineUnderTest.matchers.toBe(),
|
12
12
|
result;
|
13
13
|
|
14
14
|
result = matcher.compare(1, 2);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeTruthy", function() {
|
2
2
|
it("passes for 'truthy' values", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeTruthy(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(true);
|
@@ -17,7 +17,7 @@ describe("toBeTruthy", function() {
|
|
17
17
|
});
|
18
18
|
|
19
19
|
it("fails for 'falsy' values", function() {
|
20
|
-
var matcher =
|
20
|
+
var matcher = jasmineUnderTest.matchers.toBeTruthy(),
|
21
21
|
result;
|
22
22
|
|
23
23
|
result = matcher.compare(false);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe("toBeUndefined", function() {
|
2
2
|
it("passes for undefined values", function() {
|
3
|
-
var matcher =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toBeUndefined(),
|
4
4
|
result;
|
5
5
|
|
6
6
|
result = matcher.compare(void 0);
|
@@ -9,7 +9,7 @@ describe("toBeUndefined", function() {
|
|
9
9
|
});
|
10
10
|
|
11
11
|
it("fails when matching defined values", function() {
|
12
|
-
var matcher =
|
12
|
+
var matcher = jasmineUnderTest.matchers.toBeUndefined(),
|
13
13
|
result;
|
14
14
|
|
15
15
|
result = matcher.compare('foo');
|
@@ -1,9 +1,9 @@
|
|
1
1
|
describe("toContain", function() {
|
2
|
-
it("delegates to
|
2
|
+
it("delegates to jasmineUnderTest.matchersUtil.contains", function() {
|
3
3
|
var util = {
|
4
4
|
contains: jasmine.createSpy('delegated-contains').and.returnValue(true)
|
5
5
|
},
|
6
|
-
matcher =
|
6
|
+
matcher = jasmineUnderTest.matchers.toContain(util),
|
7
7
|
result;
|
8
8
|
|
9
9
|
result = matcher.compare("ABC", "B");
|
@@ -11,12 +11,12 @@ describe("toContain", function() {
|
|
11
11
|
expect(result.pass).toBe(true);
|
12
12
|
});
|
13
13
|
|
14
|
-
it("delegates to
|
14
|
+
it("delegates to jasmineUnderTest.matchersUtil.contains, passing in equality testers if present", function() {
|
15
15
|
var util = {
|
16
16
|
contains: jasmine.createSpy('delegated-contains').and.returnValue(true)
|
17
17
|
},
|
18
18
|
customEqualityTesters = ['a', 'b'],
|
19
|
-
matcher =
|
19
|
+
matcher = jasmineUnderTest.matchers.toContain(util, customEqualityTesters),
|
20
20
|
result;
|
21
21
|
|
22
22
|
result = matcher.compare("ABC", "B");
|
@@ -3,7 +3,7 @@ describe("toEqual", function() {
|
|
3
3
|
var util = {
|
4
4
|
equals: jasmine.createSpy('delegated-equals').and.returnValue(true)
|
5
5
|
},
|
6
|
-
matcher =
|
6
|
+
matcher = jasmineUnderTest.matchers.toEqual(util),
|
7
7
|
result;
|
8
8
|
|
9
9
|
result = matcher.compare(1, 1);
|
@@ -17,7 +17,7 @@ describe("toEqual", function() {
|
|
17
17
|
equals: jasmine.createSpy('delegated-equals').and.returnValue(true)
|
18
18
|
},
|
19
19
|
customEqualityTesters = ['a', 'b'],
|
20
|
-
matcher =
|
20
|
+
matcher = jasmineUnderTest.matchers.toEqual(util, customEqualityTesters),
|
21
21
|
result;
|
22
22
|
|
23
23
|
result = matcher.compare(1, 1);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
describe("toHaveBeenCalled", function() {
|
2
2
|
it("passes when the actual was called, with a custom .not fail message", function() {
|
3
|
-
var matcher =
|
4
|
-
calledSpy =
|
3
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
|
4
|
+
calledSpy = jasmineUnderTest.createSpy('called-spy'),
|
5
5
|
result;
|
6
6
|
|
7
7
|
calledSpy();
|
@@ -12,8 +12,8 @@ describe("toHaveBeenCalled", function() {
|
|
12
12
|
});
|
13
13
|
|
14
14
|
it("fails when the actual was not called", function() {
|
15
|
-
var matcher =
|
16
|
-
uncalledSpy =
|
15
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
|
16
|
+
uncalledSpy = jasmineUnderTest.createSpy('uncalled spy'),
|
17
17
|
result;
|
18
18
|
|
19
19
|
result = matcher.compare(uncalledSpy);
|
@@ -21,22 +21,22 @@ describe("toHaveBeenCalled", function() {
|
|
21
21
|
});
|
22
22
|
|
23
23
|
it("throws an exception when the actual is not a spy", function() {
|
24
|
-
var matcher =
|
24
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
|
25
25
|
fn = function() {};
|
26
26
|
|
27
|
-
expect(function() { matcher.compare(fn) }).
|
27
|
+
expect(function() { matcher.compare(fn) }).toThrowError(Error, /Expected a spy, but got Function./);
|
28
28
|
});
|
29
29
|
|
30
30
|
it("throws an exception when invoked with any arguments", function() {
|
31
|
-
var matcher =
|
32
|
-
spy =
|
31
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
|
32
|
+
spy = jasmineUnderTest.createSpy('sample spy');
|
33
33
|
|
34
|
-
expect(function() { matcher.compare(spy, 'foo') }).
|
34
|
+
expect(function() { matcher.compare(spy, 'foo') }).toThrowError(Error, /Does not take arguments, use toHaveBeenCalledWith/);
|
35
35
|
});
|
36
36
|
|
37
37
|
it("has a custom message on failure", function() {
|
38
|
-
var matcher =
|
39
|
-
spy =
|
38
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
|
39
|
+
spy = jasmineUnderTest.createSpy('sample-spy'),
|
40
40
|
result;
|
41
41
|
|
42
42
|
result = matcher.compare(spy);
|
@@ -1,7 +1,14 @@
|
|
1
1
|
describe("toHaveBeenCalledTimes", function() {
|
2
|
+
it("passes when the actual 0 matches the expected 0 ", function () {
|
3
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
4
|
+
calledSpy = jasmineUnderTest.createSpy('called-spy'),
|
5
|
+
result;
|
6
|
+
result = matcher.compare(calledSpy, 0);
|
7
|
+
expect(result.pass).toBeTruthy();
|
8
|
+
});
|
2
9
|
it("passes when the actual matches the expected", function() {
|
3
|
-
var matcher =
|
4
|
-
calledSpy =
|
10
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
11
|
+
calledSpy = jasmineUnderTest.createSpy('called-spy'),
|
5
12
|
result;
|
6
13
|
calledSpy();
|
7
14
|
|
@@ -10,19 +17,19 @@ describe("toHaveBeenCalledTimes", function() {
|
|
10
17
|
});
|
11
18
|
|
12
19
|
it("fails when expected numbers is not supplied", function(){
|
13
|
-
var matcher =
|
14
|
-
spy =
|
20
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
21
|
+
spy = jasmineUnderTest.createSpy('spy'),
|
15
22
|
result;
|
16
23
|
|
17
24
|
spy();
|
18
25
|
expect(function() {
|
19
26
|
matcher.compare(spy);
|
20
|
-
}).toThrowError(
|
27
|
+
}).toThrowError(/The expected times failed is a required argument and must be a number./);
|
21
28
|
});
|
22
29
|
|
23
30
|
it("fails when the actual was called less than the expected", function() {
|
24
|
-
var matcher =
|
25
|
-
uncalledSpy =
|
31
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
32
|
+
uncalledSpy = jasmineUnderTest.createSpy('uncalled spy'),
|
26
33
|
result;
|
27
34
|
|
28
35
|
result = matcher.compare(uncalledSpy, 2);
|
@@ -30,8 +37,8 @@ describe("toHaveBeenCalledTimes", function() {
|
|
30
37
|
});
|
31
38
|
|
32
39
|
it("fails when the actual was called more than expected", function() {
|
33
|
-
var matcher =
|
34
|
-
uncalledSpy =
|
40
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
41
|
+
uncalledSpy = jasmineUnderTest.createSpy('uncalled spy'),
|
35
42
|
result;
|
36
43
|
|
37
44
|
uncalledSpy();
|
@@ -42,17 +49,17 @@ describe("toHaveBeenCalledTimes", function() {
|
|
42
49
|
});
|
43
50
|
|
44
51
|
it("throws an exception when the actual is not a spy", function() {
|
45
|
-
var matcher =
|
52
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
46
53
|
fn = function() {};
|
47
54
|
|
48
55
|
expect(function() {
|
49
56
|
matcher.compare(fn);
|
50
|
-
}).toThrowError(
|
57
|
+
}).toThrowError(/Expected a spy, but got Function./);
|
51
58
|
});
|
52
59
|
|
53
60
|
it("has a custom message on failure that tells it was called only once", function() {
|
54
|
-
var matcher =
|
55
|
-
spy =
|
61
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
62
|
+
spy = jasmineUnderTest.createSpy('sample-spy'),
|
56
63
|
result;
|
57
64
|
spy();
|
58
65
|
spy();
|
@@ -60,13 +67,12 @@ describe("toHaveBeenCalledTimes", function() {
|
|
60
67
|
spy();
|
61
68
|
|
62
69
|
result = matcher.compare(spy, 1);
|
63
|
-
|
64
70
|
expect(result.message).toEqual('Expected spy sample-spy to have been called once. It was called ' + 4 + ' times.');
|
65
71
|
});
|
66
72
|
|
67
73
|
it("has a custom message on failure that tells how many times it was called", function() {
|
68
|
-
var matcher =
|
69
|
-
spy =
|
74
|
+
var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(),
|
75
|
+
spy = jasmineUnderTest.createSpy('sample-spy'),
|
70
76
|
result;
|
71
77
|
spy();
|
72
78
|
spy();
|
@@ -74,7 +80,6 @@ describe("toHaveBeenCalledTimes", function() {
|
|
74
80
|
spy();
|
75
81
|
|
76
82
|
result = matcher.compare(spy, 2);
|
77
|
-
|
78
83
|
expect(result.message).toEqual('Expected spy sample-spy to have been called 2 times. It was called ' + 4 + ' times.');
|
79
84
|
});
|
80
85
|
});
|