From 369e8107918ee8a1679e186a8ba00c71fbaac894 Mon Sep 17 00:00:00 2001 From: Felix Rilling Date: Sun, 14 Apr 2019 10:17:59 +0200 Subject: [PATCH] added #toBeTrue and #toBeFalse matchers --- spec/core/matchers/toBeFalseSpec.js | 17 +++++++++++++++++ spec/core/matchers/toBeTrueSpec.js | 17 +++++++++++++++++ src/core/matchers/requireMatchers.js | 2 ++ src/core/matchers/toBeFalse.js | 20 ++++++++++++++++++++ src/core/matchers/toBeTrue.js | 20 ++++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 spec/core/matchers/toBeFalseSpec.js create mode 100644 spec/core/matchers/toBeTrueSpec.js create mode 100644 src/core/matchers/toBeFalse.js create mode 100644 src/core/matchers/toBeTrue.js diff --git a/spec/core/matchers/toBeFalseSpec.js b/spec/core/matchers/toBeFalseSpec.js new file mode 100644 index 00000000..8810ba9f --- /dev/null +++ b/spec/core/matchers/toBeFalseSpec.js @@ -0,0 +1,17 @@ +describe("toBeFalse", function() { + it("passes for false", function() { + var matcher = jasmineUnderTest.matchers.toBeFalse(), + result; + + result = matcher.compare(false); + expect(result.pass).toBe(true); + }); + + it("fails for non-false", function() { + var matcher = jasmineUnderTest.matchers.toBeFalse(), + result; + + result = matcher.compare('foo'); + expect(result.pass).toBe(false); + }); +}); diff --git a/spec/core/matchers/toBeTrueSpec.js b/spec/core/matchers/toBeTrueSpec.js new file mode 100644 index 00000000..ceac2074 --- /dev/null +++ b/spec/core/matchers/toBeTrueSpec.js @@ -0,0 +1,17 @@ +describe("toBeTrue", function() { + it("passes for true", function() { + var matcher = jasmineUnderTest.matchers.toBeTrue(), + result; + + result = matcher.compare(true); + expect(result.pass).toBe(true); + }); + + it("fails for non-true", function() { + var matcher = jasmineUnderTest.matchers.toBeTrue(), + result; + + result = matcher.compare('foo'); + expect(result.pass).toBe(false); + }); +}); diff --git a/src/core/matchers/requireMatchers.js b/src/core/matchers/requireMatchers.js index 6fb52c77..52a68a40 100644 --- a/src/core/matchers/requireMatchers.js +++ b/src/core/matchers/requireMatchers.js @@ -4,6 +4,7 @@ getJasmineRequireObj().requireMatchers = function(jRequire, j$) { 'toBe', 'toBeCloseTo', 'toBeDefined', + 'toBeFalse', 'toBeFalsy', 'toBeGreaterThan', 'toBeGreaterThanOrEqual', @@ -13,6 +14,7 @@ getJasmineRequireObj().requireMatchers = function(jRequire, j$) { 'toBeNegativeInfinity', 'toBeNull', 'toBePositiveInfinity', + 'toBeTrue', 'toBeTruthy', 'toBeUndefined', 'toContain', diff --git a/src/core/matchers/toBeFalse.js b/src/core/matchers/toBeFalse.js new file mode 100644 index 00000000..619e5c36 --- /dev/null +++ b/src/core/matchers/toBeFalse.js @@ -0,0 +1,20 @@ +getJasmineRequireObj().toBeFalse = function() { + /** + * {@link expect} the actual value to be `false`. + * @function + * @name matchers#toBeFalse + * @example + * expect(result).toBeFalse(); + */ + function toBeFalse() { + return { + compare: function(actual) { + return { + pass: actual === false + }; + } + }; + } + + return toBeFalse; +}; diff --git a/src/core/matchers/toBeTrue.js b/src/core/matchers/toBeTrue.js new file mode 100644 index 00000000..4834bf4e --- /dev/null +++ b/src/core/matchers/toBeTrue.js @@ -0,0 +1,20 @@ +getJasmineRequireObj().toBeTrue = function() { + /** + * {@link expect} the actual value to be `true`. + * @function + * @name matchers#toBeTrue + * @example + * expect(result).toBeTrue(); + */ + function toBeTrue() { + return { + compare: function(actual) { + return { + pass: actual === true + }; + } + }; + } + + return toBeTrue; +};