41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
|
describe("Custom Matchers", function() {
|
||
|
var env;
|
||
|
var fakeTimer;
|
||
|
|
||
|
beforeEach(function() {
|
||
|
env = new jasmine.Env();
|
||
|
env.updateInterval = 0;
|
||
|
});
|
||
|
|
||
|
it("should be easy to add more matchers local to a spec, suite, etc.", function() {
|
||
|
var spec1, spec2, spec1Matcher, spec2Matcher;
|
||
|
|
||
|
var suite = env.describe('some suite', function() {
|
||
|
env.beforeEach(function() {
|
||
|
this.addMatchers({ matcherForSuite: function(expected) {
|
||
|
return "matcherForSuite: actual: " + this.actual + "; expected: " + expected;
|
||
|
} });
|
||
|
});
|
||
|
|
||
|
spec1 = env.it('spec with an expectation').runs(function () {
|
||
|
this.addMatchers({ matcherForSpec: function(expected) {
|
||
|
return "matcherForSpec: actual: " + this.actual + "; expected: " + expected;
|
||
|
} });
|
||
|
spec1Matcher = this.expect("xxx");
|
||
|
});
|
||
|
|
||
|
spec2 = env.it('spec with failing expectation').runs(function () {
|
||
|
spec2Matcher = this.expect("yyy");
|
||
|
});
|
||
|
});
|
||
|
|
||
|
suite.execute();
|
||
|
|
||
|
expect(spec1Matcher.matcherForSuite("expected")).toEqual("matcherForSuite: actual: xxx; expected: expected");
|
||
|
expect(spec1Matcher.matcherForSpec("expected")).toEqual("matcherForSpec: actual: xxx; expected: expected");
|
||
|
|
||
|
expect(spec2Matcher.matcherForSuite("expected")).toEqual("matcherForSuite: actual: yyy; expected: expected");
|
||
|
expect(spec2Matcher.matcherForSpec).toBe(jasmine.undefined);
|
||
|
});
|
||
|
|
||
|
});
|