evergreen 0.1 → 0.2.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.
- data/README.rdoc +101 -3
- data/bin/evergreen +2 -2
- data/lib/evergreen.rb +14 -2
- data/lib/evergreen/evergreen.js +23 -0
- data/lib/evergreen/rails.rb +8 -0
- data/lib/evergreen/runner.rb +21 -14
- data/lib/evergreen/spec.rb +12 -33
- data/lib/evergreen/version.rb +1 -1
- data/lib/evergreen/views/list.erb +1 -1
- data/lib/evergreen/views/spec.erb +9 -22
- data/lib/jasmine/README.markdown +21 -28
- data/lib/jasmine/Rakefile +98 -68
- data/lib/jasmine/example/SpecRunner.html +27 -0
- data/lib/jasmine/example/spec/PlayerSpec.js +58 -0
- data/lib/jasmine/example/spec/SpecHelper.js +9 -0
- data/lib/jasmine/example/src/Player.js +22 -0
- data/lib/jasmine/example/src/Song.js +7 -0
- data/lib/jasmine/lib/jasmine-html.js +182 -0
- data/lib/jasmine/lib/{jasmine-0.10.4.js → jasmine.js} +127 -155
- data/lib/jasmine/spec/runner.html +4 -3
- data/lib/jasmine/spec/suites/BaseSpec.js +27 -0
- data/lib/jasmine/spec/suites/CustomMatchersSpec.js +0 -24
- data/lib/jasmine/spec/suites/EnvSpec.js +1 -1
- data/lib/jasmine/spec/suites/JsApiReporterSpec.js +16 -9
- data/lib/jasmine/spec/suites/MatchersSpec.js +49 -42
- data/lib/jasmine/spec/suites/MockClockSpec.js +4 -0
- data/lib/jasmine/spec/suites/MultiReporterSpec.js +23 -8
- data/lib/jasmine/spec/suites/PrettyPrintSpec.js +2 -2
- data/lib/jasmine/spec/suites/ReporterSpec.js +10 -14
- data/lib/jasmine/spec/suites/RunnerSpec.js +6 -6
- data/lib/jasmine/spec/suites/SpecRunningSpec.js +1 -1
- data/lib/jasmine/spec/suites/SpecSpec.js +15 -1
- data/lib/jasmine/spec/suites/SpySpec.js +3 -3
- data/lib/jasmine/spec/suites/TrivialReporterSpec.js +91 -14
- data/lib/jasmine/spec/suites/WaitsForBlockSpec.js +5 -6
- data/lib/jasmine/src/JsApiReporter.js +4 -6
- data/lib/jasmine/src/Matchers.js +19 -19
- data/lib/jasmine/src/MultiReporter.js +8 -1
- data/lib/jasmine/src/NestedResults.js +5 -5
- data/lib/jasmine/src/PrettyPrinter.js +2 -2
- data/lib/jasmine/src/Reporter.js +4 -0
- data/lib/jasmine/src/Spec.js +12 -8
- data/lib/jasmine/src/base.js +40 -44
- data/lib/jasmine/{lib → src/html}/TrivialReporter.js +17 -6
- data/lib/jasmine/src/html/jasmine.css +166 -0
- data/lib/jasmine/src/mock-timeout.js +22 -16
- data/lib/jasmine/src/version.json +2 -2
- data/lib/tasks/evergreen.rake +7 -0
- data/spec/evergreen_spec.rb +18 -0
- data/spec/fixtures/public/jquery.js +152 -0
- data/spec/fixtures/spec/javascripts/bar_spec.js +0 -0
- data/spec/fixtures/spec/javascripts/failing_spec.js +12 -0
- data/spec/fixtures/spec/javascripts/foo_spec.js +0 -0
- data/spec/fixtures/spec/javascripts/templates_spec.html +1 -0
- data/spec/fixtures/spec/javascripts/templates_spec.js +23 -0
- data/spec/fixtures/spec/javascripts/testing_spec.js +11 -0
- data/spec/fixtures/spec/javascripts/transactions_spec.js +14 -0
- data/spec/meta_spec.rb +17 -0
- data/spec/runner_spec.rb +35 -0
- data/spec/spec_helper.rb +33 -0
- data/spec/spec_spec.rb +30 -0
- metadata +64 -48
- data/lib/jasmine/doc/files.html +0 -460
- data/lib/jasmine/doc/index.html +0 -322
- data/lib/jasmine/doc/symbols/_global_.html +0 -918
- data/lib/jasmine/doc/symbols/jasmine.Block.html +0 -417
- data/lib/jasmine/doc/symbols/jasmine.Clock.html +0 -678
- data/lib/jasmine/doc/symbols/jasmine.Env.html +0 -1169
- data/lib/jasmine/doc/symbols/jasmine.JsApiReporter.html +0 -822
- data/lib/jasmine/doc/symbols/jasmine.Matchers.html +0 -1474
- data/lib/jasmine/doc/symbols/jasmine.MultiReporter.html +0 -394
- data/lib/jasmine/doc/symbols/jasmine.NestedResults.html +0 -710
- data/lib/jasmine/doc/symbols/jasmine.Reporter.html +0 -574
- data/lib/jasmine/doc/symbols/jasmine.Runner.html +0 -710
- data/lib/jasmine/doc/symbols/jasmine.Spec.html +0 -1253
- data/lib/jasmine/doc/symbols/jasmine.Spy.html +0 -855
- data/lib/jasmine/doc/symbols/jasmine.Suite.html +0 -705
- data/lib/jasmine/doc/symbols/jasmine.html +0 -1345
- data/lib/jasmine/doc/symbols/jasmine.util.html +0 -535
- data/lib/jasmine/doc/symbols/src/lib_TrivialReporter.js.html +0 -124
- data/lib/jasmine/doc/symbols/src/src_Block.js.html +0 -29
- data/lib/jasmine/doc/symbols/src/src_Env.js.html +0 -248
- data/lib/jasmine/doc/symbols/src/src_JsApiReporter.js.html +0 -111
- data/lib/jasmine/doc/symbols/src/src_Matchers.js.html +0 -344
- data/lib/jasmine/doc/symbols/src/src_MultiReporter.js.html +0 -36
- data/lib/jasmine/doc/symbols/src/src_NestedResults.js.html +0 -88
- data/lib/jasmine/doc/symbols/src/src_PrettyPrinter.js.html +0 -130
- data/lib/jasmine/doc/symbols/src/src_Queue.js.html +0 -102
- data/lib/jasmine/doc/symbols/src/src_Reporter.js.html +0 -35
- data/lib/jasmine/doc/symbols/src/src_Reporters.js.html +0 -51
- data/lib/jasmine/doc/symbols/src/src_Runner.js.html +0 -75
- data/lib/jasmine/doc/symbols/src/src_Spec.js.html +0 -214
- data/lib/jasmine/doc/symbols/src/src_Suite.js.html +0 -77
- data/lib/jasmine/doc/symbols/src/src_WaitsBlock.js.html +0 -21
- data/lib/jasmine/doc/symbols/src/src_WaitsForBlock.js.html +0 -45
- data/lib/jasmine/doc/symbols/src/src_base.js.html +0 -585
- data/lib/jasmine/doc/symbols/src/src_mock-timeout.js.html +0 -185
- data/lib/jasmine/doc/symbols/src/src_util.js.html +0 -75
- data/lib/jasmine/example/example_runner.html +0 -22
- data/lib/jasmine/example/spec/example_suite.js +0 -11
- data/lib/jasmine/spec/jasmine_helper.rb +0 -44
- data/lib/jasmine/spec/jasmine_spec.rb +0 -31
- data/lib/jasmine/spec/saucelabs.yml +0 -24
- data/lib/jasmine/src/Reporters.js +0 -43
|
@@ -22,23 +22,24 @@
|
|
|
22
22
|
<script type="text/javascript" src="../src/NestedResults.js"></script>
|
|
23
23
|
<script type="text/javascript" src="../src/PrettyPrinter.js"></script>
|
|
24
24
|
<script type="text/javascript" src="../src/Queue.js"></script>
|
|
25
|
-
<script type="text/javascript" src="../src/Reporters.js"></script>
|
|
26
25
|
<script type="text/javascript" src="../src/Runner.js"></script>
|
|
27
26
|
<script type="text/javascript" src="../src/Spec.js"></script>
|
|
28
27
|
<script type="text/javascript" src="../src/Suite.js"></script>
|
|
29
28
|
<script type="text/javascript" src="../src/WaitsBlock.js"></script>
|
|
30
29
|
<script type="text/javascript" src="../src/WaitsForBlock.js"></script>
|
|
31
30
|
|
|
32
|
-
<script type="text/javascript" src="../
|
|
31
|
+
<script type="text/javascript" src="../src/html/TrivialReporter.js"></script>
|
|
33
32
|
<script type="text/javascript" src="../lib/consolex.js"></script>
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
|
|
36
|
+
<script type="text/javascript" src="suites/BaseSpec.js"></script>
|
|
37
37
|
<script type="text/javascript" src="suites/CustomMatchersSpec.js"></script>
|
|
38
38
|
<script type="text/javascript" src="suites/EnvSpec.js"></script>
|
|
39
39
|
<script type="text/javascript" src="suites/ExceptionsSpec.js"></script>
|
|
40
40
|
<script type="text/javascript" src="suites/JsApiReporterSpec.js"></script>
|
|
41
41
|
<script type="text/javascript" src="suites/MatchersSpec.js"></script>
|
|
42
|
+
<script type="text/javascript" src="suites/MockClockSpec.js"></script>
|
|
42
43
|
<script type="text/javascript" src="suites/MultiReporterSpec.js"></script>
|
|
43
44
|
<script type="text/javascript" src="suites/NestedResultsSpec.js"></script>
|
|
44
45
|
<script type="text/javascript" src="suites/PrettyPrintSpec.js"></script>
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
})();
|
|
73
74
|
</script>
|
|
74
75
|
|
|
75
|
-
<link href="../
|
|
76
|
+
<link href="../src/html/jasmine.css" rel="stylesheet"/>
|
|
76
77
|
</head>
|
|
77
78
|
|
|
78
79
|
<body>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
describe("base.js", function() {
|
|
2
|
+
describe("jasmine.MessageResult", function() {
|
|
3
|
+
it("#toString should pretty-print and concatenate each part of the message", function() {
|
|
4
|
+
var values = ["log", "message", 123, {key: "value"}, "FTW!"];
|
|
5
|
+
var messageResult = new jasmine.MessageResult(values);
|
|
6
|
+
expect(messageResult.toString()).toEqual("log message 123 { key : 'value' } FTW!");
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
describe("jasmine.log", function() {
|
|
11
|
+
it("should accept n arguments", function() {
|
|
12
|
+
spyOn(jasmine.getEnv().currentSpec, 'log');
|
|
13
|
+
jasmine.log(1, 2, 3);
|
|
14
|
+
expect(jasmine.getEnv().currentSpec.log).toHaveBeenCalledWith(1, 2, 3);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe("jasmine.getGlobal", function() {
|
|
19
|
+
it("should return the global object", function() {
|
|
20
|
+
var globalObject = (function() {
|
|
21
|
+
return this;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
expect(jasmine.getGlobal()).toBe(globalObject);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -85,28 +85,4 @@ describe("Custom Matchers", function() {
|
|
|
85
85
|
|
|
86
86
|
expect(matcherCallArgs).toEqual([[], ['arg'], ['arg1', 'arg2']]);
|
|
87
87
|
});
|
|
88
|
-
|
|
89
|
-
describe("in the old style", function() {
|
|
90
|
-
it("should report a deprecation error", function() {
|
|
91
|
-
var spec;
|
|
92
|
-
var suite = env.describe('some suite', function() {
|
|
93
|
-
spec = env.it('spec with an expectation').runs(function () {
|
|
94
|
-
this.addMatchers({
|
|
95
|
-
toBeTrue: function() {
|
|
96
|
-
this.report(this.actual === true, this.actual + " was not true.", "details");
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
this.expect(true).toBeTrue();
|
|
100
|
-
this.expect(false).toBeTrue();
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
suite.execute();
|
|
105
|
-
var passResult = new jasmine.ExpectationResult({passed: true, message: "Passed.", details: "details"});
|
|
106
|
-
var failResult = new jasmine.ExpectationResult({passed: false, message: "false was not true.", details: "details"});
|
|
107
|
-
failResult.trace = jasmine.any(Object);
|
|
108
|
-
expect(spec.results().getItems()).toEqual([passResult, failResult]);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
|
|
112
88
|
});
|
|
@@ -79,7 +79,7 @@ describe("jasmine.Env", function() {
|
|
|
79
79
|
it("should allow reporters to be registered", function() {
|
|
80
80
|
env.addReporter(fakeReporter);
|
|
81
81
|
env.reporter.log("message");
|
|
82
|
-
expect(fakeReporter.log).
|
|
82
|
+
expect(fakeReporter.log).toHaveBeenCalledWith("message");
|
|
83
83
|
});
|
|
84
84
|
});
|
|
85
85
|
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
describe('jasmine.jsApiReporter', function() {
|
|
2
|
-
|
|
3
|
-
|
|
4
2
|
describe('results', function () {
|
|
5
3
|
var reporter, spec1, spec2, spec3, expectedSpec1Results, expectedSpec2Results;
|
|
6
4
|
var env;
|
|
@@ -35,15 +33,23 @@ describe('jasmine.jsApiReporter', function() {
|
|
|
35
33
|
env.addReporter(reporter);
|
|
36
34
|
|
|
37
35
|
env.execute();
|
|
36
|
+
|
|
37
|
+
expectedSpec1Results = {
|
|
38
|
+
messages: spec1.results().getItems(),
|
|
39
|
+
result: "passed"
|
|
40
|
+
};
|
|
41
|
+
expectedSpec2Results = {
|
|
42
|
+
messages: spec2.results().getItems(),
|
|
43
|
+
result: "failed"
|
|
44
|
+
};
|
|
38
45
|
});
|
|
39
46
|
|
|
40
|
-
|
|
47
|
+
it('resultForSpec() should return the result for the given spec', function () {
|
|
41
48
|
expect(reporter.resultsForSpec(spec1.id)).toEqual(expectedSpec1Results);
|
|
42
49
|
expect(reporter.resultsForSpec(spec2.id)).toEqual(expectedSpec2Results);
|
|
43
|
-
|
|
44
50
|
});
|
|
45
51
|
|
|
46
|
-
|
|
52
|
+
it('results() should return a hash of all results, indexed by spec id', function () {
|
|
47
53
|
expect(reporter.results()[spec1.id]).toEqual(expectedSpec1Results);
|
|
48
54
|
expect(reporter.results()[spec2.id]).toEqual(expectedSpec2Results);
|
|
49
55
|
});
|
|
@@ -65,7 +71,7 @@ describe('jasmine.jsApiReporter', function() {
|
|
|
65
71
|
]);
|
|
66
72
|
});
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
describe("#summarizeResult_", function() {
|
|
69
75
|
it("should summarize a passing result", function() {
|
|
70
76
|
var result = reporter.results()[spec1.id];
|
|
71
77
|
var summarizedResult = reporter.summarizeResult_(result);
|
|
@@ -73,9 +79,9 @@ describe('jasmine.jsApiReporter', function() {
|
|
|
73
79
|
expect(summarizedResult.messages.length).toEqual(1);
|
|
74
80
|
expect(summarizedResult.messages[0].message).toEqual(result.messages[0].message);
|
|
75
81
|
expect(summarizedResult.messages[0].passed).toBeTruthy();
|
|
76
|
-
expect(summarizedResult.messages[0].type).toEqual('
|
|
77
|
-
expect(summarizedResult.messages[0].text).
|
|
78
|
-
expect(summarizedResult.messages[0].trace.stack).
|
|
82
|
+
expect(summarizedResult.messages[0].type).toEqual('expect');
|
|
83
|
+
expect(summarizedResult.messages[0].text).toBeUndefined();
|
|
84
|
+
expect(summarizedResult.messages[0].trace.stack).toBeUndefined();
|
|
79
85
|
});
|
|
80
86
|
|
|
81
87
|
it("should have a stack trace for failing specs", function() {
|
|
@@ -89,6 +95,7 @@ describe('jasmine.jsApiReporter', function() {
|
|
|
89
95
|
var result = reporter.results()[spec3.id];
|
|
90
96
|
var summarizedResult = reporter.summarizeResult_(result);
|
|
91
97
|
expect(summarizedResult.result).toEqual('passed');
|
|
98
|
+
expect(summarizedResult.messages[0].type).toEqual('log');
|
|
92
99
|
expect(summarizedResult.messages[0].text).toEqual('some debug message');
|
|
93
100
|
});
|
|
94
101
|
});
|
|
@@ -15,12 +15,12 @@ describe("jasmine.Matchers", function() {
|
|
|
15
15
|
function match(value) {
|
|
16
16
|
return spec.expect(value);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
function lastResult() {
|
|
20
20
|
return spec.addMatcherResult.mostRecentCall.args[0];
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
it("toEqual with primitives, objects, dates,
|
|
23
|
+
it("toEqual with primitives, objects, dates, etc.", function() {
|
|
24
24
|
expect(match(true).toEqual(true)).toEqual(true);
|
|
25
25
|
|
|
26
26
|
expect(match({foo:'bar'}).toEqual(null)).toEqual(false);
|
|
@@ -40,11 +40,6 @@ describe("jasmine.Matchers", function() {
|
|
|
40
40
|
circularGraph.referenceToSelf = circularGraph;
|
|
41
41
|
expect((match(circularGraph).toEqual(circularGraph))).toEqual(true);
|
|
42
42
|
|
|
43
|
-
var nodeA = document.createElement('div');
|
|
44
|
-
var nodeB = document.createElement('div');
|
|
45
|
-
expect((match(nodeA).toEqual(nodeA))).toEqual(true);
|
|
46
|
-
expect((match(nodeA).toEqual(nodeB))).toEqual(false);
|
|
47
|
-
|
|
48
43
|
expect((match(new Date(2008, 1, 3, 15, 17, 19, 1234)).toEqual(new Date(2009, 1, 3, 15, 17, 19, 1234)))).toEqual(false);
|
|
49
44
|
expect((match(new Date(2008, 1, 3, 15, 17, 19, 1234)).toEqual(new Date(2008, 1, 3, 15, 17, 19, 1234)))).toEqual(true);
|
|
50
45
|
|
|
@@ -64,6 +59,13 @@ describe("jasmine.Matchers", function() {
|
|
|
64
59
|
expect((match(new Number('5')).toNotEqual(5))).toBe(false);
|
|
65
60
|
});
|
|
66
61
|
|
|
62
|
+
it("toEqual with DOM nodes", function() {
|
|
63
|
+
var nodeA = document.createElement('div');
|
|
64
|
+
var nodeB = document.createElement('div');
|
|
65
|
+
expect((match(nodeA).toEqual(nodeA))).toEqual(true);
|
|
66
|
+
expect((match(nodeA).toEqual(nodeB))).toEqual(false);
|
|
67
|
+
});
|
|
68
|
+
|
|
67
69
|
it("toEqual to build an Expectation Result", function() {
|
|
68
70
|
var actual = 'a';
|
|
69
71
|
var matcher = match(actual);
|
|
@@ -521,22 +523,6 @@ describe("jasmine.Matchers", function() {
|
|
|
521
523
|
match(false).not.custom();
|
|
522
524
|
expect(lastResult().message).toEqual("Passed.");
|
|
523
525
|
});
|
|
524
|
-
|
|
525
|
-
it("should make old-style custom matchers blow up, but only when negated", function() {
|
|
526
|
-
spec.addMatchers({
|
|
527
|
-
custom: function() {
|
|
528
|
-
this.report();
|
|
529
|
-
}
|
|
530
|
-
});
|
|
531
|
-
|
|
532
|
-
expect(function() {
|
|
533
|
-
match(true).custom();
|
|
534
|
-
}).not.toThrow();
|
|
535
|
-
|
|
536
|
-
expect(function() {
|
|
537
|
-
match(true).not.custom();
|
|
538
|
-
}).toThrow();
|
|
539
|
-
});
|
|
540
526
|
});
|
|
541
527
|
|
|
542
528
|
describe("spy matchers >>", function() {
|
|
@@ -569,23 +555,34 @@ describe("jasmine.Matchers", function() {
|
|
|
569
555
|
};
|
|
570
556
|
}
|
|
571
557
|
|
|
572
|
-
describe("
|
|
573
|
-
it("should pass
|
|
574
|
-
expect(match(TestClass.spyFunction).
|
|
558
|
+
describe("toHaveBeenCalled", function() {
|
|
559
|
+
it("should pass if the spy was called", function() {
|
|
560
|
+
expect(match(TestClass.spyFunction).toHaveBeenCalled()).toEqual(false);
|
|
575
561
|
|
|
576
562
|
TestClass.spyFunction();
|
|
577
|
-
expect(match(TestClass.spyFunction).
|
|
563
|
+
expect(match(TestClass.spyFunction).toHaveBeenCalled()).toEqual(true);
|
|
578
564
|
});
|
|
579
565
|
|
|
580
566
|
it("should throw an exception when invoked with any arguments", function() {
|
|
581
567
|
expect(function() {
|
|
582
|
-
match(TestClass.normalFunction).
|
|
583
|
-
}).toThrow('
|
|
568
|
+
match(TestClass.normalFunction).toHaveBeenCalled("unwanted argument");
|
|
569
|
+
}).toThrow('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
|
|
584
570
|
});
|
|
585
571
|
|
|
586
|
-
it('should throw an exception when invoked on a non-spy', shouldThrowAnExceptionWhenInvokedOnANonSpy('
|
|
572
|
+
it('should throw an exception when invoked on a non-spy', shouldThrowAnExceptionWhenInvokedOnANonSpy('toHaveBeenCalled'));
|
|
573
|
+
});
|
|
574
|
+
|
|
575
|
+
describe("wasCalled", function() {
|
|
576
|
+
it("should alias toHaveBeenCalled", function() {
|
|
577
|
+
spyOn(TestClass, 'normalFunction');
|
|
578
|
+
|
|
579
|
+
TestClass.normalFunction();
|
|
580
|
+
|
|
581
|
+
expect(TestClass.normalFunction).wasCalled();
|
|
582
|
+
});
|
|
587
583
|
});
|
|
588
584
|
|
|
585
|
+
|
|
589
586
|
describe("wasNotCalled", function() {
|
|
590
587
|
it("should pass iff the spy was not called", function() {
|
|
591
588
|
expect(match(TestClass.spyFunction).wasNotCalled()).toEqual(true);
|
|
@@ -603,16 +600,16 @@ describe("jasmine.Matchers", function() {
|
|
|
603
600
|
it('should throw an exception when invoked on a non-spy', shouldThrowAnExceptionWhenInvokedOnANonSpy('wasNotCalled'));
|
|
604
601
|
});
|
|
605
602
|
|
|
606
|
-
describe("
|
|
607
|
-
it('
|
|
603
|
+
describe("toHaveBeenCalledWith", function() {
|
|
604
|
+
it('toHaveBeenCalledWith should return true if it was called with the expected args', function() {
|
|
608
605
|
TestClass.spyFunction('a', 'b', 'c');
|
|
609
|
-
expect(match(TestClass.spyFunction).
|
|
606
|
+
expect(match(TestClass.spyFunction).toHaveBeenCalledWith('a', 'b', 'c')).toEqual(true);
|
|
610
607
|
});
|
|
611
608
|
|
|
612
609
|
it('should return false if it was not called with the expected args', function() {
|
|
613
610
|
TestClass.spyFunction('a', 'b', 'c');
|
|
614
611
|
var expected = match(TestClass.spyFunction);
|
|
615
|
-
expect(expected.
|
|
612
|
+
expect(expected.toHaveBeenCalledWith('c', 'b', 'a')).toEqual(false);
|
|
616
613
|
var result = lastResult();
|
|
617
614
|
expect(result.passed()).toEqual(false);
|
|
618
615
|
expect(result.expected).toEqual(['c', 'b', 'a']);
|
|
@@ -623,7 +620,7 @@ describe("jasmine.Matchers", function() {
|
|
|
623
620
|
|
|
624
621
|
it('should return false if it was not called', function() {
|
|
625
622
|
var expected = match(TestClass.spyFunction);
|
|
626
|
-
expect(expected.
|
|
623
|
+
expect(expected.toHaveBeenCalledWith('c', 'b', 'a')).toEqual(false);
|
|
627
624
|
var result = lastResult();
|
|
628
625
|
expect(result.passed()).toEqual(false);
|
|
629
626
|
expect(result.expected).toEqual(['c', 'b', 'a']);
|
|
@@ -635,12 +632,12 @@ describe("jasmine.Matchers", function() {
|
|
|
635
632
|
var expected = match(TestClass.spyFunction);
|
|
636
633
|
TestClass.spyFunction('a', 'b', 'c');
|
|
637
634
|
TestClass.spyFunction('d', 'e', 'f');
|
|
638
|
-
expect(expected.
|
|
639
|
-
expect(expected.
|
|
640
|
-
expect(expected.
|
|
635
|
+
expect(expected.toHaveBeenCalledWith('a', 'b', 'c')).toEqual(true);
|
|
636
|
+
expect(expected.toHaveBeenCalledWith('d', 'e', 'f')).toEqual(true);
|
|
637
|
+
expect(expected.toHaveBeenCalledWith('x', 'y', 'z')).toEqual(false);
|
|
641
638
|
});
|
|
642
639
|
|
|
643
|
-
it('should throw an exception when invoked on a non-spy', shouldThrowAnExceptionWhenInvokedOnANonSpy('
|
|
640
|
+
it('should throw an exception when invoked on a non-spy', shouldThrowAnExceptionWhenInvokedOnANonSpy('toHaveBeenCalledWith'));
|
|
644
641
|
|
|
645
642
|
describe("to build an ExpectationResult", function () {
|
|
646
643
|
beforeEach(function() {
|
|
@@ -657,10 +654,10 @@ describe("jasmine.Matchers", function() {
|
|
|
657
654
|
it("should should handle the case of a spy", function() {
|
|
658
655
|
TestClass.someFunction('a', 'c');
|
|
659
656
|
var matcher = match(TestClass.someFunction);
|
|
660
|
-
matcher.
|
|
657
|
+
matcher.toHaveBeenCalledWith('a', 'b');
|
|
661
658
|
|
|
662
659
|
var result = lastResult();
|
|
663
|
-
expect(result.matcherName).toEqual("
|
|
660
|
+
expect(result.matcherName).toEqual("toHaveBeenCalledWith");
|
|
664
661
|
expect(result.passed()).toEqual(false);
|
|
665
662
|
expect(result.message).toContain(jasmine.pp(['a', 'b']));
|
|
666
663
|
expect(result.message).toContain(jasmine.pp(['a', 'c']));
|
|
@@ -670,6 +667,16 @@ describe("jasmine.Matchers", function() {
|
|
|
670
667
|
});
|
|
671
668
|
});
|
|
672
669
|
|
|
670
|
+
describe("wasCalledWith", function() {
|
|
671
|
+
it("should alias toHaveBeenCalledWith", function() {
|
|
672
|
+
spyOn(TestClass, 'normalFunction');
|
|
673
|
+
|
|
674
|
+
TestClass.normalFunction(123);
|
|
675
|
+
|
|
676
|
+
expect(TestClass.normalFunction).wasCalledWith(123);
|
|
677
|
+
});
|
|
678
|
+
});
|
|
679
|
+
|
|
673
680
|
describe("wasNotCalledWith", function() {
|
|
674
681
|
it('should return true if the spy was NOT called with the expected args', function() {
|
|
675
682
|
TestClass.spyFunction('a', 'b', 'c');
|
|
@@ -690,7 +697,7 @@ describe("jasmine.Matchers", function() {
|
|
|
690
697
|
it('should return true if it was not called', function() {
|
|
691
698
|
var expected = match(TestClass.spyFunction);
|
|
692
699
|
expect(expected.wasNotCalledWith('c', 'b', 'a')).toEqual(true);
|
|
693
|
-
|
|
700
|
+
});
|
|
694
701
|
|
|
695
702
|
it('should allow matches across multiple calls', function() {
|
|
696
703
|
var expected = match(TestClass.spyFunction);
|
|
@@ -10,21 +10,36 @@ describe("jasmine.MultiReporter", function() {
|
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
it("should support all the method calls that jasmine.Reporter supports", function() {
|
|
13
|
-
|
|
14
|
-
multiReporter.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
var delegate = {};
|
|
14
|
+
multiReporter.addReporter(delegate);
|
|
15
|
+
|
|
16
|
+
this.addMatchers({
|
|
17
|
+
toDelegateMethod: function(methodName) {
|
|
18
|
+
delegate[methodName] = jasmine.createSpy(methodName);
|
|
19
|
+
this.actual[methodName]("whatever argument");
|
|
20
|
+
|
|
21
|
+
return delegate[methodName].wasCalled
|
|
22
|
+
&& delegate[methodName].mostRecentCall.args.length == 1
|
|
23
|
+
&& delegate[methodName].mostRecentCall.args[0] == "whatever argument";
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
expect(multiReporter).toDelegateMethod('reportRunnerStarting');
|
|
28
|
+
expect(multiReporter).toDelegateMethod('reportRunnerResults');
|
|
29
|
+
expect(multiReporter).toDelegateMethod('reportSuiteResults');
|
|
30
|
+
expect(multiReporter).toDelegateMethod('reportSpecStarting');
|
|
31
|
+
expect(multiReporter).toDelegateMethod('reportSpecResults');
|
|
32
|
+
expect(multiReporter).toDelegateMethod('log');
|
|
18
33
|
});
|
|
19
34
|
|
|
20
35
|
it("should delegate to any and all subreporters", function() {
|
|
21
36
|
multiReporter.reportSpecResults('blah', 'foo');
|
|
22
|
-
expect(fakeReporter1.reportSpecResults).
|
|
23
|
-
expect(fakeReporter2.reportSpecResults).
|
|
37
|
+
expect(fakeReporter1.reportSpecResults).toHaveBeenCalledWith('blah', 'foo');
|
|
38
|
+
expect(fakeReporter2.reportSpecResults).toHaveBeenCalledWith('blah', 'foo');
|
|
24
39
|
});
|
|
25
40
|
|
|
26
41
|
it("should quietly skip delegating to any subreporters which lack the given method", function() {
|
|
27
42
|
multiReporter.reportRunnerStarting('blah', 'foo');
|
|
28
|
-
expect(fakeReporter2.reportRunnerStarting).
|
|
43
|
+
expect(fakeReporter2.reportRunnerStarting).toHaveBeenCalledWith('blah', 'foo');
|
|
29
44
|
});
|
|
30
45
|
});
|
|
@@ -69,8 +69,8 @@ describe("jasmine.pp", function () {
|
|
|
69
69
|
expect(jasmine.pp('some <b>html string</b> &', false)).toEqual('\'some <b>html string</b> &\'');
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
it("should abbreviate window
|
|
73
|
-
expect(jasmine.pp(
|
|
72
|
+
it("should abbreviate the global (usually window) object", function() {
|
|
73
|
+
expect(jasmine.pp(jasmine.getGlobal())).toEqual("<global>");
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it("should stringify Date objects properly", function() {
|
|
@@ -33,20 +33,16 @@ describe('jasmine.Reporter', function() {
|
|
|
33
33
|
var bar = 0;
|
|
34
34
|
var baz = 0;
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
env.reporter = jasmine.Reporters.reporter({
|
|
47
|
-
specCallback: specCallback,
|
|
48
|
-
suiteCallback: suiteCallback,
|
|
49
|
-
runnerCallback: runnerCallback
|
|
36
|
+
env.addReporter({
|
|
37
|
+
reportSpecResults: function() {
|
|
38
|
+
foo++;
|
|
39
|
+
},
|
|
40
|
+
reportSuiteResults: function() {
|
|
41
|
+
bar++;
|
|
42
|
+
},
|
|
43
|
+
reportRunnerResults: function() {
|
|
44
|
+
baz++;
|
|
45
|
+
}
|
|
50
46
|
});
|
|
51
47
|
|
|
52
48
|
var runner = env.currentRunner();
|