From d27bb8fa964c5287dfa6fb5ac6988872aaab90eb Mon Sep 17 00:00:00 2001 From: Steve Gravrock Date: Tue, 29 Sep 2020 18:05:38 -0700 Subject: [PATCH] Run Prettier on all files --- package.json | 4 +- spec/.eslintrc.js | 23 +- spec/core/asymmetric_equality/AnySpec.js | 32 +- spec/core/asymmetric_equality/AnythingSpec.js | 22 +- .../ArrayContainingSpec.js | 54 +- .../ArrayWithExactContentsSpec.js | 36 +- spec/core/asymmetric_equality/EmptySpec.js | 20 +- spec/core/asymmetric_equality/FalsySpec.js | 56 +- .../asymmetric_equality/MapContainingSpec.js | 114 +- spec/core/asymmetric_equality/NotEmptySpec.js | 20 +- .../ObjectContainingSpec.js | 143 +- .../asymmetric_equality/SetContainingSpec.js | 63 +- .../asymmetric_equality/StringMatchingSpec.js | 12 +- spec/core/asymmetric_equality/TruthySpec.js | 28 +- .../AsymmetricEqualityTestersSpec.js | 153 +- .../integration/CustomAsyncMatchersSpec.js | 60 +- spec/core/integration/CustomMatchersSpec.js | 182 +- .../integration/CustomObjectFormatterSpec.js | 42 +- .../integration/CustomSpyStrategiesSpec.js | 27 +- .../integration/DefaultSpyStrategySpec.js | 14 +- spec/core/integration/EnvSpec.js | 1812 ++++++++++------- spec/core/integration/MatchersSpec.js | 171 +- spec/core/integration/SpecRunningSpec.js | 430 ++-- spec/core/matchers/DiffBuilderSpec.js | 161 +- spec/core/matchers/MismatchTreeSpec.js | 52 +- spec/core/matchers/NullDiffBuilderSpec.js | 5 +- spec/core/matchers/async/toBePendingSpec.js | 14 +- spec/core/matchers/async/toBeRejectedSpec.js | 8 +- .../async/toBeRejectedWithErrorSpec.js | 261 ++- .../matchers/async/toBeRejectedWithSpec.js | 67 +- spec/core/matchers/async/toBeResolvedSpec.js | 8 +- .../core/matchers/async/toBeResolvedToSpec.js | 66 +- spec/core/matchers/matchersUtilSpec.js | 635 +++--- spec/core/matchers/toBeCloseToSpec.js | 30 +- spec/core/matchers/toBeDefinedSpec.js | 9 +- spec/core/matchers/toBeFalseSpec.js | 8 +- spec/core/matchers/toBeFalsySpec.js | 4 +- .../matchers/toBeGreaterThanOrEqualSpec.js | 8 +- spec/core/matchers/toBeGreaterThanSpec.js | 6 +- spec/core/matchers/toBeInstanceOfSpec.js | 27 +- spec/core/matchers/toBeLessThanOrEqualSpec.js | 8 +- spec/core/matchers/toBeLessThanSpec.js | 6 +- spec/core/matchers/toBeNaNSpec.js | 12 +- .../core/matchers/toBeNegativeInfinitySpec.js | 11 +- spec/core/matchers/toBeNullSpec.js | 6 +- .../core/matchers/toBePositiveInfinitySpec.js | 11 +- spec/core/matchers/toBeSpec.js | 64 +- spec/core/matchers/toBeTrueSpec.js | 6 +- spec/core/matchers/toBeTruthySpec.js | 4 +- spec/core/matchers/toBeUndefinedSpec.js | 9 +- spec/core/matchers/toContainSpec.js | 16 +- spec/core/matchers/toEqualSpec.js | 678 +++--- .../matchers/toHaveBeenCalledBeforeSpec.js | 62 +- .../matchers/toHaveBeenCalledOnceWithSpec.js | 57 +- spec/core/matchers/toHaveBeenCalledSpec.js | 29 +- .../matchers/toHaveBeenCalledTimesSpec.js | 45 +- .../core/matchers/toHaveBeenCalledWithSpec.js | 105 +- spec/core/matchers/toHaveClassSpec.js | 9 +- spec/core/matchers/toHaveSizeSpec.js | 16 +- spec/core/matchers/toMatchSpec.js | 14 +- spec/core/matchers/toThrowErrorSpec.js | 169 +- spec/core/matchers/toThrowMatchingSpec.js | 54 +- spec/core/matchers/toThrowSpec.js | 39 +- src/core/asymmetric_equality/Any.js | 3 +- src/core/asymmetric_equality/Anything.js | 1 - .../asymmetric_equality/ArrayContaining.js | 10 +- .../ArrayWithExactContents.js | 12 +- src/core/asymmetric_equality/Empty.js | 7 +- src/core/asymmetric_equality/Falsy.js | 1 - src/core/asymmetric_equality/MapContaining.js | 8 +- src/core/asymmetric_equality/NotEmpty.js | 7 +- .../asymmetric_equality/ObjectContaining.js | 23 +- src/core/asymmetric_equality/SetContaining.js | 4 +- .../asymmetric_equality/StringMatching.js | 1 - src/core/asymmetric_equality/Truthy.js | 1 - src/core/matchers/DiffBuilder.js | 59 +- src/core/matchers/MismatchTree.js | 11 +- src/core/matchers/ObjectPath.js | 2 +- src/core/matchers/async/toBePending.js | 8 +- src/core/matchers/async/toBeRejected.js | 8 +- src/core/matchers/async/toBeRejectedWith.js | 43 +- .../matchers/async/toBeRejectedWithError.js | 45 +- src/core/matchers/async/toBeResolved.js | 8 +- src/core/matchers/async/toBeResolvedTo.js | 13 +- src/core/matchers/matchersUtil.js | 240 ++- src/core/matchers/toBe.js | 11 +- src/core/matchers/toBeCloseTo.js | 9 +- src/core/matchers/toBeDefined.js | 2 +- src/core/matchers/toBeGreaterThan.js | 1 - src/core/matchers/toBeInstanceOf.js | 38 +- src/core/matchers/toBeLessThan.js | 1 - src/core/matchers/toBeLessThanOrEqual.js | 1 - src/core/matchers/toBeNaN.js | 6 +- src/core/matchers/toBeNegativeInfinity.js | 6 +- src/core/matchers/toBePositiveInfinity.js | 6 +- src/core/matchers/toContain.js | 1 - src/core/matchers/toEqual.js | 2 +- src/core/matchers/toHaveBeenCalled.js | 22 +- src/core/matchers/toHaveBeenCalledBefore.js | 53 +- src/core/matchers/toHaveBeenCalledOnceWith.js | 68 +- src/core/matchers/toHaveBeenCalledTimes.js | 36 +- src/core/matchers/toHaveBeenCalledWith.js | 76 +- src/core/matchers/toHaveClass.js | 6 +- src/core/matchers/toHaveSize.js | 19 +- src/core/matchers/toMatch.js | 6 +- src/core/matchers/toThrow.js | 32 +- src/core/matchers/toThrowError.js | 63 +- src/core/matchers/toThrowMatching.js | 28 +- 108 files changed, 4399 insertions(+), 2926 deletions(-) diff --git a/package.json b/package.json index 0ef7ddd8..ae77c27f 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,9 @@ "bdd" ], "scripts": { - "posttest": "eslint \"src/**/*.js\" \"spec/**/*.js\" && prettier --check src/**/*.js spec/**/*.js", + "posttest": "eslint \"src/**/*.js\" \"spec/**/*.js\" && prettier --check \"src/**/*.js\" \"spec/**/*.js\"", "test": "grunt --stack execSpecsInNode", - "cleanup": "prettier --write src/**/*.js spec/**/*.js", + "cleanup": "prettier --write \"src/**/*.js\" \"spec/**/*.js\"", "build": "grunt buildDistribution", "serve": "node spec/support/localJasmineBrowser.js", "serve:performance": "node spec/support/localJasmineBrowser.js jasmine-browser-performance.json", diff --git a/spec/.eslintrc.js b/spec/.eslintrc.js index 636eed53..20f58dfa 100644 --- a/spec/.eslintrc.js +++ b/spec/.eslintrc.js @@ -1,23 +1,20 @@ module.exports = { - "ignorePatterns": [ - "support/ci.js", - "support/jasmine-browser.js" - ], + ignorePatterns: ['support/ci.js', 'support/jasmine-browser.js'], rules: { // Relax rules for now to allow for the quirks of the test suite // TODO: We should probably remove these & fix the resulting errors - "quotes": "off", - "semi": "off", - "key-spacing": "off", - "space-before-blocks": "off", - "no-unused-vars": "off", - "no-trailing-spaces": "off", - "block-spacing": "off", + quotes: 'off', + semi: 'off', + 'key-spacing': 'off', + 'space-before-blocks': 'off', + 'no-unused-vars': 'off', + 'no-trailing-spaces': 'off', + 'block-spacing': 'off', // Since linting is done at the end of the process and doesn't stop us // from running tests, it makes sense to fail if debugger statements // or console references are present. - "no-debugger": "error", - "no-console": "error", + 'no-debugger': 'error', + 'no-console': 'error' } }; diff --git a/spec/core/asymmetric_equality/AnySpec.js b/spec/core/asymmetric_equality/AnySpec.js index 8e28c306..0903cf84 100644 --- a/spec/core/asymmetric_equality/AnySpec.js +++ b/spec/core/asymmetric_equality/AnySpec.js @@ -1,35 +1,35 @@ -describe("Any", function() { - it("matches a string", function() { +describe('Any', function() { + it('matches a string', function() { var any = new jasmineUnderTest.Any(String); - expect(any.asymmetricMatch("foo")).toBe(true); + expect(any.asymmetricMatch('foo')).toBe(true); }); - it("matches a number", function() { + it('matches a number', function() { var any = new jasmineUnderTest.Any(Number); expect(any.asymmetricMatch(1)).toBe(true); }); - it("matches a function", function() { + it('matches a function', function() { var any = new jasmineUnderTest.Any(Function); - expect(any.asymmetricMatch(function(){})).toBe(true); + expect(any.asymmetricMatch(function() {})).toBe(true); }); - it("matches an Object", function() { + it('matches an Object', function() { var any = new jasmineUnderTest.Any(Object); expect(any.asymmetricMatch({})).toBe(true); }); - it("matches a Boolean", function() { + it('matches a Boolean', function() { var any = new jasmineUnderTest.Any(Boolean); expect(any.asymmetricMatch(true)).toBe(true); }); - it("matches a Map", function() { + it('matches a Map', function() { jasmine.getEnv().requireFunctioningMaps(); var any = new jasmineUnderTest.Any(Map); @@ -37,7 +37,7 @@ describe("Any", function() { expect(any.asymmetricMatch(new Map())).toBe(true); // eslint-disable-line compat/compat }); - it("matches a Set", function() { + it('matches a Set', function() { jasmine.getEnv().requireFunctioningSets(); var any = new jasmineUnderTest.Any(Set); @@ -45,7 +45,7 @@ describe("Any", function() { expect(any.asymmetricMatch(new Set())).toBe(true); // eslint-disable-line compat/compat }); - it("matches a TypedArray", function() { + it('matches a TypedArray', function() { jasmine.getEnv().requireFunctioningTypedArrays(); var any = new jasmineUnderTest.Any(Uint32Array); // eslint-disable-line compat/compat @@ -53,7 +53,7 @@ describe("Any", function() { expect(any.asymmetricMatch(new Uint32Array([]))).toBe(true); // eslint-disable-line compat/compat }); - it("matches a Symbol", function() { + it('matches a Symbol', function() { jasmine.getEnv().requireFunctioningSymbols(); var any = new jasmineUnderTest.Any(Symbol); // eslint-disable-line compat/compat @@ -61,14 +61,14 @@ describe("Any", function() { expect(any.asymmetricMatch(Symbol())).toBe(true); // eslint-disable-line compat/compat }); - it("matches another constructed object", function() { + it('matches another constructed object', function() { var Thing = function() {}, any = new jasmineUnderTest.Any(Thing); expect(any.asymmetricMatch(new Thing())).toBe(true); }); - it("does not treat null as an Object", function() { + it('does not treat null as an Object', function() { var any = new jasmineUnderTest.Any(Object); expect(any.asymmetricMatch(null)).toBe(false); @@ -81,8 +81,8 @@ describe("Any", function() { expect(any.jasmineToString()).toEqual(''); }); - describe("when called without an argument", function() { - it("tells the user to pass a constructor or use jasmine.anything()", function() { + describe('when called without an argument', function() { + it('tells the user to pass a constructor or use jasmine.anything()', function() { expect(function() { new jasmineUnderTest.Any(); }).toThrowError(TypeError, /constructor.*anything/); diff --git a/spec/core/asymmetric_equality/AnythingSpec.js b/spec/core/asymmetric_equality/AnythingSpec.js index 4e251b91..61ac14e5 100644 --- a/spec/core/asymmetric_equality/AnythingSpec.js +++ b/spec/core/asymmetric_equality/AnythingSpec.js @@ -1,29 +1,29 @@ -describe("Anything", function() { - it("matches a string", function() { +describe('Anything', function() { + it('matches a string', function() { var anything = new jasmineUnderTest.Anything(); expect(anything.asymmetricMatch('foo')).toBe(true); }); - it("matches a number", function() { + it('matches a number', function() { var anything = new jasmineUnderTest.Anything(); expect(anything.asymmetricMatch(42)).toBe(true); }); - it("matches an object", function() { + it('matches an object', function() { var anything = new jasmineUnderTest.Anything(); expect(anything.asymmetricMatch({ foo: 'bar' })).toBe(true); }); - it("matches an array", function() { + it('matches an array', function() { var anything = new jasmineUnderTest.Anything(); - expect(anything.asymmetricMatch([1,2,3])).toBe(true); + expect(anything.asymmetricMatch([1, 2, 3])).toBe(true); }); - it("matches a Map", function() { + it('matches a Map', function() { jasmine.getEnv().requireFunctioningMaps(); var anything = new jasmineUnderTest.Anything(); @@ -31,7 +31,7 @@ describe("Anything", function() { expect(anything.asymmetricMatch(new Map())).toBe(true); // eslint-disable-line compat/compat }); - it("matches a Set", function() { + it('matches a Set', function() { jasmine.getEnv().requireFunctioningSets(); var anything = new jasmineUnderTest.Anything(); @@ -39,7 +39,7 @@ describe("Anything", function() { expect(anything.asymmetricMatch(new Set())).toBe(true); // eslint-disable-line compat/compat }); - it("matches a TypedArray", function() { + it('matches a TypedArray', function() { jasmine.getEnv().requireFunctioningTypedArrays(); var anything = new jasmineUnderTest.Anything(); @@ -47,7 +47,7 @@ describe("Anything", function() { expect(anything.asymmetricMatch(new Uint32Array([]))).toBe(true); // eslint-disable-line compat/compat }); - it("matches a Symbol", function() { + it('matches a Symbol', function() { jasmine.getEnv().requireFunctioningSymbols(); var anything = new jasmineUnderTest.Anything(); @@ -71,6 +71,6 @@ describe("Anything", function() { it("jasmineToString's itself", function() { var anything = new jasmineUnderTest.Anything(); - expect(anything.jasmineToString()).toEqual(""); + expect(anything.jasmineToString()).toEqual(''); }); }); diff --git a/spec/core/asymmetric_equality/ArrayContainingSpec.js b/spec/core/asymmetric_equality/ArrayContainingSpec.js index 33e411e6..71d44df3 100644 --- a/spec/core/asymmetric_equality/ArrayContainingSpec.js +++ b/spec/core/asymmetric_equality/ArrayContainingSpec.js @@ -1,47 +1,47 @@ -describe("ArrayContaining", function() { - it("matches any actual to an empty array", function() { +describe('ArrayContaining', function() { + it('matches any actual to an empty array', function() { var containing = new jasmineUnderTest.ArrayContaining([]); - expect(containing.asymmetricMatch("foo")).toBe(true); + expect(containing.asymmetricMatch('foo')).toBe(true); }); - it("does not work when not passed an array", function() { - var containing = new jasmineUnderTest.ArrayContaining("foo"); + it('does not work when not passed an array', function() { + var containing = new jasmineUnderTest.ArrayContaining('foo'); expect(function() { containing.asymmetricMatch([]); }).toThrowError(/not 'foo'/); }); - it("matches when the item is in the actual", function() { - var containing = new jasmineUnderTest.ArrayContaining(["foo"]); + it('matches when the item is in the actual', function() { + var containing = new jasmineUnderTest.ArrayContaining(['foo']); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch(["foo"], matchersUtil)).toBe(true); + expect(containing.asymmetricMatch(['foo'], matchersUtil)).toBe(true); }); - it("matches when additional items are in the actual", function() { - var containing = new jasmineUnderTest.ArrayContaining(["foo"]); + it('matches when additional items are in the actual', function() { + var containing = new jasmineUnderTest.ArrayContaining(['foo']); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch(["foo", "bar"], matchersUtil)).toBe(true); + expect(containing.asymmetricMatch(['foo', 'bar'], matchersUtil)).toBe(true); }); - it("does not match when the item is not in the actual", function() { - var containing = new jasmineUnderTest.ArrayContaining(["foo"]); + it('does not match when the item is not in the actual', function() { + var containing = new jasmineUnderTest.ArrayContaining(['foo']); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch(["bar"], matchersUtil)).toBe(false); + expect(containing.asymmetricMatch(['bar'], matchersUtil)).toBe(false); }); - it("does not match when the actual is not an array", function() { - var containing = new jasmineUnderTest.ArrayContaining(["foo"]); + it('does not match when the actual is not an array', function() { + var containing = new jasmineUnderTest.ArrayContaining(['foo']); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch("foo", matchersUtil)).toBe(false); + expect(containing.asymmetricMatch('foo', matchersUtil)).toBe(false); }); - it("jasmineToStrings itself", function() { + it('jasmineToStrings itself', function() { var sample = [], matcher = new jasmineUnderTest.ArrayContaining(sample), pp = jasmine.createSpy('pp').and.returnValue('sample'); @@ -52,17 +52,23 @@ describe("ArrayContaining", function() { expect(pp).toHaveBeenCalledWith(sample); }); - it("uses custom equality testers", function() { + it('uses custom equality testers', function() { var tester = function(a, b) { // All "foo*" strings match each other. - if (typeof a == "string" && typeof b == "string" && - a.substr(0, 3) == "foo" && b.substr(0, 3) == "foo") { + if ( + typeof a == 'string' && + typeof b == 'string' && + a.substr(0, 3) == 'foo' && + b.substr(0, 3) == 'foo' + ) { return true; } }; - var containing = new jasmineUnderTest.ArrayContaining(["fooVal"]); - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}); + var containing = new jasmineUnderTest.ArrayContaining(['fooVal']); + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }); - expect(containing.asymmetricMatch(["fooBar"], matchersUtil)).toBe(true); + expect(containing.asymmetricMatch(['fooBar'], matchersUtil)).toBe(true); }); }); diff --git a/spec/core/asymmetric_equality/ArrayWithExactContentsSpec.js b/spec/core/asymmetric_equality/ArrayWithExactContentsSpec.js index fd0bb30c..c25470ae 100644 --- a/spec/core/asymmetric_equality/ArrayWithExactContentsSpec.js +++ b/spec/core/asymmetric_equality/ArrayWithExactContentsSpec.js @@ -1,35 +1,37 @@ -describe("ArrayWithExactContents", function() { - it("matches an array with the same items in a different order", function() { +describe('ArrayWithExactContents', function() { + it('matches an array with the same items in a different order', function() { var matcher = new jasmineUnderTest.ArrayWithExactContents(['a', 2, /a/]); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matcher.asymmetricMatch([2, 'a', /a/], matchersUtil)).toBe(true); }); - it("does not work when not passed an array", function() { - var matcher = new jasmineUnderTest.ArrayWithExactContents("foo"); + it('does not work when not passed an array', function() { + var matcher = new jasmineUnderTest.ArrayWithExactContents('foo'); expect(function() { matcher.asymmetricMatch([]); }).toThrowError(/not 'foo'/); }); - it("does not match when an item is missing", function() { + it('does not match when an item is missing', function() { var matcher = new jasmineUnderTest.ArrayWithExactContents(['a', 2, /a/]); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matcher.asymmetricMatch(['a', 2], matchersUtil)).toBe(false); - expect(matcher.asymmetricMatch(['a', 2, undefined], matchersUtil)).toBe(false); + expect(matcher.asymmetricMatch(['a', 2, undefined], matchersUtil)).toBe( + false + ); }); - it("does not match when there is an extra item", function() { + it('does not match when there is an extra item', function() { var matcher = new jasmineUnderTest.ArrayWithExactContents(['a']); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matcher.asymmetricMatch(['a', 2], matchersUtil)).toBe(false); }); - it("jasmineToStrings itself", function() { + it('jasmineToStrings itself', function() { var sample = [], matcher = new jasmineUnderTest.ArrayWithExactContents(sample), pp = jasmine.createSpy('pp').and.returnValue('sample'); @@ -40,17 +42,23 @@ describe("ArrayWithExactContents", function() { expect(pp).toHaveBeenCalledWith(sample); }); - it("uses custom equality testers", function() { + it('uses custom equality testers', function() { var tester = function(a, b) { // All "foo*" strings match each other. - if (typeof a == "string" && typeof b == "string" && - a.substr(0, 3) == "foo" && b.substr(0, 3) == "foo") { + if ( + typeof a == 'string' && + typeof b == 'string' && + a.substr(0, 3) == 'foo' && + b.substr(0, 3) == 'foo' + ) { return true; } }; - var matcher = new jasmineUnderTest.ArrayWithExactContents(["fooVal"]); - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}); + var matcher = new jasmineUnderTest.ArrayWithExactContents(['fooVal']); + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }); - expect(matcher.asymmetricMatch(["fooBar"], matchersUtil)).toBe(true); + expect(matcher.asymmetricMatch(['fooBar'], matchersUtil)).toBe(true); }); }); diff --git a/spec/core/asymmetric_equality/EmptySpec.js b/spec/core/asymmetric_equality/EmptySpec.js index 48271ce5..4ef48a86 100644 --- a/spec/core/asymmetric_equality/EmptySpec.js +++ b/spec/core/asymmetric_equality/EmptySpec.js @@ -1,27 +1,27 @@ -describe("Empty", function () { - it("matches an empty object", function () { +describe('Empty', function() { + it('matches an empty object', function() { var empty = new jasmineUnderTest.Empty(); expect(empty.asymmetricMatch({})).toBe(true); - expect(empty.asymmetricMatch({undefined: false})).toBe(false); + expect(empty.asymmetricMatch({ undefined: false })).toBe(false); }); - it("matches an empty array", function () { + it('matches an empty array', function() { var empty = new jasmineUnderTest.Empty(); expect(empty.asymmetricMatch([])).toBe(true); expect(empty.asymmetricMatch([1, 12, 3])).toBe(false); }); - it("matches an empty string", function () { + it('matches an empty string', function() { var empty = new jasmineUnderTest.Empty(); - expect(empty.asymmetricMatch("")).toBe(true); + expect(empty.asymmetricMatch('')).toBe(true); expect(empty.asymmetricMatch('')).toBe(true); expect(empty.asymmetricMatch('12312')).toBe(false); }); - it("matches an empty map", function () { + it('matches an empty map', function() { jasmine.getEnv().requireFunctioningMaps(); var empty = new jasmineUnderTest.Empty(); var fullMap = new Map(); // eslint-disable-line compat/compat @@ -31,7 +31,7 @@ describe("Empty", function () { expect(empty.asymmetricMatch(fullMap)).toBe(false); }); - it("matches an empty set", function () { + it('matches an empty set', function() { jasmine.getEnv().requireFunctioningSets(); var empty = new jasmineUnderTest.Empty(); var fullSet = new Set(); // eslint-disable-line compat/compat @@ -41,11 +41,11 @@ describe("Empty", function () { expect(empty.asymmetricMatch(fullSet)).toBe(false); }); - it("matches an empty typed array", function() { + it('matches an empty typed array', function() { jasmine.getEnv().requireFunctioningTypedArrays(); var empty = new jasmineUnderTest.Empty(); expect(empty.asymmetricMatch(new Int16Array())).toBe(true); // eslint-disable-line compat/compat - expect(empty.asymmetricMatch(new Int16Array([1,2]))).toBe(false); // eslint-disable-line compat/compat + expect(empty.asymmetricMatch(new Int16Array([1, 2]))).toBe(false); // eslint-disable-line compat/compat }); }); diff --git a/spec/core/asymmetric_equality/FalsySpec.js b/spec/core/asymmetric_equality/FalsySpec.js index 581bedcb..f511c145 100644 --- a/spec/core/asymmetric_equality/FalsySpec.js +++ b/spec/core/asymmetric_equality/FalsySpec.js @@ -1,38 +1,38 @@ -describe("Falsy", function() { - it("is true for an empty string", function() { - var falsy = new jasmineUnderTest.Falsy(); +describe('Falsy', function() { + it('is true for an empty string', function() { + var falsy = new jasmineUnderTest.Falsy(); - expect(falsy.asymmetricMatch("")).toBe(true); - expect(falsy.asymmetricMatch('')).toBe(true); - expect(falsy.asymmetricMatch('asdasdad')).toBe(false); - }); + expect(falsy.asymmetricMatch('')).toBe(true); + expect(falsy.asymmetricMatch('')).toBe(true); + expect(falsy.asymmetricMatch('asdasdad')).toBe(false); + }); - it("is false for a number that is 0", function() { - var falsy = new jasmineUnderTest.Falsy(Number); + it('is false for a number that is 0', function() { + var falsy = new jasmineUnderTest.Falsy(Number); - expect(falsy.asymmetricMatch(1)).toBe(false); - expect(falsy.asymmetricMatch(0)).toBe(true); - expect(falsy.asymmetricMatch(-23)).toBe(false); - expect(falsy.asymmetricMatch(-3.1)).toBe(false); - }); + expect(falsy.asymmetricMatch(1)).toBe(false); + expect(falsy.asymmetricMatch(0)).toBe(true); + expect(falsy.asymmetricMatch(-23)).toBe(false); + expect(falsy.asymmetricMatch(-3.1)).toBe(false); + }); - it("is true for a null or undefined", function() { - var falsy = new jasmineUnderTest.Falsy(Function); + it('is true for a null or undefined', function() { + var falsy = new jasmineUnderTest.Falsy(Function); - expect(falsy.asymmetricMatch(null)).toBe(true); - expect(falsy.asymmetricMatch(undefined )).toBe(true); - }); + expect(falsy.asymmetricMatch(null)).toBe(true); + expect(falsy.asymmetricMatch(undefined)).toBe(true); + }); - it("is true for NaN", function() { - var falsy = new jasmineUnderTest.Falsy(Object); + it('is true for NaN', function() { + var falsy = new jasmineUnderTest.Falsy(Object); - expect(falsy.asymmetricMatch(NaN)).toBe(true); - }); + expect(falsy.asymmetricMatch(NaN)).toBe(true); + }); - it("is true for a false Boolean", function() { - var falsy = new jasmineUnderTest.Falsy(Boolean); + it('is true for a false Boolean', function() { + var falsy = new jasmineUnderTest.Falsy(Boolean); - expect(falsy.asymmetricMatch(false)).toBe(true); - expect(falsy.asymmetricMatch(true)).toBe(false); - }); + expect(falsy.asymmetricMatch(false)).toBe(true); + expect(falsy.asymmetricMatch(true)).toBe(false); + }); }); diff --git a/spec/core/asymmetric_equality/MapContainingSpec.js b/spec/core/asymmetric_equality/MapContainingSpec.js index dc89218d..d55c450b 100644 --- a/spec/core/asymmetric_equality/MapContainingSpec.js +++ b/spec/core/asymmetric_equality/MapContainingSpec.js @@ -1,6 +1,7 @@ /* eslint-disable compat/compat */ describe('MapContaining', function() { - function MapI(iterable) { // for IE11 + function MapI(iterable) { + // for IE11 var map = new Map(); iterable.forEach(function(kv) { map.set(kv[0], kv[1]); @@ -12,7 +13,6 @@ describe('MapContaining', function() { jasmine.getEnv().requireFunctioningMaps(); }); - it('matches any actual map to an empty map', function() { var actualMap = new MapI([['foo', 'bar']]); var containing = new jasmineUnderTest.MapContaining(new Map()); @@ -23,14 +23,11 @@ describe('MapContaining', function() { it('matches when all the key/value pairs in sample have matches in actual', function() { var actualMap = new MapI([ ['foo', [1, 2, 3]], - [{'foo': 'bar'}, 'baz'], - ['other', 'any'], + [{ foo: 'bar' }, 'baz'], + ['other', 'any'] ]); - var containingMap = new MapI([ - [{'foo': 'bar'}, 'baz'], - ['foo', [1, 2, 3]], - ]); + var containingMap = new MapI([[{ foo: 'bar' }, 'baz'], ['foo', [1, 2, 3]]]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -40,13 +37,10 @@ describe('MapContaining', function() { it('does not match when a key is not in actual', function() { var actualMap = new MapI([ ['foo', [1, 2, 3]], - [{'foo': 'not a bar'}, 'baz'], + [{ foo: 'not a bar' }, 'baz'] ]); - var containingMap = new MapI([ - [{'foo': 'bar'}, 'baz'], - ['foo', [1, 2, 3]], - ]); + var containingMap = new MapI([[{ foo: 'bar' }, 'baz'], ['foo', [1, 2, 3]]]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -54,15 +48,9 @@ describe('MapContaining', function() { }); it('does not match when a value is not in actual', function() { - var actualMap = new MapI([ - ['foo', [1, 2, 3]], - [{'foo': 'bar'}, 'baz'], - ]); + var actualMap = new MapI([['foo', [1, 2, 3]], [{ foo: 'bar' }, 'baz']]); - var containingMap = new MapI([ - [{'foo': 'bar'}, 'baz'], - ['foo', [1, 2]], - ]); + var containingMap = new MapI([[{ foo: 'bar' }, 'baz'], ['foo', [1, 2]]]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -73,18 +61,12 @@ describe('MapContaining', function() { var actualMap = new MapI([ ['foo1', 'not a bar'], ['foo2', 'bar'], - ['baz', [1, 2, 3, 4]], + ['baz', [1, 2, 3, 4]] ]); var containingMap = new MapI([ - [ - jasmineUnderTest.stringMatching(/^foo\d/), - 'bar' - ], - [ - 'baz', - jasmineUnderTest.arrayContaining([2, 3]) - ], + [jasmineUnderTest.stringMatching(/^foo\d/), 'bar'], + ['baz', jasmineUnderTest.arrayContaining([2, 3])] ]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -93,20 +75,11 @@ describe('MapContaining', function() { }); it('does not match when a key in sample has no asymmetric matches in actual', function() { - var actualMap = new MapI([ - ['a-foo1', 'bar'], - ['baz', [1, 2, 3, 4]], - ]); + var actualMap = new MapI([['a-foo1', 'bar'], ['baz', [1, 2, 3, 4]]]); var containingMap = new MapI([ - [ - jasmineUnderTest.stringMatching(/^foo\d/), - 'bar' - ], - [ - 'baz', - jasmineUnderTest.arrayContaining([2, 3]) - ], + [jasmineUnderTest.stringMatching(/^foo\d/), 'bar'], + ['baz', jasmineUnderTest.arrayContaining([2, 3])] ]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -115,20 +88,11 @@ describe('MapContaining', function() { }); it('does not match when a value in sample has no asymmetric matches in actual', function() { - var actualMap = new MapI([ - ['foo1', 'bar'], - ['baz', [1, 2, 3, 4]], - ]); + var actualMap = new MapI([['foo1', 'bar'], ['baz', [1, 2, 3, 4]]]); var containingMap = new MapI([ - [ - jasmineUnderTest.stringMatching(/^foo\d/), - 'bar' - ], - [ - 'baz', - jasmineUnderTest.arrayContaining([4, 5]) - ], + [jasmineUnderTest.stringMatching(/^foo\d/), 'bar'], + ['baz', jasmineUnderTest.arrayContaining([4, 5])] ]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -140,18 +104,12 @@ describe('MapContaining', function() { var actualMap = new MapI([ ['foo', new MapI([['foo1', 1], ['foo2', 2]])], [new MapI([[1, 'bar1'], [2, 'bar2']]), 'bar'], - ['other', 'any'], + ['other', 'any'] ]); var containingMap = new MapI([ - [ - 'foo', - new jasmineUnderTest.MapContaining(new MapI([['foo1', 1]])) - ], - [ - new jasmineUnderTest.MapContaining(new MapI([[2, 'bar2']])), - 'bar' - ], + ['foo', new jasmineUnderTest.MapContaining(new MapI([['foo1', 1]]))], + [new jasmineUnderTest.MapContaining(new MapI([[2, 'bar2']])), 'bar'] ]); var containing = new jasmineUnderTest.MapContaining(containingMap); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -162,25 +120,41 @@ describe('MapContaining', function() { it('uses custom equality testers', function() { function tester(a, b) { // treat all negative numbers as equal - return (typeof a == 'number' && typeof b == 'number') ? (a < 0 && b < 0) : a === b; + return typeof a == 'number' && typeof b == 'number' + ? a < 0 && b < 0 + : a === b; } var actualMap = new MapI([['foo', -1]]); - var containing = new jasmineUnderTest.MapContaining(new MapI([['foo', -2]])); - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}); + var containing = new jasmineUnderTest.MapContaining( + new MapI([['foo', -2]]) + ); + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }); expect(containing.asymmetricMatch(actualMap, matchersUtil)).toBe(true); }); it('does not match when actual is not a map', function() { var containingMap = new MapI([['foo', 'bar']]); - expect(new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch('foo')).toBe(false); - expect(new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch(-1)).toBe(false); - expect(new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch({'foo': 'bar'})).toBe(false); + expect( + new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch('foo') + ).toBe(false); + expect( + new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch(-1) + ).toBe(false); + expect( + new jasmineUnderTest.MapContaining(containingMap).asymmetricMatch({ + foo: 'bar' + }) + ).toBe(false); }); it('throws an error when sample is not a map', function() { expect(function() { - new jasmineUnderTest.MapContaining({'foo': 'bar'}).asymmetricMatch(new Map()); + new jasmineUnderTest.MapContaining({ foo: 'bar' }).asymmetricMatch( + new Map() + ); }).toThrowError(/You must provide a map/); }); diff --git a/spec/core/asymmetric_equality/NotEmptySpec.js b/spec/core/asymmetric_equality/NotEmptySpec.js index d00ee013..fdb0a99e 100644 --- a/spec/core/asymmetric_equality/NotEmptySpec.js +++ b/spec/core/asymmetric_equality/NotEmptySpec.js @@ -1,27 +1,27 @@ -describe("NotEmpty", function () { - it("matches a non empty object", function () { +describe('NotEmpty', function() { + it('matches a non empty object', function() { var notEmpty = new jasmineUnderTest.NotEmpty(); - expect(notEmpty.asymmetricMatch({undefined: false})).toBe(true); + expect(notEmpty.asymmetricMatch({ undefined: false })).toBe(true); expect(notEmpty.asymmetricMatch({})).toBe(false); }); - it("matches a non empty array", function () { + it('matches a non empty array', function() { var notEmpty = new jasmineUnderTest.NotEmpty(); expect(notEmpty.asymmetricMatch([1, 12, 3])).toBe(true); expect(notEmpty.asymmetricMatch([])).toBe(false); }); - it("matches a non empty string", function () { + it('matches a non empty string', function() { var notEmpty = new jasmineUnderTest.NotEmpty(); expect(notEmpty.asymmetricMatch('12312')).toBe(true); - expect(notEmpty.asymmetricMatch("")).toBe(false); + expect(notEmpty.asymmetricMatch('')).toBe(false); expect(notEmpty.asymmetricMatch('')).toBe(false); }); - it("matches a non empty map", function () { + it('matches a non empty map', function() { jasmine.getEnv().requireFunctioningMaps(); var notEmpty = new jasmineUnderTest.NotEmpty(); var fullMap = new Map(); // eslint-disable-line compat/compat @@ -32,7 +32,7 @@ describe("NotEmpty", function () { expect(notEmpty.asymmetricMatch(emptyMap)).toBe(false); }); - it("matches a non empty set", function () { + it('matches a non empty set', function() { jasmine.getEnv().requireFunctioningSets(); var notEmpty = new jasmineUnderTest.NotEmpty(); var filledSet = new Set(); // eslint-disable-line compat/compat @@ -43,11 +43,11 @@ describe("NotEmpty", function () { expect(notEmpty.asymmetricMatch(emptySet)).toBe(false); }); - it("matches a non empty typed array", function() { + it('matches a non empty typed array', function() { jasmine.getEnv().requireFunctioningTypedArrays(); var notEmpty = new jasmineUnderTest.NotEmpty(); - expect(notEmpty.asymmetricMatch(new Int16Array([1,2,3]))).toBe(true); // eslint-disable-line compat/compat + expect(notEmpty.asymmetricMatch(new Int16Array([1, 2, 3]))).toBe(true); // eslint-disable-line compat/compat expect(notEmpty.asymmetricMatch(new Int16Array())).toBe(false); // eslint-disable-line compat/compat }); }); diff --git a/spec/core/asymmetric_equality/ObjectContainingSpec.js b/spec/core/asymmetric_equality/ObjectContainingSpec.js index 97df2555..07b86148 100644 --- a/spec/core/asymmetric_equality/ObjectContainingSpec.js +++ b/spec/core/asymmetric_equality/ObjectContainingSpec.js @@ -1,47 +1,55 @@ -describe("ObjectContaining", function() { - - it("matches any object actual to an empty object", function() { +describe('ObjectContaining', function() { + it('matches any object actual to an empty object', function() { var containing = new jasmineUnderTest.ObjectContaining({}); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({foo: 1}, matchersUtil)).toBe(true); + expect(containing.asymmetricMatch({ foo: 1 }, matchersUtil)).toBe(true); }); - it("does not match when the actual is not an object", function() { + it('does not match when the actual is not an object', function() { var containing = new jasmineUnderTest.ObjectContaining({}); - [1, true, undefined, "a string"].forEach(function(actual) { + [1, true, undefined, 'a string'].forEach(function(actual) { expect(containing.asymmetricMatch(actual)).toBe(false); }); }); - it("does not match an empty object actual", function() { - var containing = new jasmineUnderTest.ObjectContaining("foo"); + it('does not match an empty object actual', function() { + var containing = new jasmineUnderTest.ObjectContaining('foo'); expect(function() { - containing.asymmetricMatch({}) - }).toThrowError(/not 'foo'/) + containing.asymmetricMatch({}); + }).toThrowError(/not 'foo'/); }); - it("matches when the key/value pair is present in the actual", function() { - var containing = new jasmineUnderTest.ObjectContaining({foo: "fooVal"}); + it('matches when the key/value pair is present in the actual', function() { + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'fooVal' }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({foo: "fooVal", bar: "barVal"}, matchersUtil)).toBe(true); + expect( + containing.asymmetricMatch({ foo: 'fooVal', bar: 'barVal' }, matchersUtil) + ).toBe(true); }); - it("does not match when the key/value pair is not present in the actual", function() { - var containing = new jasmineUnderTest.ObjectContaining({foo: "fooVal"}); + it('does not match when the key/value pair is not present in the actual', function() { + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'fooVal' }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({bar: "barVal", quux: "quuxVal"}, matchersUtil)).toBe(false); + expect( + containing.asymmetricMatch( + { bar: 'barVal', quux: 'quuxVal' }, + matchersUtil + ) + ).toBe(false); }); - it("does not match when the key is present but the value is different in the actual", function() { - var containing = new jasmineUnderTest.ObjectContaining({foo: "other"}); + it('does not match when the key is present but the value is different in the actual', function() { + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'other' }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({foo: "fooVal", bar: "barVal"}, matchersUtil)).toBe(false); + expect( + containing.asymmetricMatch({ foo: 'fooVal', bar: 'barVal' }, matchersUtil) + ).toBe(false); }); it("jasmineToString's itself", function() { @@ -53,46 +61,55 @@ describe("ObjectContaining", function() { '' ); expect(pp).toHaveBeenCalledWith(sample); - }); - it("matches recursively", function() { - var containing = new jasmineUnderTest.ObjectContaining({one: new jasmineUnderTest.ObjectContaining({two: {}})}); + it('matches recursively', function() { + var containing = new jasmineUnderTest.ObjectContaining({ + one: new jasmineUnderTest.ObjectContaining({ two: {} }) + }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({one: {two: {}}}, matchersUtil)).toBe(true); + expect(containing.asymmetricMatch({ one: { two: {} } }, matchersUtil)).toBe( + true + ); }); - it("matches when key is present with undefined value", function() { + it('matches when key is present with undefined value', function() { var containing = new jasmineUnderTest.ObjectContaining({ one: undefined }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(containing.asymmetricMatch({ one: undefined }, matchersUtil)).toBe(true); + expect(containing.asymmetricMatch({ one: undefined }, matchersUtil)).toBe( + true + ); }); - it("does not match when key with undefined value is not present", function() { + it('does not match when key with undefined value is not present', function() { var containing = new jasmineUnderTest.ObjectContaining({ one: undefined }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(containing.asymmetricMatch({}, matchersUtil)).toBe(false); }); - it("matches defined properties", function(){ - var containing = new jasmineUnderTest.ObjectContaining({ foo: "fooVal" }); + it('matches defined properties', function() { + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'fooVal' }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var definedPropertyObject = {}; - Object.defineProperty(definedPropertyObject, "foo", { - get: function() { return "fooVal" } + Object.defineProperty(definedPropertyObject, 'foo', { + get: function() { + return 'fooVal'; + } }); - expect(containing.asymmetricMatch(definedPropertyObject, matchersUtil)).toBe(true); + expect( + containing.asymmetricMatch(definedPropertyObject, matchersUtil) + ).toBe(true); }); - it("matches prototype properties", function(){ - var containing = new jasmineUnderTest.ObjectContaining({ foo: "fooVal" }); + it('matches prototype properties', function() { + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'fooVal' }); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - var prototypeObject = {foo: "fooVal"}; + var prototypeObject = { foo: 'fooVal' }; var obj; if (Object.create) { @@ -107,23 +124,31 @@ describe("ObjectContaining", function() { expect(containing.asymmetricMatch(obj, matchersUtil)).toBe(true); }); - it("uses custom equality testers", function() { + it('uses custom equality testers', function() { var tester = function(a, b) { // All "foo*" strings match each other. - if (typeof a == "string" && typeof b == "string" && - a.substr(0, 3) == "foo" && b.substr(0, 3) == "foo") { + if ( + typeof a == 'string' && + typeof b == 'string' && + a.substr(0, 3) == 'foo' && + b.substr(0, 3) == 'foo' + ) { return true; } }; - var containing = new jasmineUnderTest.ObjectContaining({foo: "fooVal"}); - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}); + var containing = new jasmineUnderTest.ObjectContaining({ foo: 'fooVal' }); + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }); - expect(containing.asymmetricMatch({foo: "fooBar"}, matchersUtil)).toBe(true); + expect(containing.asymmetricMatch({ foo: 'fooBar' }, matchersUtil)).toBe( + true + ); }); - describe("valuesForDiff_", function() { - describe("when other is not an object", function() { - it("sets self to jasmineToString()", function () { + describe('valuesForDiff_', function() { + describe('when other is not an object', function() { + it('sets self to jasmineToString()', function() { var containing = new jasmineUnderTest.ObjectContaining({}), pp = jasmineUnderTest.makePrettyPrinter(), result = containing.valuesForDiff_('a', pp); @@ -135,27 +160,31 @@ describe("ObjectContaining", function() { }); }); - describe("when other is an object", function() { - it("includes keys that are present in both other and sample", function() { - var sample = {a: 1, b: 2}, - other = {a: 3, b: 4}, + describe('when other is an object', function() { + it('includes keys that are present in both other and sample', function() { + var sample = { a: 1, b: 2 }, + other = { a: 3, b: 4 }, containing = new jasmineUnderTest.ObjectContaining(sample), result = containing.valuesForDiff_(other); - expect(result.self).not.toBeInstanceOf(jasmineUnderTest.ObjectContaining); + expect(result.self).not.toBeInstanceOf( + jasmineUnderTest.ObjectContaining + ); expect(result).toEqual({ self: sample, other: other }); }); - it("includes keys that are present only in sample", function() { - var sample = {a: 1, b: 2}, - other = {a: 3}, + it('includes keys that are present only in sample', function() { + var sample = { a: 1, b: 2 }, + other = { a: 3 }, containing = new jasmineUnderTest.ObjectContaining(sample), result = containing.valuesForDiff_(other); - expect(result.self).not.toBeInstanceOf(jasmineUnderTest.ObjectContaining); + expect(result.self).not.toBeInstanceOf( + jasmineUnderTest.ObjectContaining + ); expect(containing.valuesForDiff_(other)).toEqual({ self: sample, other: { @@ -165,13 +194,15 @@ describe("ObjectContaining", function() { }); }); - it("omits keys that are present only in other", function() { - var sample = {a: 1, b: 2}, - other = {a: 3, b: 4, c: 5}, + it('omits keys that are present only in other', function() { + var sample = { a: 1, b: 2 }, + other = { a: 3, b: 4, c: 5 }, containing = new jasmineUnderTest.ObjectContaining(sample), result = containing.valuesForDiff_(other); - expect(result.self).not.toBeInstanceOf(jasmineUnderTest.ObjectContaining); + expect(result.self).not.toBeInstanceOf( + jasmineUnderTest.ObjectContaining + ); expect(result).toEqual({ self: sample, other: { diff --git a/spec/core/asymmetric_equality/SetContainingSpec.js b/spec/core/asymmetric_equality/SetContainingSpec.js index 3f7b1b16..37925c46 100644 --- a/spec/core/asymmetric_equality/SetContainingSpec.js +++ b/spec/core/asymmetric_equality/SetContainingSpec.js @@ -1,6 +1,7 @@ /* eslint-disable compat/compat */ describe('SetContaining', function() { - function SetI(iterable) { // for IE11 + function SetI(iterable) { + // for IE11 var set = new Set(); iterable.forEach(function(v) { set.add(v); @@ -12,7 +13,6 @@ describe('SetContaining', function() { jasmine.getEnv().requireFunctioningSets(); }); - it('matches any actual set to an empty set', function() { var actualSet = new SetI(['foo', 'bar']); var containing = new jasmineUnderTest.SetContaining(new Set()); @@ -21,13 +21,9 @@ describe('SetContaining', function() { }); it('matches when all the values in sample have matches in actual', function() { - var actualSet = new SetI([ - {'foo': 'bar'}, 'baz', [1, 2, 3] - ]); + var actualSet = new SetI([{ foo: 'bar' }, 'baz', [1, 2, 3]]); - var containingSet = new SetI([ - [1, 2, 3], {'foo': 'bar'} - ]); + var containingSet = new SetI([[1, 2, 3], { foo: 'bar' }]); var containing = new jasmineUnderTest.SetContaining(containingSet); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -35,13 +31,9 @@ describe('SetContaining', function() { }); it('does not match when a value is not in actual', function() { - var actualSet = new SetI([ - {'foo': 'bar'}, 'baz', [1, 2, 3] - ]); + var actualSet = new SetI([{ foo: 'bar' }, 'baz', [1, 2, 3]]); - var containingSet = new SetI([ - [1, 2], {'foo': 'bar'} - ]); + var containingSet = new SetI([[1, 2], { foo: 'bar' }]); var containing = new jasmineUnderTest.SetContaining(containingSet); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -49,13 +41,11 @@ describe('SetContaining', function() { }); it('matches when all the values in sample have asymmetric matches in actual', function() { - var actualSet = new SetI([ - [1, 2, 3, 4], 'other', 'foo1' - ]); + var actualSet = new SetI([[1, 2, 3, 4], 'other', 'foo1']); var containingSet = new SetI([ jasmineUnderTest.stringMatching(/^foo\d/), - jasmineUnderTest.arrayContaining([2, 3]), + jasmineUnderTest.arrayContaining([2, 3]) ]); var containing = new jasmineUnderTest.SetContaining(containingSet); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -64,13 +54,11 @@ describe('SetContaining', function() { }); it('does not match when a value in sample has no asymmetric matches in actual', function() { - var actualSet = new SetI([ - 'a-foo1', [1, 2, 3, 4], 'other' - ]); + var actualSet = new SetI(['a-foo1', [1, 2, 3, 4], 'other']); var containingSet = new SetI([ jasmine.stringMatching(/^foo\d/), - jasmine.arrayContaining([2, 3]), + jasmine.arrayContaining([2, 3]) ]); var containing = new jasmineUnderTest.SetContaining(containingSet); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -79,12 +67,11 @@ describe('SetContaining', function() { }); it('matches recursively', function() { - var actualSet = new SetI([ - 'foo', new SetI([1, 'bar', 2]), 'other' - ]); + var actualSet = new SetI(['foo', new SetI([1, 'bar', 2]), 'other']); var containingSet = new SetI([ - new jasmineUnderTest.SetContaining(new SetI(['bar'])), 'foo' + new jasmineUnderTest.SetContaining(new SetI(['bar'])), + 'foo' ]); var containing = new jasmineUnderTest.SetContaining(containingSet); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -95,25 +82,37 @@ describe('SetContaining', function() { it('uses custom equality testers', function() { function tester(a, b) { // treat all negative numbers as equal - return (typeof a == 'number' && typeof b == 'number') ? (a < 0 && b < 0) : a === b; + return typeof a == 'number' && typeof b == 'number' + ? a < 0 && b < 0 + : a === b; } var actualSet = new SetI(['foo', -1]); var containing = new jasmineUnderTest.SetContaining(new SetI([-2, 'foo'])); - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}); + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }); expect(containing.asymmetricMatch(actualSet, matchersUtil)).toBe(true); }); it('does not match when actual is not a set', function() { var containingSet = new SetI(['foo']); - expect(new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch('foo')).toBe(false); - expect(new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch(1)).toBe(false); - expect(new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch(['foo'])).toBe(false); + expect( + new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch('foo') + ).toBe(false); + expect( + new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch(1) + ).toBe(false); + expect( + new jasmineUnderTest.SetContaining(containingSet).asymmetricMatch(['foo']) + ).toBe(false); }); it('throws an error when sample is not a set', function() { expect(function() { - new jasmineUnderTest.SetContaining({'foo': 'bar'}).asymmetricMatch(new Set()); + new jasmineUnderTest.SetContaining({ foo: 'bar' }).asymmetricMatch( + new Set() + ); }).toThrowError(/You must provide a set/); }); diff --git a/spec/core/asymmetric_equality/StringMatchingSpec.js b/spec/core/asymmetric_equality/StringMatchingSpec.js index 9c231b74..656b0e50 100644 --- a/spec/core/asymmetric_equality/StringMatchingSpec.js +++ b/spec/core/asymmetric_equality/StringMatchingSpec.js @@ -1,19 +1,19 @@ -describe("StringMatching", function() { - it("matches a string against a provided regexp", function() { +describe('StringMatching', function() { + it('matches a string against a provided regexp', function() { var matcher = new jasmineUnderTest.StringMatching(/foo/); expect(matcher.asymmetricMatch('barfoobaz')).toBe(true); expect(matcher.asymmetricMatch('barbaz')).toBe(false); }); - it("matches a string against provided string", function() { + it('matches a string against provided string', function() { var matcher = new jasmineUnderTest.StringMatching('foo'); expect(matcher.asymmetricMatch('barfoobaz')).toBe(true); expect(matcher.asymmetricMatch('barbaz')).toBe(false); }); - it("raises an Error when the expected is not a String or RegExp", function() { + it('raises an Error when the expected is not a String or RegExp', function() { expect(function() { new jasmineUnderTest.StringMatching({}); }).toThrowError(/not a String or a RegExp/); @@ -22,6 +22,8 @@ describe("StringMatching", function() { it("jasmineToString's itself", function() { var matching = new jasmineUnderTest.StringMatching(/^foo/); - expect(matching.jasmineToString()).toEqual(""); + expect(matching.jasmineToString()).toEqual( + '' + ); }); }); diff --git a/spec/core/asymmetric_equality/TruthySpec.js b/spec/core/asymmetric_equality/TruthySpec.js index af1bddee..b2ac2775 100644 --- a/spec/core/asymmetric_equality/TruthySpec.js +++ b/spec/core/asymmetric_equality/TruthySpec.js @@ -1,12 +1,12 @@ -describe("Truthy", function () { - it("is true for a non empty string", function () { +describe('Truthy', function() { + it('is true for a non empty string', function() { var truthy = new jasmineUnderTest.Truthy(); - expect(truthy.asymmetricMatch("foo")).toBe(true); - expect(truthy.asymmetricMatch("")).toBe(false); + expect(truthy.asymmetricMatch('foo')).toBe(true); + expect(truthy.asymmetricMatch('')).toBe(false); }); - it("is true for a number that is not 0", function () { + it('is true for a number that is not 0', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch(1)).toBe(true); @@ -15,49 +15,47 @@ describe("Truthy", function () { expect(truthy.asymmetricMatch(-3.1)).toBe(true); }); - it("is true for a function", function () { + it('is true for a function', function() { var truthy = new jasmineUnderTest.Truthy(); - expect(truthy.asymmetricMatch(function () { - })).toBe(true); + expect(truthy.asymmetricMatch(function() {})).toBe(true); }); - it("is true for an Object", function () { + it('is true for an Object', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch({})).toBe(true); }); - it("is true for a truthful Boolean", function () { + it('is true for a truthful Boolean', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch(true)).toBe(true); expect(truthy.asymmetricMatch(false)).toBe(false); }); - it("is true for an empty object", function () { + it('is true for an empty object', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch({})).toBe(true); }); - it("is true for an empty array", function () { + it('is true for an empty array', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch([])).toBe(true); }); - it("is true for a date", function () { + it('is true for a date', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch(new Date())).toBe(true); }); - it("is true for a infiniti", function () { + it('is true for a infiniti', function() { var truthy = new jasmineUnderTest.Truthy(); expect(truthy.asymmetricMatch(Infinity)).toBe(true); expect(truthy.asymmetricMatch(-Infinity)).toBe(true); }); }); - diff --git a/spec/core/integration/AsymmetricEqualityTestersSpec.js b/spec/core/integration/AsymmetricEqualityTestersSpec.js index 518c5bde..3d12f15d 100644 --- a/spec/core/integration/AsymmetricEqualityTestersSpec.js +++ b/spec/core/integration/AsymmetricEqualityTestersSpec.js @@ -1,12 +1,12 @@ -describe('Asymmetric equality testers (Integration)', function () { +describe('Asymmetric equality testers (Integration)', function() { function verifyPasses(expectations, setup) { - it('passes', function (done) { + it('passes', function(done) { var env = new jasmineUnderTest.Env(); - env.it('a spec', function () { + env.it('a spec', function() { expectations(env); }); - var specExpectations = function (result) { + var specExpectations = function(result) { expect(result.status).toEqual('passed'); expect(result.passedExpectations.length) .withContext('Number of passed expectations') @@ -14,115 +14,122 @@ describe('Asymmetric equality testers (Integration)', function () { expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(0); - expect(result.failedExpectations[0] && result.failedExpectations[0].message) + expect( + result.failedExpectations[0] && result.failedExpectations[0].message + ) .withContext('Failure message') .toBeUndefined(); }; - env.addReporter({specDone: specExpectations}); + env.addReporter({ specDone: specExpectations }); env.execute(null, done); }); } function verifyFails(expectations) { - it('fails', function (done) { + it('fails', function(done) { var env = new jasmineUnderTest.Env(); - env.it('a spec', function () { + env.it('a spec', function() { expectations(env); }); - var specExpectations = function (result) { + var specExpectations = function(result) { expect(result.status).toEqual('failed'); expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(1); expect(result.failedExpectations[0].message) - .withContext('Failed with a thrown error rather than a matcher failure') + .withContext( + 'Failed with a thrown error rather than a matcher failure' + ) .not.toMatch(/^Error: /); - expect(result.failedExpectations[0].matcherName).withContext('Matcher name') + expect(result.failedExpectations[0].matcherName) + .withContext('Matcher name') .not.toEqual(''); }; - env.addReporter({specDone: specExpectations}); + env.addReporter({ specDone: specExpectations }); env.execute(null, done); }); } - describe('any', function () { - verifyPasses(function (env) { + describe('any', function() { + verifyPasses(function(env) { env.expect(5).toEqual(jasmineUnderTest.any(Number)); }); - verifyFails(function (env) { - env.expect("five").toEqual(jasmineUnderTest.any(Number)); + verifyFails(function(env) { + env.expect('five').toEqual(jasmineUnderTest.any(Number)); }); }); - describe('anything', function () { - verifyPasses(function (env) { + describe('anything', function() { + verifyPasses(function(env) { env.expect('').toEqual(jasmineUnderTest.anything()); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect(null).toEqual(jasmineUnderTest.anything()); }); }); - describe('arrayContaining', function () { - verifyPasses(function (env) { - env.addCustomEqualityTester(function (a, b) { + describe('arrayContaining', function() { + verifyPasses(function(env) { + env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - env.expect([1, 2, 3]).toEqual(jasmineUnderTest.arrayContaining(["2"])); + env.expect([1, 2, 3]).toEqual(jasmineUnderTest.arrayContaining(['2'])); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect(null).toEqual(jasmineUnderTest.arrayContaining([2])); }); }); - describe('arrayWithExactContents', function () { - verifyPasses(function (env) { - env.addCustomEqualityTester(function (a, b) { + describe('arrayWithExactContents', function() { + verifyPasses(function(env) { + env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - env.expect([1, 2]).toEqual(jasmineUnderTest.arrayWithExactContents(["2", "1"])); + env + .expect([1, 2]) + .toEqual(jasmineUnderTest.arrayWithExactContents(['2', '1'])); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect([]).toEqual(jasmineUnderTest.arrayWithExactContents([2])); }); }); - describe('empty', function () { - verifyPasses(function (env) { + describe('empty', function() { + verifyPasses(function(env) { env.expect([]).toEqual(jasmineUnderTest.empty()); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect([1]).toEqual(jasmineUnderTest.empty()); }); }); - describe('falsy', function () { - verifyPasses(function (env) { + describe('falsy', function() { + verifyPasses(function(env) { env.expect(false).toEqual(jasmineUnderTest.falsy()); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect(true).toEqual(jasmineUnderTest.falsy()); }); }); - describe('mapContaining', function () { + describe('mapContaining', function() { if (jasmine.getEnv().hasFunctioningMaps()) { - verifyPasses(function (env) { + verifyPasses(function(env) { var actual = new Map(); - actual.set('a', "2"); + actual.set('a', '2'); var expected = new Map(); expected.set('a', 2); - env.addCustomEqualityTester(function (a, b) { + env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); @@ -130,54 +137,62 @@ describe('Asymmetric equality testers (Integration)', function () { }); } else { it('passes', function() { - jasmine.getEnv().pending('Browser has incomplete or missing support for Maps'); + jasmine + .getEnv() + .pending('Browser has incomplete or missing support for Maps'); }); } if (jasmine.getEnv().hasFunctioningMaps()) { - verifyFails(function (env) { - env.expect('something').toEqual(jasmineUnderTest.mapContaining(new Map())); + verifyFails(function(env) { + env + .expect('something') + .toEqual(jasmineUnderTest.mapContaining(new Map())); }); } else { it('fails', function() { - jasmine.getEnv().pending('Browser has incomplete or missing support for Maps'); + jasmine + .getEnv() + .pending('Browser has incomplete or missing support for Maps'); }); } }); - describe('notEmpty', function () { - verifyPasses(function (env) { + describe('notEmpty', function() { + verifyPasses(function(env) { env.expect([1]).toEqual(jasmineUnderTest.notEmpty()); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect([]).toEqual(jasmineUnderTest.notEmpty()); }); }); - describe('objectContaining', function () { - verifyPasses(function (env) { - env.addCustomEqualityTester(function (a, b) { + describe('objectContaining', function() { + verifyPasses(function(env) { + env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - env.expect({a: 1, b: 2}).toEqual(jasmineUnderTest.objectContaining({a: "1"})); + env + .expect({ a: 1, b: 2 }) + .toEqual(jasmineUnderTest.objectContaining({ a: '1' })); }); - verifyFails(function (env) { - env.expect({}).toEqual(jasmineUnderTest.objectContaining({a: "1"})); + verifyFails(function(env) { + env.expect({}).toEqual(jasmineUnderTest.objectContaining({ a: '1' })); }); }); - describe('setContaining', function () { + describe('setContaining', function() { if (jasmine.getEnv().hasFunctioningSets()) { - verifyPasses(function (env) { + verifyPasses(function(env) { var actual = new Set(); - actual.add("1"); + actual.add('1'); var expected = new Set(); actual.add(1); - env.addCustomEqualityTester(function (a, b) { + env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); @@ -185,37 +200,43 @@ describe('Asymmetric equality testers (Integration)', function () { }); } else { it('pases', function() { - jasmine.getEnv().pending('Browser has incomplete or missing support for Sets'); + jasmine + .getEnv() + .pending('Browser has incomplete or missing support for Sets'); }); } if (jasmine.getEnv().hasFunctioningSets()) { - verifyFails(function (env) { - env.expect('something').toEqual(jasmineUnderTest.setContaining(new Set())); + verifyFails(function(env) { + env + .expect('something') + .toEqual(jasmineUnderTest.setContaining(new Set())); }); } else { it('fails', function() { - jasmine.getEnv().pending('Browser has incomplete or missing support for Sets'); + jasmine + .getEnv() + .pending('Browser has incomplete or missing support for Sets'); }); } }); - describe('stringMatching', function () { - verifyPasses(function (env) { + describe('stringMatching', function() { + verifyPasses(function(env) { env.expect('foo').toEqual(jasmineUnderTest.stringMatching(/o/)); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect('bar').toEqual(jasmineUnderTest.stringMatching(/o/)); }); }); - describe('truthy', function () { - verifyPasses(function (env) { + describe('truthy', function() { + verifyPasses(function(env) { env.expect(true).toEqual(jasmineUnderTest.truthy()); }); - verifyFails(function (env) { + verifyFails(function(env) { env.expect(false).toEqual(jasmineUnderTest.truthy()); }); }); diff --git a/spec/core/integration/CustomAsyncMatchersSpec.js b/spec/core/integration/CustomAsyncMatchersSpec.js index 4e97185f..a38c8d15 100644 --- a/spec/core/integration/CustomAsyncMatchersSpec.js +++ b/spec/core/integration/CustomAsyncMatchersSpec.js @@ -4,7 +4,7 @@ describe('Custom Async Matchers (Integration)', function() { beforeEach(function() { env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); afterEach(function() { @@ -17,7 +17,11 @@ describe('Custom Async Matchers (Integration)', function() { env.it('spec using custom async matcher', function() { env.addAsyncMatchers({ toBeReal: function() { - return { compare: function() { return Promise.resolve({ pass: true }); } }; + return { + compare: function() { + return Promise.resolve({ pass: true }); + } + }; } }); @@ -39,8 +43,12 @@ describe('Custom Async Matchers (Integration)', function() { env.addAsyncMatchers({ toBeReal: function() { return { - compare: function() { return Promise.resolve({ pass: true }); }, - negativeCompare: function() { return Promise.resolve({ pass: true }); } + compare: function() { + return Promise.resolve({ pass: true }); + }, + negativeCompare: function() { + return Promise.resolve({ pass: true }); + } }; } }); @@ -74,7 +82,9 @@ describe('Custom Async Matchers (Integration)', function() { }); var specExpectations = function(result) { - expect(result.failedExpectations[0].message).toEqual("Expected 'a' to be real."); + expect(result.failedExpectations[0].message).toEqual( + "Expected 'a' to be real." + ); }; env.addReporter({ specDone: specExpectations }); @@ -82,22 +92,24 @@ describe('Custom Async Matchers (Integration)', function() { }); // TODO: remove this in the next major release. - it("passes the jasmine utility and current equality testers to the matcher factory", function(done) { + it('passes the jasmine utility and current equality testers to the matcher factory', function(done) { jasmine.getEnv().requirePromises(); - var matcherFactory = function () { + var matcherFactory = function() { return { - compare: function () { - return Promise.resolve({pass: true}); + compare: function() { + return Promise.resolve({ pass: true }); } }; }, - matcherFactorySpy = jasmine.createSpy("matcherFactorySpy").and.callFake(matcherFactory), - customEqualityFn = function () { + matcherFactorySpy = jasmine + .createSpy('matcherFactorySpy') + .and.callFake(matcherFactory), + customEqualityFn = function() { return true; }; - env.it("spec with expectation", function() { + env.it('spec with expectation', function() { env.addCustomEqualityTester(customEqualityFn); env.addAsyncMatchers({ toBeReal: matcherFactorySpy @@ -117,31 +129,35 @@ describe('Custom Async Matchers (Integration)', function() { env.execute(null, done); }); - it("provides custom equality testers to the matcher factory via matchersUtil", function(done) { + it('provides custom equality testers to the matcher factory via matchersUtil', function(done) { jasmine.getEnv().requirePromises(); - var matcherFactory = function (matchersUtil) { + var matcherFactory = function(matchersUtil) { return { - compare: function (actual, expected) { - return Promise.resolve({pass: matchersUtil.equals(actual[0], expected)}); + compare: function(actual, expected) { + return Promise.resolve({ + pass: matchersUtil.equals(actual[0], expected) + }); } }; }, - customEqualityFn = jasmine.createSpy("customEqualityFn").and.callFake(function (a, b) { - return a.toString() === b; - }); + customEqualityFn = jasmine + .createSpy('customEqualityFn') + .and.callFake(function(a, b) { + return a.toString() === b; + }); - env.it("spec with expectation", function() { + env.it('spec with expectation', function() { env.addCustomEqualityTester(customEqualityFn); env.addAsyncMatchers({ toBeArrayWithFirstElement: matcherFactory }); - return env.expectAsync([1, 2]).toBeArrayWithFirstElement("1"); + return env.expectAsync([1, 2]).toBeArrayWithFirstElement('1'); }); var specExpectations = function(result) { - expect(customEqualityFn).toHaveBeenCalledWith(1, "1"); + expect(customEqualityFn).toHaveBeenCalledWith(1, '1'); expect(result.failedExpectations).toEqual([]); }; diff --git a/spec/core/integration/CustomMatchersSpec.js b/spec/core/integration/CustomMatchersSpec.js index c299c6ac..046ce079 100644 --- a/spec/core/integration/CustomMatchersSpec.js +++ b/spec/core/integration/CustomMatchersSpec.js @@ -1,52 +1,65 @@ -describe("Custom Matchers (Integration)", function () { +describe('Custom Matchers (Integration)', function() { var env; var fakeTimer; - beforeEach(function () { + beforeEach(function() { env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); afterEach(function() { env.cleanup_(); }); - it("allows adding more matchers local to a spec", function (done) { - env.it('spec defining a custom matcher', function () { + it('allows adding more matchers local to a spec', function(done) { + env.it('spec defining a custom matcher', function() { env.addMatchers({ - matcherForSpec: function () { + matcherForSpec: function() { return { - compare: function (actual, expected) { - return {pass: false, message: "matcherForSpec: actual: " + actual + "; expected: " + expected}; + compare: function(actual, expected) { + return { + pass: false, + message: + 'matcherForSpec: actual: ' + + actual + + '; expected: ' + + expected + }; } - } + }; } }); - env.expect("zzz").matcherForSpec("yyy"); + env.expect('zzz').matcherForSpec('yyy'); }); - env.it("spec without custom matcher defined", function() { - expect(env.expect("zzz").matcherForSpec).toBeUndefined(); + env.it('spec without custom matcher defined', function() { + expect(env.expect('zzz').matcherForSpec).toBeUndefined(); }); - var specDoneSpy = jasmine.createSpy("specDoneSpy"); + var specDoneSpy = jasmine.createSpy('specDoneSpy'); var expectations = function() { var firstSpecResult = specDoneSpy.calls.first().args[0]; - expect(firstSpecResult.status).toEqual("failed"); - expect(firstSpecResult.failedExpectations[0].message).toEqual("matcherForSpec: actual: zzz; expected: yyy"); + expect(firstSpecResult.status).toEqual('failed'); + expect(firstSpecResult.failedExpectations[0].message).toEqual( + 'matcherForSpec: actual: zzz; expected: yyy' + ); done(); }; - env.addReporter({ specDone:specDoneSpy }); + env.addReporter({ specDone: specDoneSpy }); env.execute(null, expectations); }); - it("passes the spec if the custom matcher passes", function(done) { - env.it("spec using custom matcher", function() { + it('passes the spec if the custom matcher passes', function(done) { + env.it('spec using custom matcher', function() { env.addMatchers({ toBeReal: function() { - return { compare: function() { return { pass: true }; } }; + return { + compare: function() { + return { pass: true }; + } + }; } }); @@ -61,20 +74,30 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("passes the spec if the custom equality matcher passes for types nested inside asymmetric equality testers", function(done) { - env.it("spec using custom equality matcher", function() { + it('passes the spec if the custom equality matcher passes for types nested inside asymmetric equality testers', function(done) { + env.it('spec using custom equality matcher', function() { var customEqualityFn = function(a, b) { // All "foo*" strings match each other. - if (typeof a == "string" && typeof b == "string" && - a.substr(0, 3) == "foo" && b.substr(0, 3) == "foo") { + if ( + typeof a == 'string' && + typeof b == 'string' && + a.substr(0, 3) == 'foo' && + b.substr(0, 3) == 'foo' + ) { return true; } }; env.addCustomEqualityTester(customEqualityFn); - env.expect({foo: 'fooValue'}).toEqual(jasmineUnderTest.objectContaining({foo: 'fooBar'})); - env.expect(['fooValue', 'things']).toEqual(jasmineUnderTest.arrayContaining(['fooBar'])); - env.expect(['fooValue']).toEqual(jasmineUnderTest.arrayWithExactContents(['fooBar'])); + env + .expect({ foo: 'fooValue' }) + .toEqual(jasmineUnderTest.objectContaining({ foo: 'fooBar' })); + env + .expect(['fooValue', 'things']) + .toEqual(jasmineUnderTest.arrayContaining(['fooBar'])); + env + .expect(['fooValue']) + .toEqual(jasmineUnderTest.arrayWithExactContents(['fooBar'])); }); var specExpectations = function(result) { @@ -85,26 +108,30 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("supports asymmetric equality testers that take a list of custom equality testers", function(done) { + it('supports asymmetric equality testers that take a list of custom equality testers', function(done) { // TODO: remove this in the next major release. spyOn(jasmineUnderTest, 'getEnv').and.returnValue(env); - env.it("spec using custom asymmetric equality tester", function() { + env.it('spec using custom asymmetric equality tester', function() { var customEqualityFn = function(a, b) { - if (a === 2 && b === "two") { + if (a === 2 && b === 'two') { return true; } }; var arrayWithFirstElement = function(sample) { return { - asymmetricMatch: function (actual, customEqualityTesters) { - return jasmineUnderTest.matchersUtil.equals(sample, actual[0], customEqualityTesters); + asymmetricMatch: function(actual, customEqualityTesters) { + return jasmineUnderTest.matchersUtil.equals( + sample, + actual[0], + customEqualityTesters + ); } }; }; env.addCustomEqualityTester(customEqualityFn); - env.expect(["two"]).toEqual(arrayWithFirstElement(2)); + env.expect(['two']).toEqual(arrayWithFirstElement(2)); }); var specExpectations = function(result) { @@ -115,8 +142,8 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("displays an appropriate failure message if a custom equality matcher fails", function(done) { - env.it("spec using custom equality matcher", function() { + it('displays an appropriate failure message if a custom equality matcher fails', function(done) { + env.it('spec using custom equality matcher', function() { var customEqualityFn = function(a, b) { // "foo" is not equal to anything if (a === 'foo' || b === 'foo') { @@ -125,7 +152,7 @@ describe("Custom Matchers (Integration)", function () { }; env.addCustomEqualityTester(customEqualityFn); - env.expect({foo: 'foo'}).toEqual({foo: 'foo'}); + env.expect({ foo: 'foo' }).toEqual({ foo: 'foo' }); }); var specExpectations = function(result) { @@ -139,13 +166,17 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("uses the negative compare function for a negative comparison, if provided", function(done) { - env.it("spec with custom negative comparison matcher", function() { + it('uses the negative compare function for a negative comparison, if provided', function(done) { + env.it('spec with custom negative comparison matcher', function() { env.addMatchers({ toBeReal: function() { return { - compare: function() { return { pass: true }; }, - negativeCompare: function() { return { pass: true }; } + compare: function() { + return { pass: true }; + }, + negativeCompare: function() { + return { pass: true }; + } }; } }); @@ -161,7 +192,7 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("generates messages with the same rules as built in matchers absent a custom message", function(done) { + it('generates messages with the same rules as built in matchers absent a custom message', function(done) { env.it('spec with an expectation', function() { env.addMatchers({ toBeReal: function() { @@ -169,25 +200,29 @@ describe("Custom Matchers (Integration)", function () { compare: function() { return { pass: false }; } - } + }; } }); - env.expect("a").toBeReal(); + env.expect('a').toBeReal(); }); var specExpectations = function(result) { - expect(result.failedExpectations[0].message).toEqual("Expected 'a' to be real."); + expect(result.failedExpectations[0].message).toEqual( + "Expected 'a' to be real." + ); }; env.addReporter({ specDone: specExpectations }); env.execute(null, done); }); - it("passes the expected and actual arguments to the comparison function", function(done) { - var argumentSpy = jasmine.createSpy("argument spy").and.returnValue({ pass: true }); + it('passes the expected and actual arguments to the comparison function', function(done) { + var argumentSpy = jasmine + .createSpy('argument spy') + .and.returnValue({ pass: true }); - env.it('spec with an expectation', function () { + env.it('spec with an expectation', function() { env.addMatchers({ toBeReal: function() { return { compare: argumentSpy }; @@ -195,14 +230,14 @@ describe("Custom Matchers (Integration)", function () { }); env.expect(true).toBeReal(); - env.expect(true).toBeReal("arg"); - env.expect(true).toBeReal("arg1", "arg2"); + env.expect(true).toBeReal('arg'); + env.expect(true).toBeReal('arg1', 'arg2'); }); var specExpectations = function() { expect(argumentSpy).toHaveBeenCalledWith(true); - expect(argumentSpy).toHaveBeenCalledWith(true, "arg"); - expect(argumentSpy).toHaveBeenCalledWith(true, "arg1", "arg2"); + expect(argumentSpy).toHaveBeenCalledWith(true, 'arg'); + expect(argumentSpy).toHaveBeenCalledWith(true, 'arg1', 'arg2'); }; env.addReporter({ specDone: specExpectations }); @@ -210,13 +245,22 @@ describe("Custom Matchers (Integration)", function () { }); // TODO: remove this in the next major release. - it("passes the jasmine utility and current equality testers to the matcher factory", function(done) { - var matcherFactory = function() { return { compare: function() { return {pass: true}; }}; }, - matcherFactorySpy = jasmine.createSpy("matcherFactorySpy").and.callFake(matcherFactory), - customEqualityFn = function() { return true; }; + it('passes the jasmine utility and current equality testers to the matcher factory', function(done) { + var matcherFactory = function() { + return { + compare: function() { + return { pass: true }; + } + }; + }, + matcherFactorySpy = jasmine + .createSpy('matcherFactorySpy') + .and.callFake(matcherFactory), + customEqualityFn = function() { + return true; + }; - - env.it("spec with expectation", function() { + env.it('spec with expectation', function() { env.addCustomEqualityTester(customEqualityFn); env.addMatchers({ toBeReal: matcherFactorySpy @@ -236,33 +280,35 @@ describe("Custom Matchers (Integration)", function () { env.execute(null, done); }); - it("provides custom equality testers to the matcher factory via matchersUtil", function (done) { - var matcherFactory = function (matchersUtil) { + it('provides custom equality testers to the matcher factory via matchersUtil', function(done) { + var matcherFactory = function(matchersUtil) { return { - compare: function (actual, expected) { - return {pass: matchersUtil.equals(actual[0], expected)}; + compare: function(actual, expected) { + return { pass: matchersUtil.equals(actual[0], expected) }; } }; }, - customEqualityFn = jasmine.createSpy("customEqualityFn").and.callFake(function (a, b) { - return a.toString() === b; - }); + customEqualityFn = jasmine + .createSpy('customEqualityFn') + .and.callFake(function(a, b) { + return a.toString() === b; + }); - env.it("spec with expectation", function () { + env.it('spec with expectation', function() { env.addCustomEqualityTester(customEqualityFn); env.addMatchers({ toBeArrayWithFirstElement: matcherFactory }); - env.expect([1, 2]).toBeArrayWithFirstElement("1"); + env.expect([1, 2]).toBeArrayWithFirstElement('1'); }); - var specExpectations = function (result) { - expect(customEqualityFn).toHaveBeenCalledWith(1, "1"); + var specExpectations = function(result) { + expect(customEqualityFn).toHaveBeenCalledWith(1, '1'); expect(result.failedExpectations).toEqual([]); }; - env.addReporter({specDone: specExpectations}); + env.addReporter({ specDone: specExpectations }); env.execute(null, done); }); }); diff --git a/spec/core/integration/CustomObjectFormatterSpec.js b/spec/core/integration/CustomObjectFormatterSpec.js index 3337f452..2c61d9e0 100644 --- a/spec/core/integration/CustomObjectFormatterSpec.js +++ b/spec/core/integration/CustomObjectFormatterSpec.js @@ -1,14 +1,16 @@ -describe("Custom object formatters", function() { +describe('Custom object formatters', function() { var env; beforeEach(function() { env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); - it("scopes custom object formatters to a spec", function(done) { + it('scopes custom object formatters to a spec', function(done) { env.it('a spec with custom pretty-printer', function() { - env.addCustomObjectFormatter(function(obj) { return 'custom(' + obj + ')'; }); + env.addCustomObjectFormatter(function(obj) { + return 'custom(' + obj + ')'; + }); env.expect(42).toBeUndefined(); }); @@ -21,23 +23,29 @@ describe("Custom object formatters", function() { specResults.push(result); }; var expectations = function() { - expect(specResults[0].failedExpectations[0].message).toEqual("Expected custom(42) to be undefined."); - expect(specResults[1].failedExpectations[0].message).toEqual("Expected 42 to be undefined."); + expect(specResults[0].failedExpectations[0].message).toEqual( + 'Expected custom(42) to be undefined.' + ); + expect(specResults[1].failedExpectations[0].message).toEqual( + 'Expected 42 to be undefined.' + ); done(); }; - env.addReporter({ specDone:specDone }); + env.addReporter({ specDone: specDone }); env.execute(null, expectations); }); - it("scopes custom object formatters to a suite", function(done) { + it('scopes custom object formatters to a suite', function(done) { env.it('a spec without custom pretty-printer', function() { env.expect(42).toBeUndefined(); }); env.describe('with custom pretty-printer', function() { env.beforeEach(function() { - env.addCustomObjectFormatter(function(obj) { return 'custom(' + obj + ')'; }); + env.addCustomObjectFormatter(function(obj) { + return 'custom(' + obj + ')'; + }); }); env.it('a spec', function() { @@ -50,18 +58,24 @@ describe("Custom object formatters", function() { specResults.push(result); }; var expectations = function() { - expect(specResults[0].failedExpectations[0].message).toEqual("Expected 42 to be undefined."); - expect(specResults[1].failedExpectations[0].message).toEqual("Expected custom(42) to be undefined."); + expect(specResults[0].failedExpectations[0].message).toEqual( + 'Expected 42 to be undefined.' + ); + expect(specResults[1].failedExpectations[0].message).toEqual( + 'Expected custom(42) to be undefined.' + ); done(); }; - env.addReporter({ specDone:specDone }); + env.addReporter({ specDone: specDone }); env.execute(null, expectations); }); - it("throws an exception if you try to add a custom object formatter outside a runable", function() { + it('throws an exception if you try to add a custom object formatter outside a runable', function() { expect(function() { env.addCustomObjectFormatter(function() {}); - }).toThrowError('Custom object formatters must be added in a before function or a spec') + }).toThrowError( + 'Custom object formatters must be added in a before function or a spec' + ); }); }); diff --git a/spec/core/integration/CustomSpyStrategiesSpec.js b/spec/core/integration/CustomSpyStrategiesSpec.js index e05b0773..92372c3f 100644 --- a/spec/core/integration/CustomSpyStrategiesSpec.js +++ b/spec/core/integration/CustomSpyStrategiesSpec.js @@ -3,7 +3,7 @@ describe('Custom Spy Strategies (Integration)', function() { beforeEach(function() { env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); afterEach(function() { @@ -11,10 +11,8 @@ describe('Custom Spy Strategies (Integration)', function() { }); it('allows adding more strategies local to a suite', function(done) { - var plan = jasmine.createSpy('custom strategy plan') - .and.returnValue(42); - var strategy = jasmine.createSpy('custom strategy') - .and.returnValue(plan); + var plan = jasmine.createSpy('custom strategy plan').and.returnValue(42); + var strategy = jasmine.createSpy('custom strategy').and.returnValue(plan); var jasmineDone = jasmine.createSpy('jasmineDone'); env.describe('suite defining a custom spy strategy', function() { @@ -45,10 +43,8 @@ describe('Custom Spy Strategies (Integration)', function() { }); it('allows adding more strategies local to a spec', function(done) { - var plan = jasmine.createSpy('custom strategy plan') - .and.returnValue(42); - var strategy = jasmine.createSpy('custom strategy') - .and.returnValue(plan); + var plan = jasmine.createSpy('custom strategy plan').and.returnValue(42); + var strategy = jasmine.createSpy('custom strategy').and.returnValue(plan); var jasmineDone = jasmine.createSpy('jasmineDone'); env.it('spec defining a custom spy strategy', function() { @@ -74,17 +70,17 @@ describe('Custom Spy Strategies (Integration)', function() { }); it('allows using custom strategies on a per-argument basis', function(done) { - var plan = jasmine.createSpy('custom strategy plan') - .and.returnValue(42); - var strategy = jasmine.createSpy('custom strategy') - .and.returnValue(plan); + var plan = jasmine.createSpy('custom strategy plan').and.returnValue(42); + var strategy = jasmine.createSpy('custom strategy').and.returnValue(plan); var jasmineDone = jasmine.createSpy('jasmineDone'); env.it('spec defining a custom spy strategy', function() { env.addSpyStrategy('frobnicate', strategy); - var spy = env.createSpy('something') + var spy = env + .createSpy('something') .and.returnValue('no args return') - .withArgs(1, 2, 3).and.frobnicate(17); + .withArgs(1, 2, 3) + .and.frobnicate(17); expect(spy()).toEqual('no args return'); expect(plan).not.toHaveBeenCalled(); @@ -114,7 +110,6 @@ describe('Custom Spy Strategies (Integration)', function() { specDone = jasmine.createSpy('specDone'), jasmineDone = jasmine.createSpy('jasmineDone'); - env.beforeEach(function() { env.addSpyStrategy('frobnicate', strategy1); env.addSpyStrategy('jiggle', strategy2); diff --git a/spec/core/integration/DefaultSpyStrategySpec.js b/spec/core/integration/DefaultSpyStrategySpec.js index 50a11544..3f17a1d4 100644 --- a/spec/core/integration/DefaultSpyStrategySpec.js +++ b/spec/core/integration/DefaultSpyStrategySpec.js @@ -3,7 +3,7 @@ describe('Default Spy Strategy (Integration)', function() { beforeEach(function() { env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); afterEach(function() { @@ -13,7 +13,7 @@ describe('Default Spy Strategy (Integration)', function() { it('allows defining a default spy strategy', function(done) { env.describe('suite with default strategy', function() { env.beforeEach(function() { - env.setDefaultSpyStrategy(function (and) { + env.setDefaultSpyStrategy(function(and) { and.returnValue(42); }); }); @@ -40,12 +40,16 @@ describe('Default Spy Strategy (Integration)', function() { env.execute(null, expectations); }); - it('uses the default spy strategy defined when the spy is created', function (done) { + it('uses the default spy strategy defined when the spy is created', function(done) { env.it('spec', function() { var a = env.createSpy('a'); - env.setDefaultSpyStrategy(function (and) { and.returnValue(42); }); + env.setDefaultSpyStrategy(function(and) { + and.returnValue(42); + }); var b = env.createSpy('b'); - env.setDefaultSpyStrategy(function (and) { and.stub(); }); + env.setDefaultSpyStrategy(function(and) { + and.stub(); + }); var c = env.createSpy('c'); env.setDefaultSpyStrategy(); var d = env.createSpy('d'); diff --git a/spec/core/integration/EnvSpec.js b/spec/core/integration/EnvSpec.js index 2c09affd..a8497985 100644 --- a/spec/core/integration/EnvSpec.js +++ b/spec/core/integration/EnvSpec.js @@ -1,4 +1,4 @@ -describe("Env integration", function() { +describe('Env integration', function() { var env; beforeEach(function() { @@ -10,33 +10,30 @@ describe("Env integration", function() { env.cleanup_(); }); - it("Suites execute as expected (no nesting)", function(done) { + it('Suites execute as expected (no nesting)', function(done) { var calls = []; var assertions = function() { - expect(calls).toEqual([ - "with a spec", - "and another spec" - ]); + expect(calls).toEqual(['with a spec', 'and another spec']); done(); }; - env.configure({random: false}); + env.configure({ random: false }); - env.describe("A Suite", function() { - env.it("with a spec", function() { - calls.push("with a spec"); + env.describe('A Suite', function() { + env.it('with a spec', function() { + calls.push('with a spec'); }); - env.it("and another spec", function() { - calls.push("and another spec"); + env.it('and another spec', function() { + calls.push('and another spec'); }); }); env.execute(null, assertions); }); - it("Nested Suites execute as expected", function(done) { + it('Nested Suites execute as expected', function(done) { var calls = []; var assertions = function() { @@ -49,17 +46,17 @@ describe("Env integration", function() { done(); }; - env.configure({random: false}); + env.configure({ random: false }); - env.describe("Outer suite", function() { - env.it("an outer spec", function() { - calls.push('an outer spec') + env.describe('Outer suite', function() { + env.it('an outer spec', function() { + calls.push('an outer spec'); }); - env.describe("Inner suite", function() { - env.it("an inner spec", function() { + env.describe('Inner suite', function() { + env.it('an inner spec', function() { calls.push('an inner spec'); }); - env.it("another inner spec", function() { + env.it('another inner spec', function() { calls.push('another inner spec'); }); }); @@ -68,7 +65,7 @@ describe("Env integration", function() { env.execute(null, assertions); }); - it("Multiple top-level Suites execute as expected", function(done) { + it('Multiple top-level Suites execute as expected', function(done) { var calls = []; var assertions = function() { @@ -82,26 +79,25 @@ describe("Env integration", function() { done(); }; - env.configure({random: false}); + env.configure({ random: false }); - - env.describe("Outer suite", function() { - env.it("an outer spec", function() { + env.describe('Outer suite', function() { + env.it('an outer spec', function() { calls.push('an outer spec'); }); - env.describe("Inner suite", function() { - env.it("an inner spec", function() { + env.describe('Inner suite', function() { + env.it('an inner spec', function() { calls.push('an inner spec'); }); - env.it("another inner spec", function() { + env.it('another inner spec', function() { calls.push('another inner spec'); }); }); }); - env.describe("Another outer suite", function() { - env.it("a 2nd outer spec", function() { - calls.push('a 2nd outer spec') + env.describe('Another outer suite', function() { + env.it('a 2nd outer spec', function() { + calls.push('a 2nd outer spec'); }); }); @@ -111,7 +107,7 @@ describe("Env integration", function() { it('explicitly fails a spec', function(done) { var specDone = jasmine.createSpy('specDone'); - env.addReporter({specDone: specDone}); + env.addReporter({ specDone: specDone }); env.describe('failing', function() { env.it('has a default message', function() { @@ -127,70 +123,92 @@ describe("Env integration", function() { }); env.it('pretty prints objects', function() { - env.fail({prop: 'value', arr: ['works', true]}); - }) + env.fail({ prop: 'value', arr: ['works', true] }); + }); }); env.execute(null, function() { - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'has a default message', - failedExpectations: [jasmine.objectContaining({ - message: 'Failed' - })] - })); - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'specifies a message', - failedExpectations: [jasmine.objectContaining({ - message: 'Failed: messy message' - })] - })); - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'has a message and stack trace from an Error', - failedExpectations: [jasmine.objectContaining({ - message: 'Failed: error message', - stack: { - asymmetricMatch: function(other) { - if (!other) { - // IE doesn't give us a stacktrace so just ignore it. - return true; + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'has a default message', + failedExpectations: [ + jasmine.objectContaining({ + message: 'Failed' + }) + ] + }) + ); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'specifies a message', + failedExpectations: [ + jasmine.objectContaining({ + message: 'Failed: messy message' + }) + ] + }) + ); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'has a message and stack trace from an Error', + failedExpectations: [ + jasmine.objectContaining({ + message: 'Failed: error message', + stack: { + asymmetricMatch: function(other) { + if (!other) { + // IE doesn't give us a stacktrace so just ignore it. + return true; + } + var split = other.split('\n'), + firstLine = split[0]; + if (firstLine.indexOf('error message') >= 0) { + // Chrome inserts the message and a newline before the first stacktrace line. + firstLine = split[1]; + } + return firstLine.indexOf('EnvSpec') >= 0; + } } - var split = other.split('\n'), - firstLine = split[0]; - if (firstLine.indexOf('error message') >= 0) { - // Chrome inserts the message and a newline before the first stacktrace line. - firstLine = split[1]; - } - return firstLine.indexOf('EnvSpec') >= 0; - } - } - })] - })); - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'pretty prints objects', - failedExpectations: [jasmine.objectContaining({ - message: 'Failed: Object({ prop: \'value\', arr: [ \'works\', true ] })' - })] - })); + }) + ] + }) + ); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'pretty prints objects', + failedExpectations: [ + jasmine.objectContaining({ + message: + "Failed: Object({ prop: 'value', arr: [ 'works', true ] })" + }) + ] + }) + ); done(); }); }); it("produces an understandable error message when 'fail' is used outside of a current spec", function(done) { - env.describe("A Suite", function() { - env.it("an async spec that is actually synchronous", function(underTestCallback) { + env.describe('A Suite', function() { + env.it('an async spec that is actually synchronous', function( + underTestCallback + ) { underTestCallback(); }); - expect(function() { env.fail(); }).toThrowError(/'fail' was used when there was no current spec/); + expect(function() { + env.fail(); + }).toThrowError(/'fail' was used when there was no current spec/); }); env.execute(null, done); }); - it("calls associated befores/specs/afters with the same 'this'", function(done) { - env.configure({random: false}); - env.describe("tests", function() { - var firstTimeThrough = true, firstSpecContext, secondSpecContext; + env.configure({ random: false }); + env.describe('tests', function() { + var firstTimeThrough = true, + firstSpecContext, + secondSpecContext; env.beforeEach(function() { if (firstTimeThrough) { @@ -201,11 +219,11 @@ describe("Env integration", function() { expect(this).toEqual(new jasmineUnderTest.UserContext()); }); - env.it("sync spec", function() { + env.it('sync spec', function() { expect(this).toBe(firstSpecContext); }); - env.it("another sync spec", function() { + env.it('another sync spec', function() { expect(this).toBe(secondSpecContext); }); @@ -223,7 +241,7 @@ describe("Env integration", function() { }); it("calls associated befores/its/afters with the same 'this' for an async spec", function(done) { - env.describe("with an async spec", function() { + env.describe('with an async spec', function() { var specContext; env.beforeEach(function() { @@ -231,7 +249,7 @@ describe("Env integration", function() { expect(this).toEqual(new jasmineUnderTest.UserContext()); }); - env.it("sync spec", function(underTestCallback) { + env.it('sync spec', function(underTestCallback) { expect(this).toBe(specContext); underTestCallback(); }); @@ -244,17 +262,17 @@ describe("Env integration", function() { env.execute(null, done); }); - it("calls associated beforeAlls/afterAlls only once per suite", function(done) { + it('calls associated beforeAlls/afterAlls only once per suite', function(done) { var before = jasmine.createSpy('beforeAll'), - after = jasmine.createSpy('afterAll'); + after = jasmine.createSpy('afterAll'); - env.describe("with beforeAll and afterAll", function() { - env.it("spec", function() { + env.describe('with beforeAll and afterAll', function() { + env.it('spec', function() { expect(before).toHaveBeenCalled(); expect(after).not.toHaveBeenCalled(); }); - env.it("another spec", function() { + env.it('another spec', function() { expect(before).toHaveBeenCalled(); expect(after).not.toHaveBeenCalled(); }); @@ -271,17 +289,17 @@ describe("Env integration", function() { }); }); - it("calls associated beforeAlls/afterAlls only once per suite for async", function(done) { + it('calls associated beforeAlls/afterAlls only once per suite for async', function(done) { var before = jasmine.createSpy('beforeAll'), - after = jasmine.createSpy('afterAll'); + after = jasmine.createSpy('afterAll'); - env.describe("with beforeAll and afterAll", function() { - env.it("spec", function() { + env.describe('with beforeAll and afterAll', function() { + env.it('spec', function() { expect(before).toHaveBeenCalled(); expect(after).not.toHaveBeenCalled(); }); - env.it("another spec", function() { + env.it('another spec', function() { expect(before).toHaveBeenCalled(); expect(after).not.toHaveBeenCalled(); }); @@ -306,42 +324,42 @@ describe("Env integration", function() { }); it("calls associated beforeAlls/afterAlls with the cascaded 'this'", function(done) { - env.describe("with beforeAll and afterAll", function() { + env.describe('with beforeAll and afterAll', function() { env.beforeAll(function() { this.x = 1; }); - env.it("has an x at the root", function() { + env.it('has an x at the root', function() { expect(this.x).toBe(1); }); - env.describe("child that deletes", function() { + env.describe('child that deletes', function() { env.beforeAll(function() { expect(this.x).toBe(1); delete this.x; }); - env.it("has no x", function() { + env.it('has no x', function() { expect(this.x).not.toBeDefined(); }); }); - env.describe("child should still have x", function() { + env.describe('child should still have x', function() { env.beforeAll(function(innerDone) { expect(this.x).toBe(1); innerDone(); }); - env.it("has an x", function() { + env.it('has an x', function() { expect(this.x).toBe(1); delete this.x; }); - env.it("still has an x", function() { + env.it('still has an x', function() { expect(this.x).toBe(1); }); - env.it("adds a y", function() { + env.it('adds a y', function() { this.y = 2; expect(this.y).toBe(2); }); @@ -355,7 +373,7 @@ describe("Env integration", function() { env.execute(null, done); }); - it("tags top-level afterAll failures with a type", function(done) { + it('tags top-level afterAll failures with a type', function(done) { var jasmineDone = jasmine.createSpy('jasmineDone'); env.it('has a spec', function() {}); @@ -365,20 +383,23 @@ describe("Env integration", function() { }); env.addReporter({ jasmineDone: jasmineDone }); - env.execute(null, function() {{ - var result = jasmineDone.calls.argsFor(0)[0]; - expect(result.failedExpectations[0].globalErrorType).toEqual('afterAll'); - done(); - }}); + env.execute(null, function() { + { + var result = jasmineDone.calls.argsFor(0)[0]; + expect(result.failedExpectations[0].globalErrorType).toEqual( + 'afterAll' + ); + done(); + } + }); }); - it("does not tag suite afterAll failures with a type", function(done) { + it('does not tag suite afterAll failures with a type', function(done) { var reporter = { - suiteDone: jasmine.createSpy('suiteDone').and.callFake(function(result) { - expect(result.failedExpectations[0].globalErrorType).toBeFalsy(); - }) - }; - + suiteDone: jasmine.createSpy('suiteDone').and.callFake(function(result) { + expect(result.failedExpectations[0].globalErrorType).toBeFalsy(); + }) + }; env.addReporter(reporter); @@ -396,50 +417,73 @@ describe("Env integration", function() { }); }); - it("when the beforeAll fails, error at suite level", function (done) { - var reporter = jasmine.createSpyObj('fakeReporter', [ "specDone", "suiteDone" ]); + it('when the beforeAll fails, error at suite level', function(done) { + var reporter = jasmine.createSpyObj('fakeReporter', [ + 'specDone', + 'suiteDone' + ]); var assertions = function() { expect(reporter.specDone.calls.count()).toEqual(2); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('A suite spec that will pass', []); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('A suite nesting another spec to pass', []); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('A suite', ['Expected 1 to be 2.']); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'A suite spec that will pass', + [] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'A suite nesting another spec to pass', + [] + ); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'A suite', + ['Expected 1 to be 2.'] + ); done(); }; env.addReporter(reporter); - env.describe('A suite', function(){ + env.describe('A suite', function() { env.beforeAll(function() { env.expect(1).toBe(2); }); - env.it("spec that will pass", function() { - }); + env.it('spec that will pass', function() {}); - env.describe("nesting", function() { - env.it("another spec to pass", function() { - }); + env.describe('nesting', function() { + env.it('another spec to pass', function() {}); }); }); env.execute(null, assertions); }); - it("copes with async failures after done has been called", function(done) { + it('copes with async failures after done has been called', function(done) { var global = { - setTimeout: function(fn, delay) { setTimeout(fn, delay) }, - clearTimeout: function(fn, delay) { clearTimeout(fn, delay) }, + setTimeout: function(fn, delay) { + setTimeout(fn, delay); + }, + clearTimeout: function(fn, delay) { + clearTimeout(fn, delay); + } }; spyOn(jasmineUnderTest, 'getGlobal').and.returnValue(global); env.cleanup_(); env = new jasmineUnderTest.Env(); - var reporter = jasmine.createSpyObj('fakeReporter', [ "specDone", "suiteDone" ]); + var reporter = jasmine.createSpyObj('fakeReporter', [ + 'specDone', + 'suiteDone' + ]); var assertions = function() { - expect(reporter.specDone).not.toHaveFailedExpectationsForRunnable('A suite fails', ['fail thrown']); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('A suite', ['fail thrown']); + expect(reporter.specDone).not.toHaveFailedExpectationsForRunnable( + 'A suite fails', + ['fail thrown'] + ); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'A suite', + ['fail thrown'] + ); done(); }; @@ -450,9 +494,9 @@ describe("Env integration", function() { setTimeout(function() { specDone(); setTimeout(function() { - setTimeout(function() { - global.onerror('fail'); - }); + setTimeout(function() { + global.onerror('fail'); + }); }); }); }); @@ -465,23 +509,22 @@ describe("Env integration", function() { env.execute(null, assertions); }); - describe('suiteDone reporting', function(){ - it("reports when an afterAll fails an expectation", function(done) { + describe('suiteDone reporting', function() { + it('reports when an afterAll fails an expectation', function(done) { var reporter = jasmine.createSpyObj('fakeReport', ['suiteDone']); var assertions = function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('my suite', [ - 'Expected 1 to equal 2.', - 'Expected 2 to equal 3.' - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'my suite', + ['Expected 1 to equal 2.', 'Expected 2 to equal 3.'] + ); done(); }; env.addReporter(reporter); env.describe('my suite', function() { - env.it('my spec', function() { - }); + env.it('my spec', function() {}); env.afterAll(function() { env.expect(1).toEqual(2); @@ -492,14 +535,14 @@ describe("Env integration", function() { env.execute(null, assertions); }); - it("if there are no specs, it still reports correctly", function(done) { + it('if there are no specs, it still reports correctly', function(done) { var reporter = jasmine.createSpyObj('fakeReport', ['suiteDone']); var assertions = function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('outer suite', [ - 'Expected 1 to equal 2.', - 'Expected 2 to equal 3.' - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'outer suite', + ['Expected 1 to equal 2.', 'Expected 2 to equal 3.'] + ); done(); }; @@ -507,7 +550,7 @@ describe("Env integration", function() { env.describe('outer suite', function() { env.describe('inner suite', function() { - env.it('spec', function(){ }); + env.it('spec', function() {}); }); env.afterAll(function() { @@ -519,22 +562,22 @@ describe("Env integration", function() { env.execute(null, assertions); }); - it("reports when afterAll throws an exception", function(done) { + it('reports when afterAll throws an exception', function(done) { var error = new Error('After All Exception'), reporter = jasmine.createSpyObj('fakeReport', ['suiteDone']); var assertions = function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('my suite', [ - (/^Error: After All Exception/) - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'my suite', + [/^Error: After All Exception/] + ); done(); }; env.addReporter(reporter); env.describe('my suite', function() { - env.it('my spec', function() { - }); + env.it('my spec', function() {}); env.afterAll(function() { throw error; @@ -544,21 +587,21 @@ describe("Env integration", function() { env.execute(null, assertions); }); - it("reports when an async afterAll fails an expectation", function(done) { + it('reports when an async afterAll fails an expectation', function(done) { var reporter = jasmine.createSpyObj('fakeReport', ['suiteDone']); var assertions = function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('my suite', [ - 'Expected 1 to equal 2.' - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'my suite', + ['Expected 1 to equal 2.'] + ); done(); }; env.addReporter(reporter); env.describe('my suite', function() { - env.it('my spec', function() { - }); + env.it('my spec', function() {}); env.afterAll(function(afterAllDone) { env.expect(1).toEqual(2); @@ -569,23 +612,22 @@ describe("Env integration", function() { env.execute(null, assertions); }); - it("reports when an async afterAll throws an exception", function(done) { + it('reports when an async afterAll throws an exception', function(done) { var error = new Error('After All Exception'), reporter = jasmine.createSpyObj('fakeReport', ['suiteDone']); - var assertions = function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('my suite', [ - (/^Error: After All Exception/) - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'my suite', + [/^Error: After All Exception/] + ); done(); }; env.addReporter(reporter); env.describe('my suite', function() { - env.it('my spec', function() { - }); + env.it('my spec', function() {}); env.afterAll(function(afterAllDone) { throw error; @@ -610,7 +652,7 @@ describe("Env integration", function() { // We can't just use the mock clock here because the timer is designed // to record real time even when the mock clock is installed. setTimeout(done, 10); - }) + }); }); env.execute(null, function() { @@ -636,7 +678,7 @@ describe("Env integration", function() { // We can't just use the mock clock here because the timer is designed // to record real time even when the mock clock is installed. setTimeout(done, 10); - }) + }); }); env.execute(null, function() { @@ -661,8 +703,13 @@ describe("Env integration", function() { env.execute(null, function() { var results = reporter.jasmineDone.calls.argsFor(0)[0]; - expect(results.failedExpectations).toEqual([jasmine.objectContaining({ message: 'Expected 1 to be 0.' })]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('is a spec', []); + expect(results.failedExpectations).toEqual([ + jasmine.objectContaining({ message: 'Expected 1 to be 0.' }) + ]); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'is a spec', + [] + ); done(); }); }); @@ -682,39 +729,38 @@ describe("Env integration", function() { env.execute(null, function() { var results = reporter.jasmineDone.calls.argsFor(0)[0]; - expect(results.failedExpectations).toEqual([jasmine.objectContaining({ message: 'Expected 1 to be 0.' })]); + expect(results.failedExpectations).toEqual([ + jasmine.objectContaining({ message: 'Expected 1 to be 0.' }) + ]); done(); }); }); - it("Allows specifying which specs and suites to run", function(done) { + it('Allows specifying which specs and suites to run', function(done) { var calls = [], - suiteCallback = jasmine.createSpy('suite callback'), - firstSpec, - secondSuite; + suiteCallback = jasmine.createSpy('suite callback'), + firstSpec, + secondSuite; - env.addReporter({ suiteDone: suiteCallback}); + env.addReporter({ suiteDone: suiteCallback }); - env.describe("first suite", function() { - firstSpec = env.it("first spec", function() { + env.describe('first suite', function() { + firstSpec = env.it('first spec', function() { calls.push('first spec'); }); - env.it("second spec", function() { + env.it('second spec', function() { calls.push('second spec'); }); }); - secondSuite = env.describe("second suite", function() { - env.it("third spec", function() { + secondSuite = env.describe('second suite', function() { + env.it('third spec', function() { calls.push('third spec'); }); }); env.execute([secondSuite.id, firstSpec.id], function() { - expect(calls).toEqual([ - 'third spec', - 'first spec' - ]); + expect(calls).toEqual(['third spec', 'first spec']); expect(suiteCallback).toHaveBeenCalled(); done(); }); @@ -725,51 +771,46 @@ describe("Env integration", function() { first_spec, second_spec; - env.describe("first suite", function() { + env.describe('first suite', function() { env.beforeAll(function() { - calls.push("before"); + calls.push('before'); }); env.afterAll(function() { - calls.push("after") + calls.push('after'); }); - first_spec = env.it("spec", function() { + first_spec = env.it('spec', function() { calls.push('first spec'); }); - second_spec = env.it("spec 2", function() { - calls.push("second spec"); - }); - }); - - env.execute([first_spec.id, second_spec.id], function() { - expect(calls).toEqual([ - "before", - "first spec", - "second spec", - "after" - ]); - done(); - }); - }); - - it("Allows filtering out specs and suites to run programmatically", function(done) { - var calls = [], - suiteCallback = jasmine.createSpy('suite callback'), - firstSpec, - secondSuite; - - env.addReporter({suiteDone: suiteCallback}); - - env.describe("first suite", function() { - env.it("first spec", function() { - calls.push('first spec'); - }); - env.it("second spec", function() { + second_spec = env.it('spec 2', function() { calls.push('second spec'); }); }); - secondSuite = env.describe("second suite", function() { - env.it("third spec", function() { + env.execute([first_spec.id, second_spec.id], function() { + expect(calls).toEqual(['before', 'first spec', 'second spec', 'after']); + done(); + }); + }); + + it('Allows filtering out specs and suites to run programmatically', function(done) { + var calls = [], + suiteCallback = jasmine.createSpy('suite callback'), + firstSpec, + secondSuite; + + env.addReporter({ suiteDone: suiteCallback }); + + env.describe('first suite', function() { + env.it('first spec', function() { + calls.push('first spec'); + }); + env.it('second spec', function() { + calls.push('second spec'); + }); + }); + + secondSuite = env.describe('second suite', function() { + env.it('third spec', function() { calls.push('third spec'); }); }); @@ -782,26 +823,27 @@ describe("Env integration", function() { env.execute(null, function() { expect(calls.length).toEqual(2); - expect(calls).toEqual(jasmine.arrayContaining([ - 'first spec', - 'second spec' - ])); + expect(calls).toEqual( + jasmine.arrayContaining(['first spec', 'second spec']) + ); expect(suiteCallback).toHaveBeenCalled(); done(); }); }); - it("Functions can be spied on and have their calls tracked", function (done) { + it('Functions can be spied on and have their calls tracked', function(done) { var originalFunctionWasCalled = false; var subject = { spiedFunc: function() { originalFunctionWasCalled = true; - return "original result"; + return 'original result'; } }; - env.it("works with spies", function() { - var spy = env.spyOn(subject, 'spiedFunc').and.returnValue("stubbed result"); + env.it('works with spies', function() { + var spy = env + .spyOn(subject, 'spiedFunc') + .and.returnValue('stubbed result'); expect(subject.spiedFunc).toEqual(spy); expect(subject.spiedFunc.calls.any()).toEqual(false); @@ -813,57 +855,71 @@ describe("Env integration", function() { expect(subject.spiedFunc.calls.count()).toEqual(1); expect(subject.spiedFunc.calls.mostRecent().args).toEqual(['foo']); expect(subject.spiedFunc.calls.mostRecent().object).toEqual(subject); - expect(subject.spiedFunc.calls.mostRecent().returnValue).toEqual("stubbed result"); + expect(subject.spiedFunc.calls.mostRecent().returnValue).toEqual( + 'stubbed result' + ); expect(originalFunctionWasCalled).toEqual(false); subject.spiedFunc.and.callThrough(); subject.spiedFunc('bar'); expect(subject.spiedFunc.calls.count()).toEqual(2); expect(subject.spiedFunc.calls.mostRecent().args).toEqual(['bar']); - expect(subject.spiedFunc.calls.mostRecent().returnValue).toEqual("original result"); + expect(subject.spiedFunc.calls.mostRecent().returnValue).toEqual( + 'original result' + ); expect(originalFunctionWasCalled).toEqual(true); }); - env.it("works with constructors when using callThrough spy strategy", function() { - function MyClass(foo) { - if (!(this instanceof MyClass)) throw new Error('You must use the new keyword.'); - this.foo = foo; + env.it( + 'works with constructors when using callThrough spy strategy', + function() { + function MyClass(foo) { + if (!(this instanceof MyClass)) + throw new Error('You must use the new keyword.'); + this.foo = foo; + } + var subject = { MyClass: MyClass }; + var spy = env.spyOn(subject, 'MyClass').and.callThrough(); + + expect(function() { + var result = new spy('hello world'); + expect(result instanceof MyClass).toBeTruthy(); + expect(result.foo).toEqual('hello world'); + }).not.toThrow(); + + expect(function() { + var result = new spy( + 'passing', + 'extra', + 'arguments', + 'to', + 'constructor' + ); + expect(result instanceof MyClass).toBeTruthy(); + expect(result.foo).toEqual('passing'); + }).not.toThrow(); + + expect(function() { + spy('hello world'); + }).toThrowError('You must use the new keyword.'); } - var subject = { MyClass: MyClass }; - var spy = env.spyOn(subject, 'MyClass').and.callThrough(); - - expect(function() { - var result = new spy('hello world'); - expect(result instanceof MyClass).toBeTruthy(); - expect(result.foo).toEqual('hello world'); - }).not.toThrow(); - - expect(function() { - var result = new spy('passing', 'extra', 'arguments', 'to', 'constructor'); - expect(result instanceof MyClass).toBeTruthy(); - expect(result.foo).toEqual('passing'); - }).not.toThrow(); - - expect(function() { - spy('hello world'); - }).toThrowError('You must use the new keyword.'); - }); + ); env.execute(null, done); }); - it('can be configured to allow respying on functions', function (done) { + it('can be configured to allow respying on functions', function(done) { var foo = { - bar: function () { - return 1; - } - }; + bar: function() { + return 1; + } + }; env.allowRespy(true); env.describe('test suite', function() { env.it('spec 0', function() { - env.spyOn(foo,'bar'); + env.spyOn(foo, 'bar'); var error = null; @@ -887,10 +943,10 @@ describe("Env integration", function() { secondSpec = jasmine.createSpy('secondSpec').and.callFake(function() { expect(testObj.foo).toBe(originalFoo); }); - env.describe('test suite', function() { - env.it('spec 0', firstSpec); - env.it('spec 1', secondSpec); - }); + env.describe('test suite', function() { + env.it('spec 0', firstSpec); + env.it('spec 1', secondSpec); + }); env.execute(null, function() { expect(firstSpec).toHaveBeenCalled(); @@ -905,24 +961,26 @@ describe("Env integration", function() { foo: originalFoo }; - env.describe('test suite', function() { - env.beforeAll(function() { env.spyOn(testObj, 'foo');}); - - env.it('spec 0', function() { - expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(true); - }); - - env.it('spec 1', function() { - expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(true); - }); + env.describe('test suite', function() { + env.beforeAll(function() { + env.spyOn(testObj, 'foo'); }); - env.describe('another suite', function() { - env.it('spec 2', function() { - expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(false); - }); + env.it('spec 0', function() { + expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(true); }); + env.it('spec 1', function() { + expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(true); + }); + }); + + env.describe('another suite', function() { + env.it('spec 2', function() { + expect(jasmineUnderTest.isSpy(testObj.foo)).toBe(false); + }); + }); + env.execute(null, done); }); @@ -946,24 +1004,40 @@ describe("Env integration", function() { }); }); - it("Mock clock can be installed and used in tests", function(done) { - var globalSetTimeout = jasmine.createSpy('globalSetTimeout').and.callFake(function(cb, t) { setTimeout(cb, t); }), - delayedFunctionForGlobalClock = jasmine.createSpy('delayedFunctionForGlobalClock'), - delayedFunctionForMockClock = jasmine.createSpy('delayedFunctionForMockClock'); + it('Mock clock can be installed and used in tests', function(done) { + var globalSetTimeout = jasmine + .createSpy('globalSetTimeout') + .and.callFake(function(cb, t) { + setTimeout(cb, t); + }), + delayedFunctionForGlobalClock = jasmine.createSpy( + 'delayedFunctionForGlobalClock' + ), + delayedFunctionForMockClock = jasmine.createSpy( + 'delayedFunctionForMockClock' + ); env.cleanup_(); - env = new jasmineUnderTest.Env({global: { setTimeout: globalSetTimeout, clearTimeout: clearTimeout, setImmediate: function(cb) { setTimeout(cb, 0); } }}); + env = new jasmineUnderTest.Env({ + global: { + setTimeout: globalSetTimeout, + clearTimeout: clearTimeout, + setImmediate: function(cb) { + setTimeout(cb, 0); + } + } + }); - env.configure({random: false}); + env.configure({ random: false }); - env.describe("tests", function() { - env.it("test with mock clock", function() { + env.describe('tests', function() { + env.it('test with mock clock', function() { env.clock.install(); env.clock.setTimeout(delayedFunctionForMockClock, 100); env.clock.tick(100); env.clock.uninstall(); }); - env.it("test without mock clock", function() { + env.it('test without mock clock', function() { env.clock.setTimeout(delayedFunctionForGlobalClock, 100); }); }); @@ -973,27 +1047,30 @@ describe("Env integration", function() { env.execute(null, function() { expect(delayedFunctionForMockClock).toHaveBeenCalled(); - expect(globalSetTimeout).toHaveBeenCalledWith(delayedFunctionForGlobalClock, 100); + expect(globalSetTimeout).toHaveBeenCalledWith( + delayedFunctionForGlobalClock, + 100 + ); done(); }); }); - it("should run async specs in order, waiting for them to complete", function(done) { + it('should run async specs in order, waiting for them to complete', function(done) { var mutatedVar; - env.describe("tests", function() { + env.describe('tests', function() { env.beforeEach(function() { mutatedVar = 2; }); - env.it("async spec", function(underTestCallback) { + env.it('async spec', function(underTestCallback) { setTimeout(function() { expect(mutatedVar).toEqual(2); underTestCallback(); }, 0); }); - env.it("after async spec", function() { + env.it('after async spec', function() { mutatedVar = 3; }); }); @@ -1001,13 +1078,14 @@ describe("Env integration", function() { env.execute(null, done); }); - describe("with a mock clock", function() { + describe('with a mock clock', function() { var realSetTimeout; function createMockedEnv() { env.cleanup_(); // explicitly pass in timing functions so we can make sure that clear stack always works // no matter how long the suite in the spec is - env = new jasmineUnderTest.Env({ global: { + env = new jasmineUnderTest.Env({ + global: { setTimeout: function(cb, t) { var stack = jasmine.util.errorWithStack().stack; if (stack.indexOf('ClearStack') >= 0) { @@ -1019,8 +1097,11 @@ describe("Env integration", function() { clearTimeout: clearTimeout, setInterval: setInterval, clearInterval: clearInterval, - setImmediate: function(cb) { realSetTimeout(cb, 0); } - }}); + setImmediate: function(cb) { + realSetTimeout(cb, 0); + } + } + }); } beforeEach(function() { @@ -1038,10 +1119,10 @@ describe("Env integration", function() { it("should wait a default interval before failing specs that haven't called done yet", function(done) { createMockedEnv(); - var reporter = jasmine.createSpyObj('fakeReporter', [ "specDone" ]); + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']); reporter.specDone.and.callFake(function(result) { - expect(result).toEqual(jasmine.objectContaining({status: 'failed'})); + expect(result).toEqual(jasmine.objectContaining({ status: 'failed' })); realSetTimeout(function() { jasmine.clock().tick(1); }, 0); @@ -1063,9 +1144,9 @@ describe("Env integration", function() { }); }); - it("should not use the mock clock for asynchronous timeouts", function(done){ + it('should not use the mock clock for asynchronous timeouts', function(done) { createMockedEnv(); - var reporter = jasmine.createSpyObj('fakeReporter', [ "specDone" ]), + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']), clock = env.clock; reporter.specDone.and.callFake(function() { @@ -1085,7 +1166,7 @@ describe("Env integration", function() { clock.uninstall(); }); - env.it("spec that should not time out", function(innerDone) { + env.it('spec that should not time out', function(innerDone) { clock.tick(6); expect(true).toEqual(true); realSetTimeout(innerDone); @@ -1093,7 +1174,9 @@ describe("Env integration", function() { env.execute(null, function() { expect(reporter.specDone).toHaveBeenCalledTimes(1); - expect(reporter.specDone.calls.argsFor(0)[0]).toEqual(jasmine.objectContaining({status: 'passed'})); + expect(reporter.specDone.calls.argsFor(0)[0]).toEqual( + jasmine.objectContaining({ status: 'passed' }) + ); jasmine.clock().tick(1); realSetTimeout(done); }); @@ -1101,7 +1184,11 @@ describe("Env integration", function() { it('should wait a custom interval before reporting async functions that fail to complete', function(done) { createMockedEnv(); - var reporter = jasmine.createSpyObj('fakeReport', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('fakeReport', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); jasmineUnderTest.DEFAULT_TIMEOUT_INTERVAL = 10000; @@ -1111,7 +1198,7 @@ describe("Env integration", function() { realSetTimeout(function() { try { jasmine.clock().tick(10); - } catch(e) { + } catch (e) { // don't worry if the clock is already uninstalled } }, 100); @@ -1176,21 +1263,50 @@ describe("Env integration", function() { }); }); - env.it('it times out', function(innerDone) { - realSetTimeout(function() { - jasmine.clock().tick(6001); - }, 0); - }, 6000); + env.it( + 'it times out', + function(innerDone) { + realSetTimeout(function() { + jasmine.clock().tick(6001); + }, 0); + }, + 6000 + ); }); env.execute(null, function() { var r = reporter.jasmineDone.calls.argsFor(0)[0]; expect(r.failedExpectations).toEqual([]); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('suite beforeAll', [ /^Error: Timeout - Async function did not complete within 5000ms \(custom timeout\)/ ]); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('suite afterAll', [ /^Error: Timeout - Async function did not complete within 2000ms \(custom timeout\)/ ]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite beforeEach times out', [/^Error: Timeout - Async function did not complete within 1000ms \(custom timeout\)/]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite afterEach times out', [ /^Error: Timeout - Async function did not complete within 4000ms \(custom timeout\)/ ]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite it times out', [ /^Error: Timeout - Async function did not complete within 6000ms \(custom timeout\)/ ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'suite beforeAll', + [ + /^Error: Timeout - Async function did not complete within 5000ms \(custom timeout\)/ + ] + ); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'suite afterAll', + [ + /^Error: Timeout - Async function did not complete within 2000ms \(custom timeout\)/ + ] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite beforeEach times out', + [ + /^Error: Timeout - Async function did not complete within 1000ms \(custom timeout\)/ + ] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite afterEach times out', + [ + /^Error: Timeout - Async function did not complete within 4000ms \(custom timeout\)/ + ] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite it times out', + [ + /^Error: Timeout - Async function did not complete within 6000ms \(custom timeout\)/ + ] + ); jasmine.clock().tick(1); realSetTimeout(done); @@ -1201,7 +1317,7 @@ describe("Env integration", function() { it('explicitly fails an async spec', function(done) { var specDone = jasmine.createSpy('specDone'); - env.addReporter({specDone: specDone}); + env.addReporter({ specDone: specDone }); env.describe('failing', function() { env.it('has a default message', function(innerDone) { @@ -1239,19 +1355,24 @@ describe("Env integration", function() { }); env.execute(null, function() { - expect(specDone).toHaveFailedExpectationsForRunnable('failing has a default message', + expect(specDone).toHaveFailedExpectationsForRunnable( + 'failing has a default message', ['Failed'] ); - expect(specDone).toHaveFailedExpectationsForRunnable('failing specifies a message', + expect(specDone).toHaveFailedExpectationsForRunnable( + 'failing specifies a message', ['Failed: messy message'] ); - expect(specDone).toHaveFailedExpectationsForRunnable('failing fails via the done callback', + expect(specDone).toHaveFailedExpectationsForRunnable( + 'failing fails via the done callback', ['Failed: done failed'] ); - expect(specDone).toHaveFailedExpectationsForRunnable('failing has a message from an Error', + expect(specDone).toHaveFailedExpectationsForRunnable( + 'failing has a message from an Error', ['Failed: error message'] ); - expect(specDone).toHaveFailedExpectationsForRunnable('failing has a message from an Error to done', + expect(specDone).toHaveFailedExpectationsForRunnable( + 'failing has a message from an Error to done', ['Failed: done error'] ); @@ -1270,7 +1391,7 @@ describe("Env integration", function() { env.it('is not focused', function() { calls.push('freakout'); - }) + }); }); env.execute(null, function() { @@ -1279,7 +1400,7 @@ describe("Env integration", function() { }); }); - it('should only run focused suites', function(done){ + it('should only run focused suites', function(done) { var calls = []; env.fdescribe('a focused suite', function() { @@ -1291,7 +1412,7 @@ describe("Env integration", function() { env.describe('a regular suite', function() { env.it('is not focused', function() { calls.push('freakout'); - }) + }); }); env.execute(null, function() { @@ -1302,17 +1423,17 @@ describe("Env integration", function() { it('should run focused tests inside an xdescribe', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - "jasmineStarted", - "suiteStarted", - "suiteDone", - "specStarted", - "specDone" - ]); + 'jasmineStarted', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); env.addReporter(reporter); - env.xdescribe("xd suite", function() { - env.fit("with a fit spec", function() { + env.xdescribe('xd suite', function() { + env.fit('with a fit spec', function() { env.expect(true).toBe(false); }); }); @@ -1323,10 +1444,12 @@ describe("Env integration", function() { order: jasmine.any(jasmineUnderTest.Order) }); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'with a fit spec', - status: 'failed' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'with a fit spec', + status: 'failed' + }) + ); done(); }); @@ -1334,18 +1457,18 @@ describe("Env integration", function() { it('should run focused suites inside an xdescribe', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - "jasmineStarted", - "suiteStarted", - "suiteDone", - "specStarted", - "specDone" - ]); + 'jasmineStarted', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); env.addReporter(reporter); - env.xdescribe("xd suite", function() { - env.fdescribe("fd suite", function() { - env.it("with a spec", function() { + env.xdescribe('xd suite', function() { + env.fdescribe('fd suite', function() { + env.it('with a spec', function() { env.expect(true).toBe(false); }); }); @@ -1357,36 +1480,38 @@ describe("Env integration", function() { order: jasmine.any(jasmineUnderTest.Order) }); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'with a spec', - status: 'failed' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'with a spec', + status: 'failed' + }) + ); done(); }); }); }); - it("should report as expected", function(done) { + it('should report as expected', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - "jasmineStarted", - "suiteStarted", - "suiteDone", - "specStarted", - "specDone" - ]); + 'jasmineStarted', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); env.addReporter(reporter); - env.describe("A Suite", function() { - env.it("with a top level spec", function() { + env.describe('A Suite', function() { + env.it('with a top level spec', function() { env.expect(true).toBe(true); }); - env.describe("with a nested suite", function() { + env.describe('with a nested suite', function() { env.xit("with an x'ed spec", function() { env.expect(true).toBe(true); }); - env.it("with a spec", function() { + env.it('with a spec', function() { env.expect(true).toBe(false); }); }); @@ -1407,49 +1532,57 @@ describe("Env integration", function() { expect(reporter.specDone.calls.count()).toBe(5); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'with a top level spec', - status: 'passed' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'with a top level spec', + status: 'passed' + }) + ); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: "with an x'ed spec", - status: 'pending' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: "with an x'ed spec", + status: 'pending' + }) + ); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'with a spec', - status: 'failed' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'with a spec', + status: 'failed' + }) + ); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'is pending', - status: 'pending' - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'is pending', + status: 'pending' + }) + ); var suiteDone = reporter.suiteDone.calls.argsFor(0)[0]; expect(typeof suiteDone.duration).toBe('number'); var suiteResult = reporter.suiteStarted.calls.argsFor(0)[0]; - expect(suiteResult.description).toEqual("A Suite"); + expect(suiteResult.description).toEqual('A Suite'); done(); }); }); - it("should report the random seed at the beginning and end of execution", function(done) { + it('should report the random seed at the beginning and end of execution', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - "jasmineStarted", - "jasmineDone", - "suiteStarted", - "suiteDone", - "specStarted", - "specDone" - ]); - env.configure({random: true, seed: '123456'}); + 'jasmineStarted', + 'jasmineDone', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); + env.configure({ random: true, seed: '123456' }); env.addReporter(reporter); - env.configure({random: true}); + env.configure({ random: true }); env.execute(null, function() { expect(reporter.jasmineStarted).toHaveBeenCalled(); var startedArg = reporter.jasmineStarted.calls.argsFor(0)[0]; @@ -1517,9 +1650,9 @@ describe("Env integration", function() { it('should report using fallback reporter', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - 'specDone', - 'jasmineDone' - ]); + 'specDone', + 'jasmineDone' + ]); reporter.jasmineDone.and.callFake(function() { expect(reporter.specDone).toHaveBeenCalled(); @@ -1538,20 +1671,20 @@ describe("Env integration", function() { it('should report xdescribes as expected', function(done) { var reporter = jasmine.createSpyObj('fakeReporter', [ - "jasmineStarted", - "suiteStarted", - "suiteDone", - "specStarted", - "specDone" - ]); + 'jasmineStarted', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); env.addReporter(reporter); - env.describe("A Suite", function() { - env.describe("nested", function() { - env.xdescribe("xd out", function() { - env.describe("nested again", function() { - env.it("with a spec", function() { + env.describe('A Suite', function() { + env.describe('nested', function() { + env.xdescribe('xd out', function() { + env.describe('nested again', function() { + env.it('with a spec', function() { env.expect(true).toBe(false); }); }); @@ -1565,49 +1698,56 @@ describe("Env integration", function() { order: jasmine.any(jasmineUnderTest.Order) }); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ status: 'pending' })); - expect(reporter.suiteDone).toHaveBeenCalledWith(jasmine.objectContaining({ description: 'xd out', status: 'pending' })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ status: 'pending' }) + ); + expect(reporter.suiteDone).toHaveBeenCalledWith( + jasmine.objectContaining({ description: 'xd out', status: 'pending' }) + ); expect(reporter.suiteDone.calls.count()).toBe(4); done(); }); }); - it("should be possible to get full name from a spec", function() { + it('should be possible to get full name from a spec', function() { var topLevelSpec, nestedSpec, doublyNestedSpec; - env.describe("my tests", function() { - topLevelSpec = env.it("are sometimes top level", function() { - }); - env.describe("are sometimes", function() { - nestedSpec = env.it("singly nested", function() { - }); - env.describe("even", function() { - doublyNestedSpec = env.it("doubly nested", function() { - }); + env.describe('my tests', function() { + topLevelSpec = env.it('are sometimes top level', function() {}); + env.describe('are sometimes', function() { + nestedSpec = env.it('singly nested', function() {}); + env.describe('even', function() { + doublyNestedSpec = env.it('doubly nested', function() {}); }); }); }); - expect(topLevelSpec.getFullName()).toBe("my tests are sometimes top level"); - expect(nestedSpec.getFullName()).toBe("my tests are sometimes singly nested"); - expect(doublyNestedSpec.getFullName()).toBe("my tests are sometimes even doubly nested"); + expect(topLevelSpec.getFullName()).toBe('my tests are sometimes top level'); + expect(nestedSpec.getFullName()).toBe( + 'my tests are sometimes singly nested' + ); + expect(doublyNestedSpec.getFullName()).toBe( + 'my tests are sometimes even doubly nested' + ); }); - it("Custom equality testers should be per spec", function(done) { - var reporter = jasmine.createSpyObj('fakeReporter', ["specDone"]); + it('Custom equality testers should be per spec', function(done) { + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']); env.addReporter(reporter); - env.configure({random: false}); + env.configure({ random: false }); - env.describe("testing custom equality testers", function() { - env.it("with a custom tester", function() { - env.addCustomEqualityTester(function(a, b) { return true; }); - env.expect("a").toEqual("b"); + env.describe('testing custom equality testers', function() { + env.it('with a custom tester', function() { + env.addCustomEqualityTester(function(a, b) { + return true; + }); + env.expect('a').toEqual('b'); }); - env.it("without a custom tester", function() { - env.expect("a").toEqual("b"); + env.it('without a custom tester', function() { + env.expect('a').toEqual('b'); }); }); @@ -1615,35 +1755,38 @@ describe("Env integration", function() { var firstSpecResult = reporter.specDone.calls.first().args[0], secondSpecResult = reporter.specDone.calls.mostRecent().args[0]; - expect(firstSpecResult.status).toEqual("passed"); - expect(secondSpecResult.status).toEqual("failed"); + expect(firstSpecResult.status).toEqual('passed'); + expect(secondSpecResult.status).toEqual('failed'); done(); }); }); - it("Custom equality testers should be per suite", function(done) { - var reporter = jasmine.createSpyObj('fakeReporter', ["specDone"]); - + it('Custom equality testers should be per suite', function(done) { + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']); env.addReporter(reporter); - env.configure({random: false}); + env.configure({ random: false }); - env.describe("testing custom equality testers", function() { - env.beforeAll(function() { env.addCustomEqualityTester(function(a, b) { return true; }); }); - - env.it("with a custom tester", function() { - env.expect("a").toEqual("b"); + env.describe('testing custom equality testers', function() { + env.beforeAll(function() { + env.addCustomEqualityTester(function(a, b) { + return true; + }); }); - env.it("with the same custom tester", function() { - env.expect("a").toEqual("b"); + env.it('with a custom tester', function() { + env.expect('a').toEqual('b'); + }); + + env.it('with the same custom tester', function() { + env.expect('a').toEqual('b'); }); }); - env.describe("another suite", function() { - env.it("without the custom tester", function(){ - env.expect("a").toEqual("b"); + env.describe('another suite', function() { + env.it('without the custom tester', function() { + env.expect('a').toEqual('b'); }); }); @@ -1652,28 +1795,30 @@ describe("Env integration", function() { secondSpecResult = reporter.specDone.calls.argsFor(0)[0], thirdSpecResult = reporter.specDone.calls.mostRecent().args[0]; - expect(firstSpecResult.status).toEqual("passed"); - expect(secondSpecResult.status).toEqual("passed"); - expect(thirdSpecResult.status).toEqual("failed"); + expect(firstSpecResult.status).toEqual('passed'); + expect(secondSpecResult.status).toEqual('passed'); + expect(thirdSpecResult.status).toEqual('failed'); done(); }); }); - it("Custom equality testers for toContain should be per spec", function(done) { - var reporter = jasmine.createSpyObj('fakeReporter', ["specDone"]); + it('Custom equality testers for toContain should be per spec', function(done) { + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']); env.addReporter(reporter); - env.configure({random: false}); + env.configure({ random: false }); - env.describe("testing custom equality testers", function() { - env.it("with a custom tester", function() { - env.addCustomEqualityTester(function(a, b) { return true; }); - env.expect(["a"]).toContain("b"); + env.describe('testing custom equality testers', function() { + env.it('with a custom tester', function() { + env.addCustomEqualityTester(function(a, b) { + return true; + }); + env.expect(['a']).toContain('b'); }); - env.it("without a custom tester", function() { - env.expect(["a"]).toContain("b"); + env.it('without a custom tester', function() { + env.expect(['a']).toContain('b'); }); }); @@ -1681,45 +1826,53 @@ describe("Env integration", function() { var firstSpecResult = reporter.specDone.calls.first().args[0], secondSpecResult = reporter.specDone.calls.mostRecent().args[0]; - expect(firstSpecResult.status).toEqual("passed"); - expect(secondSpecResult.status).toEqual("failed"); + expect(firstSpecResult.status).toEqual('passed'); + expect(secondSpecResult.status).toEqual('failed'); done(); }); }); it("produces an understandable error message when an 'expect' is used outside of a current spec", function(done) { - env.describe("A Suite", function() { - env.it("an async spec that is actually synchronous", function(underTestCallback) { + env.describe('A Suite', function() { + env.it('an async spec that is actually synchronous', function( + underTestCallback + ) { underTestCallback(); }); - expect(function() { env.expect('a').toEqual('a'); }).toThrowError(/'expect' was used when there was no current spec/); + expect(function() { + env.expect('a').toEqual('a'); + }).toThrowError(/'expect' was used when there was no current spec/); }); env.execute(null, done); }); - it("Custom equality testers for toContain should be per suite", function(done) { - var reporter = jasmine.createSpyObj('fakeReporter', ["specDone"]); + it('Custom equality testers for toContain should be per suite', function(done) { + var reporter = jasmine.createSpyObj('fakeReporter', ['specDone']); env.addReporter(reporter); - env.configure({random: false}); + env.configure({ random: false }); - env.describe("testing custom equality testers", function() { - env.beforeAll(function() { env.addCustomEqualityTester(function(a, b) { return true; })}); - - env.it("with a custom tester", function() { - env.expect(["a"]).toContain("b"); + env.describe('testing custom equality testers', function() { + env.beforeAll(function() { + env.addCustomEqualityTester(function(a, b) { + return true; + }); }); - env.it("also with the custom tester", function() { - env.expect(["a"]).toContain("b"); + env.it('with a custom tester', function() { + env.expect(['a']).toContain('b'); + }); + + env.it('also with the custom tester', function() { + env.expect(['a']).toContain('b'); }); }); - env.describe("another suite", function() { - env.it("without the custom tester", function() { - env.expect(["a"]).toContain("b"); + env.describe('another suite', function() { + env.it('without the custom tester', function() { + env.expect(['a']).toContain('b'); }); }); @@ -1728,26 +1881,26 @@ describe("Env integration", function() { secondSpecResult = reporter.specDone.calls.argsFor(1)[0], thirdSpecResult = reporter.specDone.calls.mostRecent().args[0]; - expect(firstSpecResult.status).toEqual("passed"); - expect(secondSpecResult.status).toEqual("passed"); - expect(thirdSpecResult.status).toEqual("failed"); + expect(firstSpecResult.status).toEqual('passed'); + expect(secondSpecResult.status).toEqual('passed'); + expect(thirdSpecResult.status).toEqual('failed'); done(); }); }); - it("Custom matchers should be per spec", function(done) { + it('Custom matchers should be per spec', function(done) { var matchers = { - toFoo: function() {} - }; + toFoo: function() {} + }; - env.describe("testing custom matchers", function() { - env.it("with a custom matcher", function() { + env.describe('testing custom matchers', function() { + env.it('with a custom matcher', function() { env.addMatchers(matchers); expect(env.expect().toFoo).toBeDefined(); }); - env.it("without a custom matcher", function() { + env.it('without a custom matcher', function() { expect(env.expect().toFoo).toBeUndefined(); }); }); @@ -1755,25 +1908,27 @@ describe("Env integration", function() { env.execute(null, done); }); - it("Custom matchers should be per suite", function(done) { + it('Custom matchers should be per suite', function(done) { var matchers = { - toFoo: function() {} - }; + toFoo: function() {} + }; - env.describe("testing custom matchers", function() { - env.beforeAll(function() { env.addMatchers(matchers); }); + env.describe('testing custom matchers', function() { + env.beforeAll(function() { + env.addMatchers(matchers); + }); - env.it("with a custom matcher", function() { + env.it('with a custom matcher', function() { expect(env.expect().toFoo).toBeDefined(); }); - env.it("with the same custom matcher", function() { + env.it('with the same custom matcher', function() { expect(env.expect().toFoo).toBeDefined(); }); }); - env.describe("another suite", function() { - env.it("no longer has the custom matcher", function() { + env.describe('another suite', function() { + env.it('no longer has the custom matcher', function() { expect(env.expect().toFoo).not.toBeDefined(); }); }); @@ -1781,215 +1936,299 @@ describe("Env integration", function() { env.execute(null, done); }); - it('throws an exception if you try to create a spy outside of a runnable', function (done) { - var obj = {fn: function () {}}, + it('throws an exception if you try to create a spy outside of a runnable', function(done) { + var obj = { fn: function() {} }, exception; - env.describe("a suite", function () { + env.describe('a suite', function() { try { env.spyOn(obj, 'fn'); - } catch(e) { + } catch (e) { exception = e; } }); env.execute(null, function() { - expect(exception.message).toBe('Spies must be created in a before function or a spec'); + expect(exception.message).toBe( + 'Spies must be created in a before function or a spec' + ); done(); }); }); - it('throws an exception if you try to add a matcher outside of a runnable', function (done) { - var obj = {fn: function () {}}, + it('throws an exception if you try to add a matcher outside of a runnable', function(done) { + var obj = { fn: function() {} }, exception; - env.describe("a suite", function () { + env.describe('a suite', function() { try { - env.addMatchers({myMatcher: function(actual,expected){return false;}}); - } catch(e) { + env.addMatchers({ + myMatcher: function(actual, expected) { + return false; + } + }); + } catch (e) { exception = e; } }); env.execute(null, function() { - expect(exception.message).toBe('Matchers must be added in a before function or a spec'); + expect(exception.message).toBe( + 'Matchers must be added in a before function or a spec' + ); done(); }); }); - it('throws an exception if you try to add a custom equality outside of a runnable', function (done) { - var obj = {fn: function () {}}, + it('throws an exception if you try to add a custom equality outside of a runnable', function(done) { + var obj = { fn: function() {} }, exception; - env.describe("a suite", function () { + env.describe('a suite', function() { try { - env.addCustomEqualityTester(function(first, second) {return true;}); - } catch(e) { + env.addCustomEqualityTester(function(first, second) { + return true; + }); + } catch (e) { exception = e; } }); env.execute(null, function() { - expect(exception.message).toBe('Custom Equalities must be added in a before function or a spec'); + expect(exception.message).toBe( + 'Custom Equalities must be added in a before function or a spec' + ); done(); }); }); it('reports test properties on specs', function(done) { - var env = new jasmineUnderTest.Env(), - reporter = jasmine.createSpyObj('reporter', ['suiteDone', 'specDone']); + var env = new jasmineUnderTest.Env(), + reporter = jasmine.createSpyObj('reporter', ['suiteDone', 'specDone']); - reporter.specDone.and.callFake(function(e) { - expect(e.properties).toEqual({a: 'Bee'}); - }); + reporter.specDone.and.callFake(function(e) { + expect(e.properties).toEqual({ a: 'Bee' }); + }); - env.addReporter(reporter); - env.it('calls setSpecProperty', function() { - env.setSpecProperty('a', 'Bee') - }); - env.execute(null, function() { - expect(reporter.specDone).toHaveBeenCalled(); - done(); - }); + env.addReporter(reporter); + env.it('calls setSpecProperty', function() { + env.setSpecProperty('a', 'Bee'); + }); + env.execute(null, function() { + expect(reporter.specDone).toHaveBeenCalled(); + done(); + }); }); - it('throws an exception if you try to setSpecProperty outside of a spec', function (done) { + it('throws an exception if you try to setSpecProperty outside of a spec', function(done) { var env = new jasmineUnderTest.Env(), - exception; + exception; - env.describe("a suite", function () { + env.describe('a suite', function() { env.it('a spec'); try { env.setSpecProperty('a prop', 'val'); - } catch(e) { + } catch (e) { exception = e; } }); env.execute(null, function() { - expect(exception.message).toBe("'setSpecProperty' was used when there was no current spec"); + expect(exception.message).toBe( + "'setSpecProperty' was used when there was no current spec" + ); done(); }); }); it('reports test properties on suites', function(done) { - var env = new jasmineUnderTest.Env(), - reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var env = new jasmineUnderTest.Env(), + reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); - reporter.suiteDone.and.callFake(function(e) { - expect(e.properties).toEqual({b: 'Sweet'}); - }); + reporter.suiteDone.and.callFake(function(e) { + expect(e.properties).toEqual({ b: 'Sweet' }); + }); - env.addReporter(reporter); - env.describe('calls setSuiteProperty', function() { - env.beforeEach(function() { - env.setSuiteProperty('b', 'Sweet'); - }); - env.it('a passing spec', function() { - expect.nothing(); - }); + env.addReporter(reporter); + env.describe('calls setSuiteProperty', function() { + env.beforeEach(function() { + env.setSuiteProperty('b', 'Sweet'); }); + env.it('a passing spec', function() { + expect.nothing(); + }); + }); - env.execute(null, function() { - expect(reporter.suiteDone).toHaveBeenCalled(); - done(); - }); + env.execute(null, function() { + expect(reporter.suiteDone).toHaveBeenCalled(); + done(); + }); }); - it('throws an exception if you try to setSuiteProperty outside of a suite', function (done) { + it('throws an exception if you try to setSuiteProperty outside of a suite', function(done) { var env = new jasmineUnderTest.Env(); try { env.setSuiteProperty('a', 'Bee'); - } catch(e) { - expect(e.message).toBe("'setSuiteProperty' was used when there was no current suite"); + } catch (e) { + expect(e.message).toBe( + "'setSuiteProperty' was used when there was no current suite" + ); done(); } }); - it("should associate errors thrown from async code with the correct runnable", function(done) { - var reporter = jasmine.createSpyObj('fakeReport', ['suiteDone','specDone']); + it('should associate errors thrown from async code with the correct runnable', function(done) { + var reporter = jasmine.createSpyObj('fakeReport', [ + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.describe('async suite', function() { env.afterAll(function(innerDone) { - setTimeout(function() { throw new Error('suite'); }, 1); + setTimeout(function() { + throw new Error('suite'); + }, 1); }, 10); env.it('spec', function() {}); }); env.describe('suite', function() { - env.it('async spec', function(innerDone) { - setTimeout(function() { throw new Error('spec'); }, 1); - }, 10); + env.it( + 'async spec', + function(innerDone) { + setTimeout(function() { + throw new Error('spec'); + }, 1); + }, + 10 + ); }); env.execute(null, function() { - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('async suite', [ - /^(((Uncaught )?(exception: )?Error: suite( thrown)?)|(suite thrown))$/ - ]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite async spec', [ - /^(((Uncaught )?(exception: )?Error: spec( thrown)?)|(spec thrown))$/ - ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'async suite', + [ + /^(((Uncaught )?(exception: )?Error: suite( thrown)?)|(suite thrown))$/ + ] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite async spec', + [/^(((Uncaught )?(exception: )?Error: spec( thrown)?)|(spec thrown))$/] + ); done(); }); }); - it('should throw on suites/specs/befores/afters nested in methods other than \'describe\'', function(done) { + it("should throw on suites/specs/befores/afters nested in methods other than 'describe'", function(done) { var reporter = jasmine.createSpyObj('reporter', ['suiteDone', 'specDone']); env.addReporter(reporter); env.describe('suite', function() { - env.it('describe', function() { env.describe('inner suite', function() {}); }); - env.it('xdescribe', function() { env.xdescribe('inner suite', function() {}); }); - env.it('fdescribe', function() { env.fdescribe('inner suite', function() {}); }); + env.it('describe', function() { + env.describe('inner suite', function() {}); + }); + env.it('xdescribe', function() { + env.xdescribe('inner suite', function() {}); + }); + env.it('fdescribe', function() { + env.fdescribe('inner suite', function() {}); + }); }); env.describe('spec', function() { - env.it('it', function() { env.it('inner spec', function() {}); }); - env.it('xit', function() { env.xit('inner spec', function() {}); }); - env.it('fit', function() { env.fit('inner spec', function() {}); }); + env.it('it', function() { + env.it('inner spec', function() {}); + }); + env.it('xit', function() { + env.xit('inner spec', function() {}); + }); + env.it('fit', function() { + env.fit('inner spec', function() {}); + }); }); env.describe('beforeAll', function() { - env.beforeAll(function() { env.beforeAll(function() {}); }); + env.beforeAll(function() { + env.beforeAll(function() {}); + }); env.it('spec', function() {}); }); env.describe('beforeEach', function() { - env.beforeEach(function() { env.beforeEach(function() {}); }); + env.beforeEach(function() { + env.beforeEach(function() {}); + }); env.it('spec', function() {}); }); env.describe('afterAll', function() { - env.afterAll(function() { env.afterAll(function() {}); }); + env.afterAll(function() { + env.afterAll(function() {}); + }); env.it('spec', function() {}); }); env.describe('afterEach', function() { - env.afterEach(function() { env.afterEach(function() {}); }); + env.afterEach(function() { + env.afterEach(function() {}); + }); env.it('spec', function() {}); }); env.execute(null, function() { var msg = /\'.*\' should only be used in \'describe\' function/; - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite describe', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite xdescribe', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('suite fdescribe', [msg]); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite describe', + [msg] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite xdescribe', + [msg] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'suite fdescribe', + [msg] + ); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('spec it', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('spec xit', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('spec fit', [msg]); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable('spec it', [ + msg + ]); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'spec xit', + [msg] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'spec fit', + [msg] + ); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('beforeAll', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('beforeEach spec', [msg]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'beforeAll', + [msg] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'beforeEach spec', + [msg] + ); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('afterAll', [msg]); - expect(reporter.specDone).toHaveFailedExpectationsForRunnable('afterEach spec', [msg]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'afterAll', + [msg] + ); + expect(reporter.specDone).toHaveFailedExpectationsForRunnable( + 'afterEach spec', + [msg] + ); done(); }); @@ -1997,18 +2236,32 @@ describe("Env integration", function() { it('reports errors that occur during loading', function(done) { var global = { - setTimeout: function(fn, delay) { setTimeout(fn, delay) }, - clearTimeout: function(fn, delay) { clearTimeout(fn, delay) }, + setTimeout: function(fn, delay) { + setTimeout(fn, delay); + }, + clearTimeout: function(fn, delay) { + clearTimeout(fn, delay); + }, onerror: function() {} }; spyOn(jasmineUnderTest, 'getGlobal').and.returnValue(global); env.cleanup_(); env = new jasmineUnderTest.Env(); - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); - global.onerror('Uncaught SyntaxError: Unexpected end of input', 'borkenSpec.js', 42, undefined, {stack: 'a stack'}); + global.onerror( + 'Uncaught SyntaxError: Unexpected end of input', + 'borkenSpec.js', + 42, + undefined, + { stack: 'a stack' } + ); global.onerror('Uncaught Error: ENOCHEESE'); env.execute(null, function() { @@ -2038,10 +2291,14 @@ describe("Env integration", function() { describe('If suppressLoadErrors: true was passed', function() { it('does not install a global error handler during loading', function(done) { - var originalOnerror = jasmine.createSpy('original onerror') + var originalOnerror = jasmine.createSpy('original onerror'); var global = { - setTimeout: function(fn, delay) { setTimeout(fn, delay) }, - clearTimeout: function(fn, delay) { clearTimeout(fn, delay) }, + setTimeout: function(fn, delay) { + setTimeout(fn, delay); + }, + clearTimeout: function(fn, delay) { + clearTimeout(fn, delay); + }, onerror: originalOnerror }; spyOn(jasmineUnderTest, 'getGlobal').and.returnValue(global); @@ -2051,8 +2308,12 @@ describe("Env integration", function() { spyOn(jasmineUnderTest, 'GlobalErrors').and.returnValue(globalErrors); env.cleanup_(); - env = new jasmineUnderTest.Env({suppressLoadErrors: true}); - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + env = new jasmineUnderTest.Env({ suppressLoadErrors: true }); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); global.onerror('Uncaught Error: ENOCHEESE'); @@ -2060,7 +2321,9 @@ describe("Env integration", function() { env.execute(null, function() { var e = reporter.jasmineDone.calls.argsFor(0)[0]; expect(e.failedExpectations).toEqual([]); - expect(originalOnerror).toHaveBeenCalledWith('Uncaught Error: ENOCHEESE'); + expect(originalOnerror).toHaveBeenCalledWith( + 'Uncaught Error: ENOCHEESE' + ); done(); }); }); @@ -2069,7 +2332,11 @@ describe("Env integration", function() { describe('Overall status in the jasmineDone event', function() { describe('When everything passes', function() { it('is "passed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.it('passes', function() {}); @@ -2083,7 +2350,11 @@ describe("Env integration", function() { describe('When a spec fails', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.it('fails', function() { @@ -2093,7 +2364,7 @@ describe("Env integration", function() { var e = reporter.jasmineDone.calls.argsFor(0)[0]; expect(e.overallStatus).toEqual('failed'); done(); - }) + }); }); }); @@ -2101,13 +2372,16 @@ describe("Env integration", function() { var reporter; beforeEach(function() { - reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.it('is a spec without any expectations', function() { // does nothing, just a mock spec without expectations }); - }); it('should report "failed" status if "failSpecWithNoExpectations" is enabled', function(done) { @@ -2131,7 +2405,11 @@ describe("Env integration", function() { describe('When a top-level beforeAll fails', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.beforeAll(function() { @@ -2148,7 +2426,11 @@ describe("Env integration", function() { describe('When a suite beforeAll fails', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.describe('something', function() { @@ -2167,7 +2449,11 @@ describe("Env integration", function() { describe('When a top-level afterAll fails', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.afterAll(function() { @@ -2184,7 +2470,11 @@ describe("Env integration", function() { describe('When a suite afterAll fails', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.describe('something', function() { @@ -2201,17 +2491,25 @@ describe("Env integration", function() { }); }); - describe("When there are load errors", function() { + describe('When there are load errors', function() { it('is "failed"', function(done) { var global = { - setTimeout: function(fn, delay) { setTimeout(fn, delay) }, - clearTimeout: function(fn, delay) { clearTimeout(fn, delay) }, + setTimeout: function(fn, delay) { + setTimeout(fn, delay); + }, + clearTimeout: function(fn, delay) { + clearTimeout(fn, delay); + } }; spyOn(jasmineUnderTest, 'getGlobal').and.returnValue(global); env.cleanup_(); env = new jasmineUnderTest.Env(); - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); reporter.jasmineDone.and.callFake(function(e) { expect(e.overallStatus).toEqual('failed'); @@ -2229,7 +2527,11 @@ describe("Env integration", function() { describe('When there are no specs', function() { it('is "incomplete"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.execute(null, function() { @@ -2243,7 +2545,11 @@ describe("Env integration", function() { describe('When a spec is focused', function() { it('is "incomplete"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.fit('is focused', function() {}); @@ -2258,7 +2564,11 @@ describe("Env integration", function() { describe('When a suite is focused', function() { it('is "incomplete"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.fdescribe('something focused', function() { @@ -2275,7 +2585,11 @@ describe("Env integration", function() { describe('When there are both failures and focused specs', function() { it('is "failed"', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); env.addReporter(reporter); env.fit('is focused', function() { @@ -2292,10 +2606,14 @@ describe("Env integration", function() { }); it('should report deprecation warnings on the correct specs and suites', function(done) { - var reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']); + var reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]); // prevent deprecation from being displayed, as well as letting us observe calls - spyOn(console, "error"); + spyOn(console, 'error'); env.addReporter(reporter); @@ -2317,25 +2635,35 @@ describe("Env integration", function() { jasmine.objectContaining({ message: 'top level deprecation' }) ]); /* eslint-disable-next-line no-console */ - expect(console.error).toHaveBeenCalledWith('DEPRECATION: top level deprecation'); + expect(console.error).toHaveBeenCalledWith( + 'DEPRECATION: top level deprecation' + ); - expect(reporter.suiteDone).toHaveBeenCalledWith(jasmine.objectContaining({ - fullName: 'suite', - deprecationWarnings: [ - jasmine.objectContaining({ message: 'suite level deprecation' }) - ] - })); + expect(reporter.suiteDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + fullName: 'suite', + deprecationWarnings: [ + jasmine.objectContaining({ message: 'suite level deprecation' }) + ] + }) + ); /* eslint-disable-next-line no-console */ - expect(console.error).toHaveBeenCalledWith('DEPRECATION: suite level deprecation (in suite: suite)'); + expect(console.error).toHaveBeenCalledWith( + 'DEPRECATION: suite level deprecation (in suite: suite)' + ); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - fullName: 'suite spec', - deprecationWarnings: [ - jasmine.objectContaining({ message: 'spec level deprecation' }) - ] - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + fullName: 'suite spec', + deprecationWarnings: [ + jasmine.objectContaining({ message: 'spec level deprecation' }) + ] + }) + ); /* eslint-disable-next-line no-console */ - expect(console.error).toHaveBeenCalledWith('DEPRECATION: spec level deprecation (in spec: suite spec)'); + expect(console.error).toHaveBeenCalledWith( + 'DEPRECATION: spec level deprecation (in spec: suite spec)' + ); done(); }); @@ -2343,15 +2671,33 @@ describe("Env integration", function() { it('should report deprecation stack with an error object', function(done) { var exceptionFormatter = new jasmineUnderTest.ExceptionFormatter(), - reporter = jasmine.createSpyObj('reporter', ['jasmineDone', 'suiteDone', 'specDone']), - topLevelError, suiteLevelError, specLevelError; + reporter = jasmine.createSpyObj('reporter', [ + 'jasmineDone', + 'suiteDone', + 'specDone' + ]), + topLevelError, + suiteLevelError, + specLevelError; - try { throw new Error('top level deprecation') } catch (err) { topLevelError = err; } - try { throw new Error('suite level deprecation') } catch (err) { suiteLevelError = err; } - try { throw new Error('spec level deprecation') } catch (err) { specLevelError = err; } + try { + throw new Error('top level deprecation'); + } catch (err) { + topLevelError = err; + } + try { + throw new Error('suite level deprecation'); + } catch (err) { + suiteLevelError = err; + } + try { + throw new Error('spec level deprecation'); + } catch (err) { + specLevelError = err; + } // prevent deprecation from being displayed - spyOn(console, "error"); + spyOn(console, 'error'); env.addReporter(reporter); @@ -2376,25 +2722,29 @@ describe("Env integration", function() { }) ]); - expect(reporter.suiteDone).toHaveBeenCalledWith(jasmine.objectContaining({ - fullName: 'suite', - deprecationWarnings: [ - jasmine.objectContaining({ - message: suiteLevelError.message, - stack: exceptionFormatter.stack(suiteLevelError) - }) - ] - })); + expect(reporter.suiteDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + fullName: 'suite', + deprecationWarnings: [ + jasmine.objectContaining({ + message: suiteLevelError.message, + stack: exceptionFormatter.stack(suiteLevelError) + }) + ] + }) + ); - expect(reporter.specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - fullName: 'suite spec', - deprecationWarnings: [ - jasmine.objectContaining({ - message: specLevelError.message, - stack: exceptionFormatter.stack(specLevelError) - }) - ] - })); + expect(reporter.specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + fullName: 'suite spec', + deprecationWarnings: [ + jasmine.objectContaining({ + message: specLevelError.message, + stack: exceptionFormatter.stack(specLevelError) + }) + ] + }) + ); done(); }); @@ -2404,8 +2754,8 @@ describe("Env integration", function() { jasmine.getEnv().requirePromises(); var specDone = jasmine.createSpy('specDone'), - suiteDone = jasmine.createSpy('suiteDone'), - jasmineDone = jasmine.createSpy('jasmineDone'); + suiteDone = jasmine.createSpy('suiteDone'), + jasmineDone = jasmine.createSpy('jasmineDone'); env.addReporter({ specDone: specDone, @@ -2415,8 +2765,14 @@ describe("Env integration", function() { function fail(innerDone) { var resolve; - var p = new Promise(function(res, rej) { resolve = res }); // eslint-disable-line compat/compat - env.expectAsync(p).toBeRejected().then(innerDone); + // eslint-disable-next-line compat/compat + var p = new Promise(function(res, rej) { + resolve = res; + }); + env + .expectAsync(p) + .toBeRejected() + .then(innerDone); resolve(); } @@ -2428,23 +2784,33 @@ describe("Env integration", function() { env.execute(null, function() { var result = jasmineDone.calls.argsFor(0)[0]; - expect(result.failedExpectations).toEqual([jasmine.objectContaining({ - message: 'Expected [object Promise] to be rejected.' - })]); - - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'has an async failure', - failedExpectations: [jasmine.objectContaining({ + expect(result.failedExpectations).toEqual([ + jasmine.objectContaining({ message: 'Expected [object Promise] to be rejected.' - })] - })); + }) + ]); - expect(suiteDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'a suite', - failedExpectations: [jasmine.objectContaining({ - message: 'Expected [object Promise] to be rejected.' - })] - })); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'has an async failure', + failedExpectations: [ + jasmine.objectContaining({ + message: 'Expected [object Promise] to be rejected.' + }) + ] + }) + ); + + expect(suiteDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'a suite', + failedExpectations: [ + jasmine.objectContaining({ + message: 'Expected [object Promise] to be rejected.' + }) + ] + }) + ); done(); }); @@ -2455,19 +2821,23 @@ describe("Env integration", function() { var specDone = jasmine.createSpy('specDone'); - env.addReporter({specDone: specDone}); + env.addReporter({ specDone: specDone }); env.it('has an async failure', function() { - env.addCustomEqualityTester(function() { return true; }); + env.addCustomEqualityTester(function() { + return true; + }); var p = Promise.resolve('something'); // eslint-disable-line compat/compat return env.expectAsync(p).toBeResolvedTo('something else'); }); env.execute(null, function() { - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - description: 'has an async failure', - failedExpectations: [] - })); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + description: 'has an async failure', + failedExpectations: [] + }) + ); done(); }); }); @@ -2477,20 +2847,26 @@ describe("Env integration", function() { var specDone = jasmine.createSpy('specDone'); - env.addReporter({specDone: specDone}); + env.addReporter({ specDone: specDone }); env.it('has an async failure', function() { - env.addCustomEqualityTester(function() { return true; }); + env.addCustomEqualityTester(function() { + return true; + }); var p = Promise.resolve(); // eslint-disable-line compat/compat return env.expectAsync(p).toBeRejected(); }); env.execute(null, function() { - expect(specDone).toHaveBeenCalledWith(jasmine.objectContaining({ - failedExpectations: [jasmine.objectContaining({ - stack: jasmine.stringMatching('EnvSpec.js') - })] - })); + expect(specDone).toHaveBeenCalledWith( + jasmine.objectContaining({ + failedExpectations: [ + jasmine.objectContaining({ + stack: jasmine.stringMatching('EnvSpec.js') + }) + ] + }) + ); done(); }); }); @@ -2500,7 +2876,10 @@ describe("Env integration", function() { var resolve, jasmineDone = jasmine.createSpy('jasmineDone'), - promise = new Promise(function(res) { resolve = res; }); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + promise = new Promise(function(res) { + resolve = res; + }); env.describe('a suite', function() { env.it('does not wait', function() { @@ -2518,13 +2897,14 @@ describe("Env integration", function() { jasmineDone: jasmineDone }); - env.execute(null, function () { + env.execute(null, function() { var result = jasmineDone.calls.argsFor(0)[0]; expect(result.failedExpectations).toEqual([ jasmine.objectContaining({ passed: false, globalErrorType: 'lateExpectation', - message: 'Spec "a suite does not wait" ran a "toBeResolved" expectation ' + + message: + 'Spec "a suite does not wait" ran a "toBeResolved" expectation ' + 'after it finished.\n' + 'Did you forget to return or await the result of expectAsync?', matcherName: 'toBeResolved' @@ -2532,9 +2912,10 @@ describe("Env integration", function() { jasmine.objectContaining({ passed: false, globalErrorType: 'lateExpectation', - message: 'Spec "a suite does not wait" ran a "toBeResolvedTo" expectation ' + + message: + 'Spec "a suite does not wait" ran a "toBeResolvedTo" expectation ' + 'after it finished.\n' + - 'Message: "Expected a promise to be resolved to \'something else\' ' + + "Message: \"Expected a promise to be resolved to 'something else' " + 'but it was resolved to undefined."\n' + 'Did you forget to return or await the result of expectAsync?', matcherName: 'toBeResolvedTo' @@ -2550,7 +2931,10 @@ describe("Env integration", function() { var resolve, jasmineDone = jasmine.createSpy('jasmineDone'), - promise = new Promise(function(res) { resolve = res; }); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + promise = new Promise(function(res) { + resolve = res; + }); env.describe('a suite', function() { env.afterAll(function() { @@ -2569,13 +2953,14 @@ describe("Env integration", function() { jasmineDone: jasmineDone }); - env.execute(null, function () { + env.execute(null, function() { var result = jasmineDone.calls.argsFor(0)[0]; expect(result.failedExpectations).toEqual([ jasmine.objectContaining({ passed: false, globalErrorType: 'lateExpectation', - message: 'Suite "a suite" ran a "toBeResolved" expectation ' + + message: + 'Suite "a suite" ran a "toBeResolved" expectation ' + 'after it finished.\n' + 'Did you forget to return or await the result of expectAsync?', matcherName: 'toBeResolved' @@ -2586,25 +2971,25 @@ describe("Env integration", function() { }); }); - it("supports asymmetric equality testers that take a matchersUtil", function(done) { + it('supports asymmetric equality testers that take a matchersUtil', function(done) { var env = new jasmineUnderTest.Env(); - env.it("spec using custom asymmetric equality tester", function() { + env.it('spec using custom asymmetric equality tester', function() { var customEqualityFn = function(a, b) { - if (a === 2 && b === "two") { + if (a === 2 && b === 'two') { return true; } }; var arrayWithFirstElement = function(sample) { return { - asymmetricMatch: function (actual, matchersUtil) { + asymmetricMatch: function(actual, matchersUtil) { return matchersUtil.equals(sample, actual[0]); } }; }; env.addCustomEqualityTester(customEqualityFn); - env.expect(["two"]).toEqual(arrayWithFirstElement(2)); + env.expect(['two']).toEqual(arrayWithFirstElement(2)); }); var specExpectations = function(result) { @@ -2625,13 +3010,14 @@ describe("Env integration", function() { }); it('is called after reporter events are dispatched', function(done) { - var reporter = jasmine.createSpyObj( - 'reporter', - ['specDone', 'suiteDone', 'jasmineDone'] - ); + var reporter = jasmine.createSpyObj('reporter', [ + 'specDone', + 'suiteDone', + 'jasmineDone' + ]); env.addReporter(reporter); - env.describe('suite', function () { + env.describe('suite', function() { env.it('spec', function() {}); }); @@ -2644,15 +3030,19 @@ describe("Env integration", function() { }); it('is called after the stack is cleared', function(done) { - var realClearStack = jasmineUnderTest.getClearStack(jasmineUnderTest.getGlobal()), - clearStackSpy = jasmine.createSpy('clearStack').and.callFake(realClearStack); + var realClearStack = jasmineUnderTest.getClearStack( + jasmineUnderTest.getGlobal() + ), + clearStackSpy = jasmine + .createSpy('clearStack') + .and.callFake(realClearStack); spyOn(jasmineUnderTest, 'getClearStack').and.returnValue(clearStackSpy); // Create a new env that has the clearStack defined above env.cleanup_(); env = new jasmineUnderTest.Env(); - env.describe('suite', function () { + env.describe('suite', function() { env.it('spec', function() {}); }); @@ -2667,24 +3057,32 @@ describe("Env integration", function() { }); it('is called after QueueRunner timeouts are cleared', function(done) { - var setTimeoutSpy = spyOn(jasmineUnderTest.getGlobal(), 'setTimeout') - .and.callThrough(); - var clearTimeoutSpy = spyOn(jasmineUnderTest.getGlobal(), 'clearTimeout') - .and.callThrough(); + var setTimeoutSpy = spyOn( + jasmineUnderTest.getGlobal(), + 'setTimeout' + ).and.callThrough(); + var clearTimeoutSpy = spyOn( + jasmineUnderTest.getGlobal(), + 'clearTimeout' + ).and.callThrough(); jasmineUnderTest.DEFAULT_TIMEOUT_INTERVAL = 123456; // a distinctive value env = new jasmineUnderTest.Env(); - env.describe('suite', function () { - env.it('spec', function () { - }); + env.describe('suite', function() { + env.it('spec', function() {}); }); - env.execute(null, function () { - var timeoutIds = setTimeoutSpy.calls.all() - .filter(function(call) { return call.args[1] === 123456; }) - .map(function(call) { return call.returnValue; }); + env.execute(null, function() { + var timeoutIds = setTimeoutSpy.calls + .all() + .filter(function(call) { + return call.args[1] === 123456; + }) + .map(function(call) { + return call.returnValue; + }); expect(timeoutIds.length).toBeGreaterThan(0); diff --git a/spec/core/integration/MatchersSpec.js b/spec/core/integration/MatchersSpec.js index 8174faf8..ac9f5e90 100644 --- a/spec/core/integration/MatchersSpec.js +++ b/spec/core/integration/MatchersSpec.js @@ -23,7 +23,9 @@ describe('Matchers (Integration)', function() { expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(0); - expect(result.failedExpectations[0] && result.failedExpectations[0].message) + expect( + result.failedExpectations[0] && result.failedExpectations[0].message + ) .withContext('Failure message') .toBeUndefined(); }; @@ -45,12 +47,17 @@ describe('Matchers (Integration)', function() { .withContext('Number of failed expectations') .toEqual(1); expect(result.failedExpectations[0].message) - .withContext('Failed with a thrown error rather than a matcher failure') + .withContext( + 'Failed with a thrown error rather than a matcher failure' + ) .not.toMatch(/^Error: /); expect(result.failedExpectations[0].message) - .withContext('Failed with a thrown type error rather than a matcher failure') + .withContext( + 'Failed with a thrown type error rather than a matcher failure' + ) .not.toMatch(/^TypeError: /); - expect(result.failedExpectations[0].matcherName).withContext('Matcher name') + expect(result.failedExpectations[0].matcherName) + .withContext('Matcher name') .not.toEqual(''); }; @@ -61,18 +68,19 @@ describe('Matchers (Integration)', function() { function verifyFailsWithCustomObjectFormatters(config) { it('uses custom object formatters', function(done) { - env.it('a spec', function () { + env.it('a spec', function() { env.addCustomObjectFormatter(config.formatter); config.expectations(env); }); - var specExpectations = function (result) { + var specExpectations = function(result) { expect(result.status).toEqual('failed'); expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(1); - expect(result.failedExpectations[0].message) - .toEqual(config.expectedMessage); + expect(result.failedExpectations[0].message).toEqual( + config.expectedMessage + ); }; env.addReporter({ specDone: specExpectations }); @@ -96,7 +104,9 @@ describe('Matchers (Integration)', function() { expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(0); - expect(result.failedExpectations[0] && result.failedExpectations[0].message) + expect( + result.failedExpectations[0] && result.failedExpectations[0].message + ) .withContext('Failure message') .toBeUndefined(); }; @@ -120,9 +130,12 @@ describe('Matchers (Integration)', function() { .withContext('Number of failed expectations') .toEqual(1); expect(result.failedExpectations[0].message) - .withContext('Failed with a thrown error rather than a matcher failure') + .withContext( + 'Failed with a thrown error rather than a matcher failure' + ) .not.toMatch(/^Error: /); - expect(result.failedExpectations[0].matcherName).withContext('Matcher name') + expect(result.failedExpectations[0].matcherName) + .withContext('Matcher name') .not.toEqual(''); }; @@ -135,18 +148,19 @@ describe('Matchers (Integration)', function() { it('uses custom object formatters', function(done) { var env = new jasmineUnderTest.Env(); jasmine.getEnv().requirePromises(); - env.it('a spec', function () { + env.it('a spec', function() { env.addCustomObjectFormatter(config.formatter); return config.expectations(env); }); - var specExpectations = function (result) { + var specExpectations = function(result) { expect(result.status).toEqual('failed'); expect(result.failedExpectations.length) .withContext('Number of failed expectations') .toEqual(1); - expect(result.failedExpectations[0].message) - .toEqual(config.expectedMessage); + expect(result.failedExpectations[0].message).toEqual( + config.expectedMessage + ); }; env.addReporter({ specDone: specExpectations }); @@ -154,7 +168,6 @@ describe('Matchers (Integration)', function() { }); } - describe('nothing', function() { verifyPasses(function(env) { env.expect().nothing(); @@ -330,16 +343,18 @@ describe('Matchers (Integration)', function() { env.expect(1).toBePositiveInfinity(); }, expectedMessage: 'Expected |1| to be Infinity.' - }) + }); }); describe('toBeResolved', function() { verifyPassesAsync(function(env) { - return env.expectAsync(Promise.resolve()).toBeResolved(); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve()).toBeResolved(); }); verifyFailsAsync(function(env) { - return env.expectAsync(Promise.reject()).toBeResolved(); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.reject()).toBeResolved(); }); }); @@ -348,11 +363,13 @@ describe('Matchers (Integration)', function() { env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - return env.expectAsync(Promise.resolve('5')).toBeResolvedTo(5); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve('5')).toBeResolvedTo(5); }); verifyFailsAsync(function(env) { - return env.expectAsync(Promise.resolve('foo')).toBeResolvedTo('bar'); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve('foo')).toBeResolvedTo('bar'); }); verifyFailsWithCustomObjectFormattersAsync({ @@ -360,20 +377,24 @@ describe('Matchers (Integration)', function() { return '|' + val + '|'; }, expectations: function(env) { - return env.expectAsync(Promise.resolve('x')).toBeResolvedTo('y'); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve('x')).toBeResolvedTo('y'); }, - expectedMessage: 'Expected a promise to be resolved to |y| ' + + expectedMessage: + 'Expected a promise to be resolved to |y| ' + 'but it was resolved to |x|.' }); }); describe('toBeRejected', function() { verifyPassesAsync(function(env) { - return env.expectAsync(Promise.reject('nope')).toBeRejected(); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.reject('nope')).toBeRejected(); }); verifyFailsAsync(function(env) { - return env.expectAsync(Promise.resolve()).toBeRejected(); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve()).toBeRejected(); }); }); @@ -382,11 +403,13 @@ describe('Matchers (Integration)', function() { env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - return env.expectAsync(Promise.reject('5')).toBeRejectedWith(5); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.reject('5')).toBeRejectedWith(5); }); verifyFailsAsync(function(env) { - return env.expectAsync(Promise.resolve()).toBeRejectedWith('nope'); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve()).toBeRejectedWith('nope'); }); verifyFailsWithCustomObjectFormattersAsync({ @@ -394,20 +417,28 @@ describe('Matchers (Integration)', function() { return '|' + val + '|'; }, expectations: function(env) { - return env.expectAsync(Promise.reject('x')).toBeRejectedWith('y'); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.reject('x')).toBeRejectedWith('y'); }, - expectedMessage: 'Expected a promise to be rejected with |y| ' + + expectedMessage: + 'Expected a promise to be rejected with |y| ' + 'but it was rejected with |x|.' }); }); describe('toBeRejectedWithError', function() { verifyPassesAsync(function(env) { - return env.expectAsync(Promise.reject(new Error())).toBeRejectedWithError(Error); // eslint-disable-line compat/compat + return ( + env + // eslint-disable-next-line compat/compat + .expectAsync(Promise.reject(new Error())) + .toBeRejectedWithError(Error) + ); }); verifyFailsAsync(function(env) { - return env.expectAsync(Promise.resolve()).toBeRejectedWithError(Error); // eslint-disable-line compat/compat + // eslint-disable-next-line compat/compat + return env.expectAsync(Promise.resolve()).toBeRejectedWithError(Error); }); verifyFailsWithCustomObjectFormattersAsync({ @@ -415,9 +446,15 @@ describe('Matchers (Integration)', function() { return '|' + val + '|'; }, expectations: function(env) { - return env.expectAsync(Promise.reject('foo')).toBeRejectedWithError('foo'); // eslint-disable-line compat/compat + return ( + env + // eslint-disable-next-line compat/compat + .expectAsync(Promise.reject('foo')) + .toBeRejectedWithError('foo') + ); }, - expectedMessage: 'Expected a promise to be rejected with Error: |foo| ' + + expectedMessage: + 'Expected a promise to be rejected with Error: |foo| ' + 'but it was rejected with |foo|.' }); }); @@ -486,7 +523,7 @@ describe('Matchers (Integration)', function() { } }, expectations: function(env) { - env.expect([{foo: 4}]).toEqual([{foo: 5}]); + env.expect([{ foo: 4 }]).toEqual([{ foo: 5 }]); }, expectedMessage: 'Expected $[0].foo = four to equal five.' }); @@ -494,11 +531,11 @@ describe('Matchers (Integration)', function() { describe('toHaveSize', function() { verifyPasses(function(env) { - env.expect(['a','b']).toHaveSize(2); + env.expect(['a', 'b']).toHaveSize(2); }); verifyFails(function(env) { - env.expect(['a','b']).toHaveSize(1); + env.expect(['a', 'b']).toHaveSize(1); }); }); @@ -517,14 +554,16 @@ describe('Matchers (Integration)', function() { describe('toHaveBeenCalledBefore', function() { verifyPasses(function(env) { - var a = env.createSpy('a'), b = env.createSpy('b'); + var a = env.createSpy('a'), + b = env.createSpy('b'); a(); b(); env.expect(a).toHaveBeenCalledBefore(b); }); verifyFails(function(env) { - var a = env.createSpy('a'), b = env.createSpy('b'); + var a = env.createSpy('a'), + b = env.createSpy('b'); b(); a(); env.expect(a).toHaveBeenCalledBefore(b); @@ -567,7 +606,8 @@ describe('Matchers (Integration)', function() { var spy = env.createSpy('foo'); env.expect(spy).toHaveBeenCalledWith('x'); }, - expectedMessage: 'Expected spy foo to have been called with:\n' + + expectedMessage: + 'Expected spy foo to have been called with:\n' + ' |x|\n' + 'but it was never called.' }); @@ -622,7 +662,11 @@ describe('Matchers (Integration)', function() { env.addCustomEqualityTester(function(a, b) { return a.toString() === b.toString(); }); - env.expect(function() { throw '5'; }).toThrow(5); + env + .expect(function() { + throw '5'; + }) + .toThrow(5); }); verifyFails(function(env) { @@ -635,9 +679,11 @@ describe('Matchers (Integration)', function() { }, expectations: function(env) { var spy = env.createSpy('foo'); - env.expect(function() { - throw 'x' - }).not.toThrow(); + env + .expect(function() { + throw 'x'; + }) + .not.toThrow(); }, expectedMessage: 'Expected function not to throw, but it threw |x|.' }); @@ -645,11 +691,15 @@ describe('Matchers (Integration)', function() { describe('toThrowError', function() { verifyPasses(function(env) { - env.expect(function() { throw new Error(); }).toThrowError(); + env + .expect(function() { + throw new Error(); + }) + .toThrowError(); }); verifyFails(function(env) { - env.expect(function() { }).toThrowError(); + env.expect(function() {}).toThrowError(); }); verifyFailsWithCustomObjectFormatters({ @@ -658,9 +708,11 @@ describe('Matchers (Integration)', function() { }, expectations: function(env) { var spy = env.createSpy('foo'); - env.expect(function() { - throw 'x' - }).toThrowError(); + env + .expect(function() { + throw 'x'; + }) + .toThrowError(); }, expectedMessage: 'Expected function to throw an Error, but it threw |x|.' }); @@ -672,11 +724,15 @@ describe('Matchers (Integration)', function() { } verifyPasses(function(env) { - env.expect(throws).toThrowMatching(function() { return true; }); + env.expect(throws).toThrowMatching(function() { + return true; + }); }); verifyFails(function(env) { - env.expect(throws).toThrowMatching(function() { return false; }); + env.expect(throws).toThrowMatching(function() { + return false; + }); }); verifyFailsWithCustomObjectFormatters({ @@ -685,13 +741,16 @@ describe('Matchers (Integration)', function() { }, expectations: function(env) { var spy = env.createSpy('foo'); - env.expect(function() { - throw new Error('nope') - }).toThrowMatching(function() { - return false; - }); + env + .expect(function() { + throw new Error('nope'); + }) + .toThrowMatching(function() { + return false; + }); }, - expectedMessage: 'Expected function to throw an exception matching ' + + expectedMessage: + 'Expected function to throw an exception matching ' + 'a predicate, but it threw Error with message |nope|.' }); }); diff --git a/spec/core/integration/SpecRunningSpec.js b/spec/core/integration/SpecRunningSpec.js index 33459d02..d6e26104 100644 --- a/spec/core/integration/SpecRunningSpec.js +++ b/spec/core/integration/SpecRunningSpec.js @@ -1,10 +1,10 @@ -describe("spec running", function () { +describe('spec running', function() { var env; beforeEach(function() { jasmine.getEnv().registerIntegrationMatchers(); env = new jasmineUnderTest.Env(); - env.configure({random: false}); + env.configure({ random: false }); }); afterEach(function() { @@ -14,18 +14,13 @@ describe("spec running", function () { it('should assign spec ids sequentially', function() { var it0, it1, it2, it3, it4; env.describe('test suite', function() { - it0 = env.it('spec 0', function() { - }); - it1 = env.it('spec 1', function() { - }); - it2 = env.xit('spec 2', function() { - }); - it3 = env.it('spec 3', function() { - }); + it0 = env.it('spec 0', function() {}); + it1 = env.it('spec 1', function() {}); + it2 = env.xit('spec 2', function() {}); + it3 = env.it('spec 3', function() {}); }); env.describe('test suite 2', function() { - it4 = env.it('spec 4', function() { - }); + it4 = env.it('spec 4', function() {}); }); expect(it0.id).toEqual('spec0'); @@ -35,29 +30,28 @@ describe("spec running", function () { expect(it4.id).toEqual('spec4'); }); - it('nested suites', function (done) { - + it('nested suites', function(done) { var foo = 0; var bar = 0; var baz = 0; var quux = 0; - var nested = env.describe('suite', function () { - env.describe('nested', function () { - env.it('should run nested suites', function () { + var nested = env.describe('suite', function() { + env.describe('nested', function() { + env.it('should run nested suites', function() { foo++; }); - env.it('should run nested suites', function () { + env.it('should run nested suites', function() { bar++; }); }); - env.describe('nested 2', function () { - env.it('should run suites following nested suites', function () { + env.describe('nested 2', function() { + env.it('should run suites following nested suites', function() { baz++; }); }); - env.it('should run tests following nested suites', function () { + env.it('should run tests following nested suites', function() { quux++; }); }); @@ -76,14 +70,14 @@ describe("spec running", function () { }); }); - it("should permit nested describes", function(done) { + it('should permit nested describes', function(done) { var actions = []; - env.beforeEach(function () { + env.beforeEach(function() { actions.push('topSuite beforeEach'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('topSuite afterEach'); }); @@ -135,40 +129,40 @@ describe("spec running", function () { env.execute(null, function() { var expected = [ - "topSuite beforeEach", - "outer beforeEach", - "outer it 1", - "outer afterEach", - "topSuite afterEach", + 'topSuite beforeEach', + 'outer beforeEach', + 'outer it 1', + 'outer afterEach', + 'topSuite afterEach', - "topSuite beforeEach", - "outer beforeEach", - "inner 1 beforeEach", - "inner 1 it", - "inner 1 afterEach", - "outer afterEach", - "topSuite afterEach", + 'topSuite beforeEach', + 'outer beforeEach', + 'inner 1 beforeEach', + 'inner 1 it', + 'inner 1 afterEach', + 'outer afterEach', + 'topSuite afterEach', - "topSuite beforeEach", - "outer beforeEach", - "outer it 2", - "outer afterEach", - "topSuite afterEach", + 'topSuite beforeEach', + 'outer beforeEach', + 'outer it 2', + 'outer afterEach', + 'topSuite afterEach', - "topSuite beforeEach", - "outer beforeEach", - "inner 2 beforeEach", - "inner 2 it", - "inner 2 afterEach", - "outer afterEach", - "topSuite afterEach" + 'topSuite beforeEach', + 'outer beforeEach', + 'inner 2 beforeEach', + 'inner 2 it', + 'inner 2 afterEach', + 'outer afterEach', + 'topSuite afterEach' ]; expect(actions).toEqual(expected); done(); }); }); - it("should run multiple befores and afters ordered so functions declared later are treated as more specific", function(done) { + it('should run multiple befores and afters ordered so functions declared later are treated as more specific', function(done) { var actions = []; env.beforeAll(function() { @@ -187,19 +181,19 @@ describe("spec running", function () { actions.push('runner afterAll2'); }); - env.beforeEach(function () { + env.beforeEach(function() { actions.push('runner beforeEach1'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('runner afterEach1'); }); - env.beforeEach(function () { + env.beforeEach(function() { actions.push('runner beforeEach2'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('runner afterEach2'); }); @@ -227,19 +221,19 @@ describe("spec running", function () { env.execute(null, function() { var expected = [ - "runner beforeAll1", - "runner beforeAll2", - "runner beforeEach1", - "runner beforeEach2", - "beforeEach1", - "beforeEach2", - "outer it 1", - "afterEach2", - "afterEach1", - "runner afterEach2", - "runner afterEach1", - "runner afterAll2", - "runner afterAll1" + 'runner beforeAll1', + 'runner beforeAll2', + 'runner beforeEach1', + 'runner beforeEach2', + 'beforeEach1', + 'beforeEach2', + 'outer it 1', + 'afterEach2', + 'afterEach1', + 'runner afterEach2', + 'runner afterEach1', + 'runner afterAll2', + 'runner afterAll1' ]; expect(actions).toEqual(expected); done(); @@ -257,11 +251,11 @@ describe("spec running", function () { actions.push('runner afterAll'); }); - env.beforeEach(function () { + env.beforeEach(function() { actions.push('runner beforeEach'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('runner afterEach'); }); @@ -289,15 +283,15 @@ describe("spec running", function () { env.execute(null, function() { var expected = [ - "runner beforeAll", - "inner beforeAll", - "runner beforeEach", - "inner beforeEach", - "it", - "inner afterEach", - "runner afterEach", - "inner afterAll", - "runner afterAll" + 'runner beforeAll', + 'inner beforeAll', + 'runner beforeEach', + 'inner beforeEach', + 'it', + 'inner afterEach', + 'runner afterEach', + 'inner afterAll', + 'runner afterAll' ]; expect(actions).toEqual(expected); done(); @@ -317,11 +311,11 @@ describe("spec running", function () { actions.push('runner afterAll'); }); - env.beforeEach(function () { + env.beforeEach(function() { actions.push('runner beforeEach'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('runner afterEach'); }); @@ -353,38 +347,38 @@ describe("spec running", function () { env.execute([spec2.id, spec.id], function() { var expected = [ - "runner beforeAll", - "inner beforeAll", - "runner beforeEach", - "inner beforeEach", - "it2", - "inner afterEach", - "runner afterEach", + 'runner beforeAll', + 'inner beforeAll', + 'runner beforeEach', + 'inner beforeEach', + 'it2', + 'inner afterEach', + 'runner afterEach', - "runner beforeEach", - "inner beforeEach", - "it", - "inner afterEach", - "runner afterEach", - "inner afterAll", - "runner afterAll" + 'runner beforeEach', + 'inner beforeEach', + 'it', + 'inner afterEach', + 'runner afterEach', + 'inner afterAll', + 'runner afterAll' ]; expect(actions).toEqual(expected); done(); }); }); - it('only runs *Alls once in a focused suite', function(done){ + it('only runs *Alls once in a focused suite', function(done) { var actions = []; env.fdescribe('Suite', function() { - env.beforeAll(function(){ + env.beforeAll(function() { actions.push('beforeAll'); }); env.it('should run beforeAll once', function() { actions.push('spec'); }); - env.afterAll(function(){ + env.afterAll(function() { actions.push('afterAll'); }); }); @@ -398,20 +392,28 @@ describe("spec running", function () { describe('focused runnables', function() { it('runs the relevant alls and eachs for each runnable', function(done) { var actions = []; - env.beforeAll(function() {actions.push('beforeAll')}); - env.afterAll(function() {actions.push('afterAll')}); - env.beforeEach(function() {actions.push('beforeEach')}); - env.afterEach(function() {actions.push('afterEach')}); + env.beforeAll(function() { + actions.push('beforeAll'); + }); + env.afterAll(function() { + actions.push('afterAll'); + }); + env.beforeEach(function() { + actions.push('beforeEach'); + }); + env.afterEach(function() { + actions.push('afterEach'); + }); env.fdescribe('a focused suite', function() { env.it('is run', function() { - actions.push('spec in fdescribe') + actions.push('spec in fdescribe'); }); }); env.describe('an unfocused suite', function() { env.fit('has a focused spec', function() { - actions.push('focused spec') + actions.push('focused spec'); }); }); @@ -432,15 +434,15 @@ describe("spec running", function () { }); }); - it('focused specs in focused suites cause non-focused siblings to not run', function(done){ + it('focused specs in focused suites cause non-focused siblings to not run', function(done) { var actions = []; env.fdescribe('focused suite', function() { env.it('unfocused spec', function() { - actions.push('unfocused spec') + actions.push('unfocused spec'); }); env.fit('focused spec', function() { - actions.push('focused spec') + actions.push('focused spec'); }); }); @@ -451,12 +453,12 @@ describe("spec running", function () { }); }); - it('focused suites in focused suites cause non-focused siblings to not run', function(done){ + it('focused suites in focused suites cause non-focused siblings to not run', function(done) { var actions = []; env.fdescribe('focused suite', function() { env.it('unfocused spec', function() { - actions.push('unfocused spec') + actions.push('unfocused spec'); }); env.fdescribe('inner focused suite', function() { env.it('inner spec', function() { @@ -477,7 +479,7 @@ describe("spec running", function () { env.fdescribe('focused suite', function() { env.it('unfocused spec', function() { - actions.push('unfocused spec') + actions.push('unfocused spec'); }); env.describe('inner focused suite', function() { env.fit('focused spec', function() { @@ -495,12 +497,12 @@ describe("spec running", function () { }); it("shouldn't run disabled suites", function(done) { - var specInADisabledSuite = jasmine.createSpy("specInADisabledSuite"), - suite = env.describe('A Suite', function() { - env.xdescribe('with a disabled suite', function(){ - env.it('spec inside a disabled suite', specInADisabledSuite); + var specInADisabledSuite = jasmine.createSpy('specInADisabledSuite'), + suite = env.describe('A Suite', function() { + env.xdescribe('with a disabled suite', function() { + env.it('spec inside a disabled suite', specInADisabledSuite); + }); }); - }); env.execute(null, function() { expect(specInADisabledSuite).not.toHaveBeenCalled(); @@ -509,16 +511,16 @@ describe("spec running", function () { }); it("shouldn't run before/after functions in disabled suites", function(done) { - var shouldNotRun = jasmine.createSpy("shouldNotRun"), - suite = env.xdescribe('A disabled Suite', function() { - // None of the before/after functions should run. - env.beforeAll(shouldNotRun); - env.beforeEach(shouldNotRun); - env.afterEach(shouldNotRun); - env.afterAll(shouldNotRun); + var shouldNotRun = jasmine.createSpy('shouldNotRun'), + suite = env.xdescribe('A disabled Suite', function() { + // None of the before/after functions should run. + env.beforeAll(shouldNotRun); + env.beforeEach(shouldNotRun); + env.afterEach(shouldNotRun); + env.afterAll(shouldNotRun); - env.it('spec inside a disabled suite', shouldNotRun); - }); + env.it('spec inside a disabled suite', shouldNotRun); + }); env.execute(null, function() { expect(shouldNotRun).not.toHaveBeenCalled(); @@ -526,9 +528,9 @@ describe("spec running", function () { }); }); - it("should allow top level suites to be disabled", function(done) { - var specInADisabledSuite = jasmine.createSpy("specInADisabledSuite"), - otherSpec = jasmine.createSpy("otherSpec"); + it('should allow top level suites to be disabled', function(done) { + var specInADisabledSuite = jasmine.createSpy('specInADisabledSuite'), + otherSpec = jasmine.createSpy('otherSpec'); env.xdescribe('A disabled suite', function() { env.it('spec inside a disabled suite', specInADisabledSuite); @@ -544,19 +546,19 @@ describe("spec running", function () { }); }); - it("should set all pending specs to pending when a suite is run", function(done) { + it('should set all pending specs to pending when a suite is run', function(done) { var pendingSpec, suite = env.describe('default current suite', function() { - pendingSpec = env.it("I am a pending spec"); + pendingSpec = env.it('I am a pending spec'); }); env.execute(null, function() { - expect(pendingSpec.status()).toBe("pending"); + expect(pendingSpec.status()).toBe('pending'); done(); }); }); - it("should recover gracefully when there are errors in describe functions", function(done) { + it('should recover gracefully when there are errors in describe functions', function(done) { var specs = [], reporter = jasmine.createSpyObj(['specDone', 'suiteDone']); @@ -565,83 +567,95 @@ describe("spec running", function () { }); expect(function() { - env.describe("outer1", function() { - env.describe("inner1", function() { - env.it("should thingy", function() { + env.describe('outer1', function() { + env.describe('inner1', function() { + env.it('should thingy', function() { this.expect(true).toEqual(true); }); - throw new Error("inner error"); + throw new Error('inner error'); }); - env.describe("inner2", function() { - env.it("should other thingy", function() { + env.describe('inner2', function() { + env.it('should other thingy', function() { this.expect(true).toEqual(true); }); }); - throw new Error("outer error"); - + throw new Error('outer error'); }); }).not.toThrow(); - env.describe("outer2", function() { - env.it("should xxx", function() { + env.describe('outer2', function() { + env.it('should xxx', function() { this.expect(true).toEqual(true); }); }); env.addReporter(reporter); env.execute(null, function() { - expect(specs).toEqual(['outer1 inner1 should thingy', 'outer1 inner2 should other thingy', 'outer2 should xxx']); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('outer1 inner1', [/inner error/]); - expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('outer1', [/outer error/]); + expect(specs).toEqual([ + 'outer1 inner1 should thingy', + 'outer1 inner2 should other thingy', + 'outer2 should xxx' + ]); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable( + 'outer1 inner1', + [/inner error/] + ); + expect(reporter.suiteDone).toHaveFailedExpectationsForRunnable('outer1', [ + /outer error/ + ]); done(); }); }); - it("re-enters suites that have no *Alls", function(done) { + it('re-enters suites that have no *Alls', function(done) { var actions = [], - spec1, spec2, spec3; + spec1, + spec2, + spec3; - env.describe("top", function() { - spec1 = env.it("spec1", function() { - actions.push("spec1"); + env.describe('top', function() { + spec1 = env.it('spec1', function() { + actions.push('spec1'); }); - spec2 = env.it("spec2", function() { - actions.push("spec2"); + spec2 = env.it('spec2', function() { + actions.push('spec2'); }); }); - spec3 = env.it("spec3", function() { - actions.push("spec3"); + spec3 = env.it('spec3', function() { + actions.push('spec3'); }); env.execute([spec2.id, spec3.id, spec1.id], function() { - expect(actions).toEqual(["spec2", "spec3", "spec1"]); + expect(actions).toEqual(['spec2', 'spec3', 'spec1']); done(); }); }); - it("refuses to re-enter suites with a beforeAll", function() { + it('refuses to re-enter suites with a beforeAll', function() { var actions = [], - spec1, spec2, spec3; + spec1, + spec2, + spec3; - env.describe("top", function() { + env.describe('top', function() { env.beforeAll(function() {}); - spec1 = env.it("spec1", function() { - actions.push("spec1"); + spec1 = env.it('spec1', function() { + actions.push('spec1'); }); - spec2 = env.it("spec2", function() { - actions.push("spec2"); + spec2 = env.it('spec2', function() { + actions.push('spec2'); }); }); - spec3 = env.it("spec3", function() { - actions.push("spec3"); + spec3 = env.it('spec3', function() { + actions.push('spec3'); }); expect(function() { @@ -650,24 +664,26 @@ describe("spec running", function () { expect(actions).toEqual([]); }); - it("refuses to re-enter suites with a afterAll", function() { + it('refuses to re-enter suites with a afterAll', function() { var actions = [], - spec1, spec2, spec3; + spec1, + spec2, + spec3; - env.describe("top", function() { + env.describe('top', function() { env.afterAll(function() {}); - spec1 = env.it("spec1", function() { - actions.push("spec1"); + spec1 = env.it('spec1', function() { + actions.push('spec1'); }); - spec2 = env.it("spec2", function() { - actions.push("spec2"); + spec2 = env.it('spec2', function() { + actions.push('spec2'); }); }); - spec3 = env.it("spec3", function() { - actions.push("spec3"); + spec3 = env.it('spec3', function() { + actions.push('spec3'); }); expect(function() { @@ -676,15 +692,15 @@ describe("spec running", function () { expect(actions).toEqual([]); }); - it("should run the tests in a consistent order when a seed is supplied", function(done) { + it('should run the tests in a consistent order when a seed is supplied', function(done) { var actions = []; - env.configure({random: true, seed: '123456'}); + env.configure({ random: true, seed: '123456' }); - env.beforeEach(function () { + env.beforeEach(function() { actions.push('topSuite beforeEach'); }); - env.afterEach(function () { + env.afterEach(function() { actions.push('topSuite afterEach'); }); @@ -769,14 +785,14 @@ describe("spec running", function () { }); }); - describe("When throwOnExpectationFailure is set", function() { - it("skips to cleanup functions after an error", function(done) { + describe('When throwOnExpectationFailure is set', function() { + it('skips to cleanup functions after an error', function(done) { var actions = []; env.describe('Something', function() { env.beforeEach(function() { actions.push('outer beforeEach'); - throw new Error("error"); + throw new Error('error'); }); env.afterEach(function() { @@ -792,13 +808,13 @@ describe("spec running", function () { actions.push('inner afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('inner it'); }); }); }); - env.configure({oneFailurePerSpec: true}); + env.configure({ oneFailurePerSpec: true }); env.execute(null, function() { expect(actions).toEqual([ @@ -810,7 +826,7 @@ describe("spec running", function () { }); }); - it("skips to cleanup functions after done.fail is called", function(done) { + it('skips to cleanup functions after done.fail is called', function(done) { var actions = []; env.describe('Something', function() { @@ -824,23 +840,20 @@ describe("spec running", function () { actions.push('afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('it'); }); }); - env.configure({oneFailurePerSpec: true}); + env.configure({ oneFailurePerSpec: true }); env.execute(null, function() { - expect(actions).toEqual([ - 'beforeEach', - 'afterEach' - ]); + expect(actions).toEqual(['beforeEach', 'afterEach']); done(); }); }); - it("skips to cleanup functions when an async function times out", function(done) { + it('skips to cleanup functions when an async function times out', function(done) { var actions = []; env.describe('Something', function() { @@ -852,23 +865,20 @@ describe("spec running", function () { actions.push('afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('it'); }); }); - env.configure({oneFailurePerSpec: true}); + env.configure({ oneFailurePerSpec: true }); env.execute(null, function() { - expect(actions).toEqual([ - 'beforeEach', - 'afterEach' - ]); + expect(actions).toEqual(['beforeEach', 'afterEach']); done(); }); }); - it("skips to cleanup functions after an error with deprecations", function(done) { + it('skips to cleanup functions after an error with deprecations', function(done) { var actions = []; spyOn(env, 'deprecated'); @@ -876,7 +886,7 @@ describe("spec running", function () { env.describe('Something', function() { env.beforeEach(function() { actions.push('outer beforeEach'); - throw new Error("error"); + throw new Error('error'); }); env.afterEach(function() { @@ -892,7 +902,7 @@ describe("spec running", function () { actions.push('inner afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('inner it'); }); }); @@ -911,7 +921,7 @@ describe("spec running", function () { }); }); - it("skips to cleanup functions after done.fail is called with deprecations", function(done) { + it('skips to cleanup functions after done.fail is called with deprecations', function(done) { var actions = []; spyOn(env, 'deprecated'); @@ -927,7 +937,7 @@ describe("spec running", function () { actions.push('afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('it'); }); }); @@ -935,16 +945,13 @@ describe("spec running", function () { env.throwOnExpectationFailure(true); env.execute(null, function() { - expect(actions).toEqual([ - 'beforeEach', - 'afterEach' - ]); + expect(actions).toEqual(['beforeEach', 'afterEach']); expect(env.deprecated).toHaveBeenCalled(); done(); }); }); - it("skips to cleanup functions when an async function times out with deprecations", function(done) { + it('skips to cleanup functions when an async function times out with deprecations', function(done) { var actions = []; spyOn(env, 'deprecated'); @@ -958,7 +965,7 @@ describe("spec running", function () { actions.push('afterEach'); }); - env.it('does it' , function() { + env.it('does it', function() { actions.push('it'); }); }); @@ -966,18 +973,15 @@ describe("spec running", function () { env.throwOnExpectationFailure(true); env.execute(null, function() { - expect(actions).toEqual([ - 'beforeEach', - 'afterEach' - ]); + expect(actions).toEqual(['beforeEach', 'afterEach']); expect(env.deprecated).toHaveBeenCalled(); done(); }); }); }); - describe("when stopOnSpecFailure is on", function() { - it("does not run further specs when one fails", function(done) { + describe('when stopOnSpecFailure is on', function() { + it('does not run further specs when one fails', function(done) { var actions = []; env.describe('wrapper', function() { @@ -993,7 +997,7 @@ describe("spec running", function () { }); }); - env.configure({random: false, failFast: true}); + env.configure({ random: false, failFast: true }); env.execute(null, function() { expect(actions).toEqual(['fails']); @@ -1001,7 +1005,7 @@ describe("spec running", function () { }); }); - it("does not run further specs when one fails when configured with deprecated option", function(done) { + it('does not run further specs when one fails when configured with deprecated option', function(done) { var actions = []; spyOn(env, 'deprecated'); @@ -1019,7 +1023,7 @@ describe("spec running", function () { }); }); - env.configure({random: false}); + env.configure({ random: false }); env.stopOnSpecFailure(true); env.execute(null, function() { diff --git a/spec/core/matchers/DiffBuilderSpec.js b/spec/core/matchers/DiffBuilderSpec.js index 01220ce0..d1a3d884 100644 --- a/spec/core/matchers/DiffBuilderSpec.js +++ b/spec/core/matchers/DiffBuilderSpec.js @@ -1,132 +1,159 @@ -describe("DiffBuilder", function () { - it("records the actual and expected objects", function () { +describe('DiffBuilder', function() { + it('records the actual and expected objects', function() { var diffBuilder = jasmineUnderTest.DiffBuilder(); - diffBuilder.setRoots({x: 'actual'}, {x: 'expected'}); + diffBuilder.setRoots({ x: 'actual' }, { x: 'expected' }); diffBuilder.recordMismatch(); - expect(diffBuilder.getMessage()).toEqual("Expected Object({ x: 'actual' }) to equal Object({ x: 'expected' })."); + expect(diffBuilder.getMessage()).toEqual( + "Expected Object({ x: 'actual' }) to equal Object({ x: 'expected' })." + ); }); - it("prints the path at which the difference was found", function () { + it('prints the path at which the difference was found', function() { var diffBuilder = jasmineUnderTest.DiffBuilder(); - diffBuilder.setRoots({foo: {x: 'actual'}}, {foo: {x: 'expected'}}); + diffBuilder.setRoots({ foo: { x: 'actual' } }, { foo: { x: 'expected' } }); - diffBuilder.withPath('foo', function () { + diffBuilder.withPath('foo', function() { diffBuilder.recordMismatch(); }); - expect(diffBuilder.getMessage()).toEqual("Expected $.foo = Object({ x: 'actual' }) to equal Object({ x: 'expected' })."); + expect(diffBuilder.getMessage()).toEqual( + "Expected $.foo = Object({ x: 'actual' }) to equal Object({ x: 'expected' })." + ); }); - it("prints multiple messages, separated by newlines", function () { + it('prints multiple messages, separated by newlines', function() { var diffBuilder = jasmineUnderTest.DiffBuilder(); - diffBuilder.setRoots({foo: 1, bar: 3}, {foo: 2, bar: 4}); + diffBuilder.setRoots({ foo: 1, bar: 3 }, { foo: 2, bar: 4 }); - diffBuilder.withPath('foo', function () { + diffBuilder.withPath('foo', function() { diffBuilder.recordMismatch(); }); - diffBuilder.withPath('bar', function () { + diffBuilder.withPath('bar', function() { diffBuilder.recordMismatch(); }); var message = - "Expected $.foo = 1 to equal 2.\n" + - "Expected $.bar = 3 to equal 4."; + 'Expected $.foo = 1 to equal 2.\n' + 'Expected $.bar = 3 to equal 4.'; expect(diffBuilder.getMessage()).toEqual(message); }); - it("allows customization of the message", function () { + it('allows customization of the message', function() { var diffBuilder = jasmineUnderTest.DiffBuilder(); - diffBuilder.setRoots({x: 'bar'}, {x: 'foo'}); + diffBuilder.setRoots({ x: 'bar' }, { x: 'foo' }); function darthVaderFormatter(actual, expected, path) { - return "I find your lack of " + expected + " disturbing. (was " + actual + ", at " + path + ")" + return ( + 'I find your lack of ' + + expected + + ' disturbing. (was ' + + actual + + ', at ' + + path + + ')' + ); } - diffBuilder.withPath('x', function () { + diffBuilder.withPath('x', function() { diffBuilder.recordMismatch(darthVaderFormatter); }); - expect(diffBuilder.getMessage()).toEqual("I find your lack of foo disturbing. (was bar, at $.x)"); + expect(diffBuilder.getMessage()).toEqual( + 'I find your lack of foo disturbing. (was bar, at $.x)' + ); }); - it("uses the injected pretty-printer", function () { - var prettyPrinter = function (val) { + it('uses the injected pretty-printer', function() { + var prettyPrinter = function(val) { return '|' + val + '|'; }, - diffBuilder = jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}); - prettyPrinter.customFormat_ = function () { - }; + diffBuilder = jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }); + prettyPrinter.customFormat_ = function() {}; - diffBuilder.setRoots({foo: 'actual'}, {foo: 'expected'}); - diffBuilder.withPath('foo', function () { + diffBuilder.setRoots({ foo: 'actual' }, { foo: 'expected' }); + diffBuilder.withPath('foo', function() { diffBuilder.recordMismatch(); }); - expect(diffBuilder.getMessage()).toEqual("Expected $.foo = |actual| to equal |expected|."); + expect(diffBuilder.getMessage()).toEqual( + 'Expected $.foo = |actual| to equal |expected|.' + ); }); - it("passes the injected pretty-printer to the diff formatter", function () { + it('passes the injected pretty-printer to the diff formatter', function() { var diffFormatter = jasmine.createSpy('diffFormatter'), - prettyPrinter = function () { - }, - diffBuilder = jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}); - prettyPrinter.customFormat_ = function () { - }; + prettyPrinter = function() {}, + diffBuilder = jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }); + prettyPrinter.customFormat_ = function() {}; - diffBuilder.setRoots({x: 'bar'}, {x: 'foo'}); - diffBuilder.withPath('x', function () { + diffBuilder.setRoots({ x: 'bar' }, { x: 'foo' }); + diffBuilder.withPath('x', function() { diffBuilder.recordMismatch(diffFormatter); }); diffBuilder.getMessage(); - expect(diffFormatter).toHaveBeenCalledWith('bar', 'foo', jasmine.anything(), prettyPrinter); + expect(diffFormatter).toHaveBeenCalledWith( + 'bar', + 'foo', + jasmine.anything(), + prettyPrinter + ); }); - it("uses custom object formatters on leaf nodes", function() { + it('uses custom object formatters on leaf nodes', function() { var formatter = function(x) { if (typeof x === 'number') { return '[number:' + x + ']'; } }; prettyPrinter = jasmineUnderTest.makePrettyPrinter([formatter]); - var diffBuilder = new jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}); + var diffBuilder = new jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }); diffBuilder.setRoots(5, 4); diffBuilder.recordMismatch(); - expect(diffBuilder.getMessage()).toEqual('Expected [number:5] to equal [number:4].'); + expect(diffBuilder.getMessage()).toEqual( + 'Expected [number:5] to equal [number:4].' + ); }); - - it("uses custom object formatters on non leaf nodes", function () { - var formatter = function (x) { + it('uses custom object formatters on non leaf nodes', function() { + var formatter = function(x) { if (x.hasOwnProperty('a')) { return '[thing with a=' + x.a + ', b=' + JSON.stringify(x.b) + ']'; } }; prettyPrinter = jasmineUnderTest.makePrettyPrinter([formatter]); - var diffBuilder = new jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}); - var expectedMsg = 'Expected $[0].foo = [thing with a=1, b={"x":42}] to equal [thing with a=1, b={"x":43}].\n' + + var diffBuilder = new jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }); + var expectedMsg = + 'Expected $[0].foo = [thing with a=1, b={"x":42}] to equal [thing with a=1, b={"x":43}].\n' + "Expected $[0].bar = 'yes' to equal 'no'."; diffBuilder.setRoots( - [{foo: {a: 1, b: {x: 42}}, bar: 'yes'}], - [{foo: {a: 1, b: {x: 43}}, bar: 'no'}] + [{ foo: { a: 1, b: { x: 42 } }, bar: 'yes' }], + [{ foo: { a: 1, b: { x: 43 } }, bar: 'no' }] ); - diffBuilder.withPath(0, function () { - diffBuilder.withPath('foo', function () { - diffBuilder.withPath('b', function () { - diffBuilder.withPath('x', function () { + diffBuilder.withPath(0, function() { + diffBuilder.withPath('foo', function() { + diffBuilder.withPath('b', function() { + diffBuilder.withPath('x', function() { diffBuilder.recordMismatch(); }); }); }); - diffBuilder.withPath('bar', function () { + diffBuilder.withPath('bar', function() { diffBuilder.recordMismatch(); }); }); @@ -136,14 +163,16 @@ describe("DiffBuilder", function () { it('builds diffs involving asymmetric equality testers that implement valuesForDiff_ at the root', function() { var prettyPrinter = jasmineUnderTest.makePrettyPrinter([]), - diffBuilder = new jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}), - expectedMsg = 'Expected $.foo = 1 to equal 2.\n' + - "Expected $.baz = undefined to equal 3."; - + diffBuilder = new jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }), + expectedMsg = + 'Expected $.foo = 1 to equal 2.\n' + + 'Expected $.baz = undefined to equal 3.'; diffBuilder.setRoots( - {foo: 1, bar: 2}, - jasmine.objectContaining({foo: 2, baz: 3}) + { foo: 1, bar: 2 }, + jasmine.objectContaining({ foo: 2, baz: 3 }) ); diffBuilder.withPath('foo', function() { @@ -158,21 +187,23 @@ describe("DiffBuilder", function () { it('builds diffs involving asymmetric equality testers that implement valuesForDiff_ below the root', function() { var prettyPrinter = jasmineUnderTest.makePrettyPrinter([]), - diffBuilder = new jasmineUnderTest.DiffBuilder({prettyPrinter: prettyPrinter}), - expectedMsg = 'Expected $.x.foo = 1 to equal 2.\n' + - "Expected $.x.baz = undefined to equal 3."; - + diffBuilder = new jasmineUnderTest.DiffBuilder({ + prettyPrinter: prettyPrinter + }), + expectedMsg = + 'Expected $.x.foo = 1 to equal 2.\n' + + 'Expected $.x.baz = undefined to equal 3.'; diffBuilder.setRoots( - {x: {foo: 1, bar: 2}}, - {x: jasmine.objectContaining({foo: 2, baz: 3})} + { x: { foo: 1, bar: 2 } }, + { x: jasmine.objectContaining({ foo: 2, baz: 3 }) } ); diffBuilder.withPath('x', function() { - diffBuilder.withPath('foo', function () { + diffBuilder.withPath('foo', function() { diffBuilder.recordMismatch(); }); - diffBuilder.withPath('baz', function () { + diffBuilder.withPath('baz', function() { diffBuilder.recordMismatch(); }); }); diff --git a/spec/core/matchers/MismatchTreeSpec.js b/spec/core/matchers/MismatchTreeSpec.js index ea053eb7..8a158df4 100644 --- a/spec/core/matchers/MismatchTreeSpec.js +++ b/spec/core/matchers/MismatchTreeSpec.js @@ -1,15 +1,15 @@ -describe('MismatchTree', function () { - describe('#add', function () { - describe('When the path is empty', function () { - it('flags the root node as mismatched', function () { +describe('MismatchTree', function() { + describe('#add', function() { + describe('When the path is empty', function() { + it('flags the root node as mismatched', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath([])); expect(tree.isMismatch).toBe(true); }); }); - describe('When the path is not empty', function () { - it('flags the node as mismatched', function () { + describe('When the path is not empty', function() { + it('flags the node as mismatched', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b'])); @@ -17,7 +17,7 @@ describe('MismatchTree', function () { expect(tree.child('a').child('b').isMismatch).toBe(true); }); - it('does not flag ancestors as mismatched', function () { + it('does not flag ancestors as mismatched', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b'])); @@ -27,7 +27,7 @@ describe('MismatchTree', function () { }); }); - it('stores the formatter on only the target node', function () { + it('stores the formatter on only the target node', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b']), formatter); @@ -37,7 +37,7 @@ describe('MismatchTree', function () { expect(tree.child('a').child('b').formatter).toBe(formatter); }); - it('stores the path to the node', function () { + it('stores the path to the node', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b']), formatter); @@ -46,8 +46,8 @@ describe('MismatchTree', function () { }); }); - describe('#traverse', function () { - it('calls the callback for all nodes that are or contain mismatches', function () { + describe('#traverse', function() { + it('calls the callback for all nodes that are or contain mismatches', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b']), formatter); tree.add(new jasmineUnderTest.ObjectPath(['c'])); @@ -56,20 +56,28 @@ describe('MismatchTree', function () { tree.traverse(visit); expect(visit).toHaveBeenCalledWith( - new jasmineUnderTest.ObjectPath([]), false, undefined + new jasmineUnderTest.ObjectPath([]), + false, + undefined ); expect(visit).toHaveBeenCalledWith( - new jasmineUnderTest.ObjectPath(['a']), false, undefined + new jasmineUnderTest.ObjectPath(['a']), + false, + undefined ); expect(visit).toHaveBeenCalledWith( - new jasmineUnderTest.ObjectPath(['a', 'b']), true, formatter + new jasmineUnderTest.ObjectPath(['a', 'b']), + true, + formatter ); expect(visit).toHaveBeenCalledWith( - new jasmineUnderTest.ObjectPath(['c']), true, undefined + new jasmineUnderTest.ObjectPath(['c']), + true, + undefined ); }); - it('does not call the callback if there are no mismatches', function () { + it('does not call the callback if there are no mismatches', function() { var tree = new jasmineUnderTest.MismatchTree(); var visit = jasmine.createSpy('visit'); @@ -78,12 +86,12 @@ describe('MismatchTree', function () { expect(visit).not.toHaveBeenCalled(); }); - it('visits parents before children', function () { + it('visits parents before children', function() { var tree = new jasmineUnderTest.MismatchTree(); tree.add(new jasmineUnderTest.ObjectPath(['a', 'b'])); var visited = []; - tree.traverse(function (path) { + tree.traverse(function(path) { visited.push(path); return true; }); @@ -101,7 +109,7 @@ describe('MismatchTree', function () { tree.add(new jasmineUnderTest.ObjectPath([1])); var visited = []; - tree.traverse(function (path) { + tree.traverse(function(path) { visited.push(path); return true; }); @@ -118,7 +126,7 @@ describe('MismatchTree', function () { tree.add(new jasmineUnderTest.ObjectPath(['a', 'b'])); var visited = []; - tree.traverse(function (path) { + tree.traverse(function(path) { visited.push(path); return path.depth() === 0; }); @@ -130,7 +138,5 @@ describe('MismatchTree', function () { }); }); - function formatter() { - } - + function formatter() {} }); diff --git a/spec/core/matchers/NullDiffBuilderSpec.js b/spec/core/matchers/NullDiffBuilderSpec.js index 3333776b..fa9ed299 100644 --- a/spec/core/matchers/NullDiffBuilderSpec.js +++ b/spec/core/matchers/NullDiffBuilderSpec.js @@ -1,8 +1,7 @@ -describe('NullDiffBuilder', function () { - it('responds to withPath() by calling the passed function', function () { +describe('NullDiffBuilder', function() { + it('responds to withPath() by calling the passed function', function() { var spy = jasmine.createSpy('callback'); jasmineUnderTest.NullDiffBuilder().withPath('does not matter', spy); expect(spy).toHaveBeenCalled(); }); - }); diff --git a/spec/core/matchers/async/toBePendingSpec.js b/spec/core/matchers/async/toBePendingSpec.js index 285414f1..0b78d8cd 100644 --- a/spec/core/matchers/async/toBePendingSpec.js +++ b/spec/core/matchers/async/toBePendingSpec.js @@ -8,7 +8,7 @@ describe('toBePending', function() { actual = new Promise(function() {}); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); @@ -20,7 +20,7 @@ describe('toBePending', function() { actual = Promise.resolve(); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: false})); + expect(result).toEqual(jasmine.objectContaining({ pass: false })); }); }); @@ -32,21 +32,19 @@ describe('toBePending', function() { actual = Promise.reject(new Error('promise was rejected')); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: false})); + expect(result).toEqual(jasmine.objectContaining({ pass: false })); }); }); it('fails if actual is not a promise', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(), - matcher = jasmineUnderTest.asyncMatchers.toBePending(matchersUtil), - actual = 'not a promise'; + matcher = jasmineUnderTest.asyncMatchers.toBePending(matchersUtil), + actual = 'not a promise'; function f() { return matcher.compare(actual); } - expect(f).toThrowError( - 'Expected toBePending to be called on a promise.' - ); + expect(f).toThrowError('Expected toBePending to be called on a promise.'); }); }); diff --git a/spec/core/matchers/async/toBeRejectedSpec.js b/spec/core/matchers/async/toBeRejectedSpec.js index 6ecf9ebc..c1ea377b 100644 --- a/spec/core/matchers/async/toBeRejectedSpec.js +++ b/spec/core/matchers/async/toBeRejectedSpec.js @@ -8,7 +8,7 @@ describe('toBeRejected', function() { actual = Promise.reject('AsyncExpectationSpec rejection'); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); @@ -20,7 +20,7 @@ describe('toBeRejected', function() { actual = Promise.resolve(); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: false})); + expect(result).toEqual(jasmine.objectContaining({ pass: false })); }); }); @@ -33,8 +33,6 @@ describe('toBeRejected', function() { return matcher.compare(actual); } - expect(f).toThrowError( - 'Expected toBeRejected to be called on a promise.' - ); + expect(f).toThrowError('Expected toBeRejected to be called on a promise.'); }); }); diff --git a/spec/core/matchers/async/toBeRejectedWithErrorSpec.js b/spec/core/matchers/async/toBeRejectedWithErrorSpec.js index d09a05fd..d7d3f659 100644 --- a/spec/core/matchers/async/toBeRejectedWithErrorSpec.js +++ b/spec/core/matchers/async/toBeRejectedWithErrorSpec.js @@ -1,174 +1,253 @@ /* eslint-disable compat/compat */ -describe('#toBeRejectedWithError', function () { - it('passes when Error type matches', function () { +describe('#toBeRejectedWithError', function() { + it('passes when Error type matches', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new TypeError('foo')); - return matcher.compare(actual, TypeError).then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with TypeError, but it was.' - })); + return matcher.compare(actual, TypeError).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + 'Expected a promise not to be rejected with TypeError, but it was.' + }) + ); }); }); - it('passes when Error type and message matches', function () { + it('passes when Error type and message matches', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new TypeError('foo')); - return matcher.compare(actual, TypeError, 'foo').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with TypeError: \'foo\', but it was.' - })); + return matcher.compare(actual, TypeError, 'foo').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + "Expected a promise not to be rejected with TypeError: 'foo', but it was." + }) + ); }); }); it('passes when Error matches and is exactly Error', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error()); - return matcher.compare(actual, Error).then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with Error, but it was.' - })); + return matcher.compare(actual, Error).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + 'Expected a promise not to be rejected with Error, but it was.' + }) + ); }); - }); - it('passes when Error message matches a string', function () { + it('passes when Error message matches a string', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error('foo')); - return matcher.compare(actual, 'foo').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with Error: \'foo\', but it was.' - })); + return matcher.compare(actual, 'foo').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + "Expected a promise not to be rejected with Error: 'foo', but it was." + }) + ); }); }); - it('passes when Error message matches a RegExp', function () { + it('passes when Error message matches a RegExp', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error('foo')); - return matcher.compare(actual, /foo/).then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with Error: /foo/, but it was.' - })); + return matcher.compare(actual, /foo/).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + 'Expected a promise not to be rejected with Error: /foo/, but it was.' + }) + ); }); }); - it('passes when Error message is empty', function () { + it('passes when Error message is empty', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error()); - return matcher.compare(actual, '').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with Error: \'\', but it was.' - })); + return matcher.compare(actual, '').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + "Expected a promise not to be rejected with Error: '', but it was." + }) + ); }); }); - it('passes when no arguments', function () { + it('passes when no arguments', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error()); - return matcher.compare(actual, void 0).then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with Error, but it was.' - })); + return matcher.compare(actual, void 0).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: + 'Expected a promise not to be rejected with Error, but it was.' + }) + ); }); }); - it('fails when resolved', function () { + it('fails when resolved', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.resolve(new Error('foo')); - return matcher.compare(actual, 'foo').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: 'Expected a promise to be rejected but it was resolved.' - })); + return matcher.compare(actual, 'foo').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: 'Expected a promise to be rejected but it was resolved.' + }) + ); }); }); - it('fails when rejected with non Error type', function () { + it('fails when rejected with non Error type', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject('foo'); - return matcher.compare(actual, 'foo').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: 'Expected a promise to be rejected with Error: \'foo\' but it was rejected with \'foo\'.' - })); + return matcher.compare(actual, 'foo').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + "Expected a promise to be rejected with Error: 'foo' but it was rejected with 'foo'." + }) + ); }); }); - it('fails when Error type mismatches', function () { + it('fails when Error type mismatches', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error('foo')); - return matcher.compare(actual, TypeError, 'foo').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: 'Expected a promise to be rejected with TypeError: \'foo\' but it was rejected with type Error.' - })); + return matcher.compare(actual, TypeError, 'foo').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + "Expected a promise to be rejected with TypeError: 'foo' but it was rejected with type Error." + }) + ); }); }); - it('fails when Error message mismatches', function () { + it('fails when Error message mismatches', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = Promise.reject(new Error('foo')); - return matcher.compare(actual, 'bar').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: 'Expected a promise to be rejected with Error: \'bar\' but it was rejected with Error: foo.' - })); + return matcher.compare(actual, 'bar').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + "Expected a promise to be rejected with Error: 'bar' but it was rejected with Error: foo." + }) + ); }); }); it('fails if actual is not a promise', function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(matchersUtil), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError( + matchersUtil + ), actual = 'not a promise'; function f() { diff --git a/spec/core/matchers/async/toBeRejectedWithSpec.js b/spec/core/matchers/async/toBeRejectedWithSpec.js index 69003c59..9c663930 100644 --- a/spec/core/matchers/async/toBeRejectedWithSpec.js +++ b/spec/core/matchers/async/toBeRejectedWithSpec.js @@ -1,74 +1,91 @@ /* eslint-disable compat/compat */ -describe('#toBeRejectedWith', function () { - it('should return true if the promise is rejected with the expected value', function () { +describe('#toBeRejectedWith', function() { + it('should return true if the promise is rejected with the expected value', function() { jasmine.getEnv().requirePromises(); var matchersUtil = new jasmineUnderTest.MatchersUtil(), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), - actual = Promise.reject({error: 'PEBCAK'}); + actual = Promise.reject({ error: 'PEBCAK' }); - return matcher.compare(actual, {error: 'PEBCAK'}).then(function (result) { + return matcher.compare(actual, { error: 'PEBCAK' }).then(function(result) { expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); - it('should fail if the promise resolves', function () { + it('should fail if the promise resolves', function() { jasmine.getEnv().requirePromises(); var matchersUtil = new jasmineUnderTest.MatchersUtil(), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), actual = Promise.resolve(); - return matcher.compare(actual, '').then(function (result) { + return matcher.compare(actual, '').then(function(result) { expect(result).toEqual(jasmine.objectContaining({ pass: false })); }); }); - it('should fail if the promise is rejected with a different value', function () { + it('should fail if the promise is rejected with a different value', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), actual = Promise.reject('A Bad Apple'); - return matcher.compare(actual, 'Some Cool Thing').then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: "Expected a promise to be rejected with 'Some Cool Thing' but it was rejected with 'A Bad Apple'.", - })); + return matcher.compare(actual, 'Some Cool Thing').then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + "Expected a promise to be rejected with 'Some Cool Thing' but it was rejected with 'A Bad Apple'." + }) + ); }); }); - it('should build its error correctly when negated', function () { + it('should build its error correctly when negated', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), actual = Promise.reject(true); - return matcher.compare(actual, true).then(function (result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be rejected with true.' - })); + return matcher.compare(actual, true).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: 'Expected a promise not to be rejected with true.' + }) + ); }); }); - it('should support custom equality testers', function () { + it('should support custom equality testers', function() { jasmine.getEnv().requirePromises(); - var customEqualityTesters = [function() { return true; }], - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: customEqualityTesters}), + var customEqualityTesters = [ + function() { + return true; + } + ], + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: customEqualityTesters + }), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), actual = Promise.reject('actual'); return matcher.compare(actual, 'expected').then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); it('fails if actual is not a promise', function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWith(matchersUtil), actual = 'not a promise'; diff --git a/spec/core/matchers/async/toBeResolvedSpec.js b/spec/core/matchers/async/toBeResolvedSpec.js index 8dbff1c9..668b1bb3 100644 --- a/spec/core/matchers/async/toBeResolvedSpec.js +++ b/spec/core/matchers/async/toBeResolvedSpec.js @@ -8,7 +8,7 @@ describe('toBeResolved', function() { actual = Promise.resolve(); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); @@ -20,7 +20,7 @@ describe('toBeResolved', function() { actual = Promise.reject('AsyncExpectationSpec rejection'); return matcher.compare(actual).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: false})); + expect(result).toEqual(jasmine.objectContaining({ pass: false })); }); }); @@ -33,8 +33,6 @@ describe('toBeResolved', function() { return matcher.compare(actual); } - expect(f).toThrowError( - 'Expected toBeResolved to be called on a promise.' - ); + expect(f).toThrowError('Expected toBeResolved to be called on a promise.'); }); }); diff --git a/spec/core/matchers/async/toBeResolvedToSpec.js b/spec/core/matchers/async/toBeResolvedToSpec.js index ee57abe1..459e93ac 100644 --- a/spec/core/matchers/async/toBeResolvedToSpec.js +++ b/spec/core/matchers/async/toBeResolvedToSpec.js @@ -5,62 +5,80 @@ describe('#toBeResolvedTo', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(), matcher = jasmineUnderTest.asyncMatchers.toBeResolvedTo(matchersUtil), - actual = Promise.resolve({foo: 42}); + actual = Promise.resolve({ foo: 42 }); - return matcher.compare(actual, {foo: 42}).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + return matcher.compare(actual, { foo: 42 }).then(function(result) { + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); it('fails if the promise is rejected', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeResolvedTo(matchersUtil), actual = Promise.reject('AsyncExpectationSpec error'); return matcher.compare(actual, '').then(function(result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: "Expected a promise to be resolved to '' but it was rejected.", - })); + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + "Expected a promise to be resolved to '' but it was rejected." + }) + ); }); }); it('fails if the promise is resolved to a different value', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeResolvedTo(matchersUtil), - actual = Promise.resolve({foo: 17}); + actual = Promise.resolve({ foo: 17 }); - return matcher.compare(actual, {foo: 42}).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: false, - message: 'Expected a promise to be resolved to Object({ foo: 42 }) but it was resolved to Object({ foo: 17 }).', - })); + return matcher.compare(actual, { foo: 42 }).then(function(result) { + expect(result).toEqual( + jasmine.objectContaining({ + pass: false, + message: + 'Expected a promise to be resolved to Object({ foo: 42 }) but it was resolved to Object({ foo: 17 }).' + }) + ); }); }); it('builds its message correctly when negated', function() { jasmine.getEnv().requirePromises(); - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeResolvedTo(matchersUtil), actual = Promise.resolve(true); return matcher.compare(actual, true).then(function(result) { - expect(result).toEqual(jasmine.objectContaining({ - pass: true, - message: 'Expected a promise not to be resolved to true.' - })); + expect(result).toEqual( + jasmine.objectContaining({ + pass: true, + message: 'Expected a promise not to be resolved to true.' + }) + ); }); }); it('supports custom equality testers', function() { jasmine.getEnv().requirePromises(); - var customEqualityTesters = [function() { return true; }], + var customEqualityTesters = [ + function() { + return true; + } + ], matchersUtil = new jasmineUnderTest.MatchersUtil({ customTesters: customEqualityTesters, pp: jasmineUnderTest.makePrettyPrinter() @@ -69,12 +87,14 @@ describe('#toBeResolvedTo', function() { actual = Promise.resolve('actual'); return matcher.compare(actual, 'expected').then(function(result) { - expect(result).toEqual(jasmine.objectContaining({pass: true})); + expect(result).toEqual(jasmine.objectContaining({ pass: true })); }); }); it('fails if actual is not a promise', function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.asyncMatchers.toBeResolvedTo(matchersUtil), actual = 'not a promise'; diff --git a/spec/core/matchers/matchersUtilSpec.js b/spec/core/matchers/matchersUtilSpec.js index 387aa3e2..ed03f38e 100644 --- a/spec/core/matchers/matchersUtilSpec.js +++ b/spec/core/matchers/matchersUtilSpec.js @@ -1,12 +1,12 @@ -describe("matchersUtil", function() { - it("exposes the injected pretty-printer as .pp", function() { +describe('matchersUtil', function() { + it('exposes the injected pretty-printer as .pp', function() { var pp = function() {}, - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}); + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }); expect(matchersUtil.pp).toBe(pp); }); - describe("equals", function() { + describe('equals', function() { describe('Properties', function() { var fc; @@ -79,79 +79,85 @@ describe("matchersUtil", function() { }); }); - it("passes for literals that are triple-equal", function() { + it('passes for literals that are triple-equal', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(null, null)).toBe(true); expect(matchersUtil.equals(void 0, void 0)).toBe(true); }); - it("fails for things that are not equivalent", function() { + it('fails for things that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals({a: "foo"}, 1)).toBe(false); + expect(matchersUtil.equals({ a: 'foo' }, 1)).toBe(false); }); - it("passes for Strings that are equivalent", function() { + it('passes for Strings that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals("foo", "foo")).toBe(true); + expect(matchersUtil.equals('foo', 'foo')).toBe(true); }); - it("fails for Strings that are not equivalent", function() { + it('fails for Strings that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals("foo", "bar")).toBe(false); + expect(matchersUtil.equals('foo', 'bar')).toBe(false); }); - it("passes for Numbers that are equivalent", function() { + it('passes for Numbers that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(123, 123)).toBe(true); }); - it("fails for Numbers that are not equivalent", function() { + it('fails for Numbers that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(123, 456)).toBe(false); }); - it("fails for a Number and a String that have equivalent values", function() { + it('fails for a Number and a String that have equivalent values', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(123, "123")).toBe(false); + expect(matchersUtil.equals(123, '123')).toBe(false); }); - it("passes for Dates that are equivalent", function() { + it('passes for Dates that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(new Date("Jan 1, 1970"), new Date("Jan 1, 1970"))).toBe(true); + expect( + matchersUtil.equals(new Date('Jan 1, 1970'), new Date('Jan 1, 1970')) + ).toBe(true); }); - it("fails for Dates that are not equivalent", function() { + it('fails for Dates that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(new Date("Jan 1, 1970"), new Date("Feb 3, 1991"))).toBe(false); + expect( + matchersUtil.equals(new Date('Jan 1, 1970'), new Date('Feb 3, 1991')) + ).toBe(false); }); - it("passes for Booleans that are equivalent", function() { + it('passes for Booleans that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(true, true)).toBe(true); }); - it("fails for Booleans that are not equivalent", function() { + it('fails for Booleans that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(true, false)).toBe(false); }); - it("passes for RegExps that are equivalent", function() { + it('passes for RegExps that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(/foo/, /foo/)).toBe(true); }); - it("fails for RegExps that are not equivalent", function() { + it('fails for RegExps that are not equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(/foo/, /bar/)).toBe(false); - expect(matchersUtil.equals(new RegExp("foo", "i"), new RegExp("foo"))).toBe(false); + expect( + matchersUtil.equals(new RegExp('foo', 'i'), new RegExp('foo')) + ).toBe(false); }); - it("passes for Arrays that are equivalent", function() { + it('passes for Arrays that are equivalent', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals([1, 2], [1, 2])).toBe(true); }); - it("passes for Arrays that are equivalent, with elements added by changing length", function() { + it('passes for Arrays that are equivalent, with elements added by changing length', function() { var foo = [], matchersUtil = new jasmineUnderTest.MatchersUtil(); foo.length = 1; @@ -159,19 +165,19 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(foo, [undefined])).toBe(true); }); - it("fails for Arrays that have different lengths", function() { + it('fails for Arrays that have different lengths', function() { matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals([1, 2], [1, 2, 3])).toBe(false); }); - it("fails for Arrays that have different elements", function() { + it('fails for Arrays that have different elements', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals([1, 2, 3], [1, 5, 3])).toBe(false); }); - it("fails for Arrays whose contents are equivalent, but have differing properties", function() { - var one = [1,2,3], - two = [1,2,3], + it('fails for Arrays whose contents are equivalent, but have differing properties', function() { + var one = [1, 2, 3], + two = [1, 2, 3], matchersUtil = new jasmineUnderTest.MatchersUtil(); one.foo = 'bar'; @@ -180,9 +186,9 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(one, two)).toBe(false); }); - it("passes for Arrays with equivalent contents and properties", function() { - var one = [1,2,3], - two = [1,2,3], + it('passes for Arrays with equivalent contents and properties', function() { + var one = [1, 2, 3], + two = [1, 2, 3], matchersUtil = new jasmineUnderTest.MatchersUtil(); one.foo = 'bar'; @@ -191,17 +197,21 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(one, two)).toBe(true); }); - it("passes for Errors that are the same type and have the same message", function() { + it('passes for Errors that are the same type and have the same message', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(new Error("foo"), new Error("foo"))).toBe(true); + expect(matchersUtil.equals(new Error('foo'), new Error('foo'))).toBe( + true + ); }); - it("fails for Errors that are the same type and have different messages", function() { + it('fails for Errors that are the same type and have different messages', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(new Error("foo"), new Error("bar"))).toBe(false); + expect(matchersUtil.equals(new Error('foo'), new Error('bar'))).toBe( + false + ); }); - it("fails for objects with different constructors", function() { + it('fails for objects with different constructors', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); function One() {} function Two() {} @@ -209,29 +219,39 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(new One(), new Two())).toBe(false); }); - it("passes for Objects that are equivalent (simple case)", function() { + it('passes for Objects that are equivalent (simple case)', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals({a: "foo"}, {a: "foo"})).toBe(true); + expect(matchersUtil.equals({ a: 'foo' }, { a: 'foo' })).toBe(true); }); - it("fails for Objects that are not equivalent (simple case)", function() { + it('fails for Objects that are not equivalent (simple case)', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals({a: "foo"}, {a: "bar"})).toBe(false); + expect(matchersUtil.equals({ a: 'foo' }, { a: 'bar' })).toBe(false); }); - it("passes for Objects that are equivalent (deep case)", function() { + it('passes for Objects that are equivalent (deep case)', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals({a: "foo", b: { c: "bar"}}, {a: "foo", b: { c: "bar"}})).toBe(true); + expect( + matchersUtil.equals( + { a: 'foo', b: { c: 'bar' } }, + { a: 'foo', b: { c: 'bar' } } + ) + ).toBe(true); }); - it("fails for Objects that are not equivalent (deep case)", function() { + it('fails for Objects that are not equivalent (deep case)', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals({a: "foo", b: { c: "baz"}}, {a: "foo", b: { c: "bar"}})).toBe(false); + expect( + matchersUtil.equals( + { a: 'foo', b: { c: 'baz' } }, + { a: 'foo', b: { c: 'bar' } } + ) + ).toBe(false); }); - it("passes for Objects that are equivalent (with cycles)", function() { - var actual = { a: "foo" }, - expected = { a: "foo" }, + it('passes for Objects that are equivalent (with cycles)', function() { + var actual = { a: 'foo' }, + expected = { a: 'foo' }, matchersUtil = new jasmineUnderTest.MatchersUtil(); actual.b = actual; @@ -240,9 +260,9 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(actual, expected)).toBe(true); }); - it("fails for Objects that are not equivalent (with cycles)", function() { - var actual = { a: "foo" }, - expected = { a: "bar" }, + it('fails for Objects that are not equivalent (with cycles)', function() { + var actual = { a: 'foo' }, + expected = { a: 'bar' }, matchersUtil = new jasmineUnderTest.MatchersUtil(); actual.b = actual; @@ -251,7 +271,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(actual, expected)).toBe(false); }); - it("fails for Objects that have the same number of keys, but different keys/values", function () { + it('fails for Objects that have the same number of keys, but different keys/values', function() { var expected = { a: undefined }, actual = { b: 1 }, matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -259,61 +279,62 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(actual, expected)).toBe(false); }); - it("fails when comparing an empty object to an empty array (issue #114)", function() { + it('fails when comparing an empty object to an empty array (issue #114)', function() { var emptyObject = {}, emptyArray = [], matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(emptyObject, emptyArray)).toBe(false); expect(matchersUtil.equals(emptyArray, emptyObject)).toBe(false); }); - it("passes for equivalent frozen objects (GitHub issue #266)", function() { + it('passes for equivalent frozen objects (GitHub issue #266)', function() { var a = { foo: 1 }, - b = {foo: 1 }, + b = { foo: 1 }, matchersUtil = new jasmineUnderTest.MatchersUtil(); Object.freeze(a); Object.freeze(b); - expect(matchersUtil.equals(a,b)).toBe(true); + expect(matchersUtil.equals(a, b)).toBe(true); }); - it("passes for equivalent Promises (GitHub issue #1314)", function() { - if (typeof Promise === 'undefined') { return; } + it('passes for equivalent Promises (GitHub issue #1314)', function() { + if (typeof Promise === 'undefined') { + return; + } - var p1 = new Promise(function () {}), // eslint-disable-line compat/compat - p2 = new Promise(function () {}), // eslint-disable-line compat/compat + var p1 = new Promise(function() {}), // eslint-disable-line compat/compat + p2 = new Promise(function() {}), // eslint-disable-line compat/compat matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(p1, p1)).toBe(true); expect(matchersUtil.equals(p1, p2)).toBe(false); }); - describe("when running in a browser", function() { + describe('when running in a browser', function() { function isNotRunningInBrowser() { - return typeof document === 'undefined' + return typeof document === 'undefined'; } - it("passes for equivalent DOM nodes", function() { + it('passes for equivalent DOM nodes', function() { if (isNotRunningInBrowser()) { return; } - var a = document.createElement("div"); + var a = document.createElement('div'); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - a.setAttribute("test-attr", "attr-value"); + a.setAttribute('test-attr', 'attr-value'); a.appendChild(document.createTextNode('test')); - var b = document.createElement("div"); - b.setAttribute("test-attr", "attr-value"); + var b = document.createElement('div'); + b.setAttribute('test-attr', 'attr-value'); b.appendChild(document.createTextNode('test')); - expect(matchersUtil.equals(a,b)).toBe(true); + expect(matchersUtil.equals(a, b)).toBe(true); }); - it("passes for equivalent objects from different frames", function() { + it('passes for equivalent objects from different frames', function() { if (isNotRunningInBrowser()) { return; } @@ -321,42 +342,44 @@ describe("matchersUtil", function() { var iframe = document.createElement('iframe'); document.body.appendChild(iframe); iframe.contentWindow.eval('window.testObject = {}'); - expect(matchersUtil.equals({}, iframe.contentWindow.testObject)).toBe(true); + expect(matchersUtil.equals({}, iframe.contentWindow.testObject)).toBe( + true + ); document.body.removeChild(iframe); }); - it("fails for DOM nodes with different attributes or child nodes", function() { + it('fails for DOM nodes with different attributes or child nodes', function() { if (isNotRunningInBrowser()) { return; } var matchersUtil = new jasmineUnderTest.MatchersUtil(); - var a = document.createElement("div"); - a.setAttribute("test-attr", "attr-value"); + var a = document.createElement('div'); + a.setAttribute('test-attr', 'attr-value'); a.appendChild(document.createTextNode('test')); - var b = document.createElement("div"); - b.setAttribute("test-attr", "attr-value2"); + var b = document.createElement('div'); + b.setAttribute('test-attr', 'attr-value2'); b.appendChild(document.createTextNode('test')); - expect(matchersUtil.equals(a,b)).toBe(false); + expect(matchersUtil.equals(a, b)).toBe(false); - b.setAttribute("test-attr", "attr-value"); - expect(matchersUtil.equals(a,b)).toBe(true); + b.setAttribute('test-attr', 'attr-value'); + expect(matchersUtil.equals(a, b)).toBe(true); b.appendChild(document.createTextNode('2')); - expect(matchersUtil.equals(a,b)).toBe(false); + expect(matchersUtil.equals(a, b)).toBe(false); a.appendChild(document.createTextNode('2')); - expect(matchersUtil.equals(a,b)).toBe(true); + expect(matchersUtil.equals(a, b)).toBe(true); }); }); - describe("when running in Node", function() { + describe('when running in Node', function() { function isNotRunningInNode() { - return typeof require !== 'function' + return typeof require !== 'function'; } - it("passes for equivalent objects from different vm contexts", function() { + it('passes for equivalent objects from different vm contexts', function() { if (isNotRunningInNode()) { return; } @@ -367,10 +390,10 @@ describe("matchersUtil", function() { }; vm.runInNewContext('obj = {a: 1, b: 2}', sandbox); - expect(matchersUtil.equals(sandbox.obj, {a: 1, b: 2})).toBe(true); + expect(matchersUtil.equals(sandbox.obj, { a: 1, b: 2 })).toBe(true); }); - it("passes for equivalent arrays from different vm contexts", function() { + it('passes for equivalent arrays from different vm contexts', function() { if (isNotRunningInNode()) { return; } @@ -385,7 +408,7 @@ describe("matchersUtil", function() { }); }); - it("passes when Any is used", function() { + it('passes when Any is used', function() { var number = 3, anyNumber = new jasmineUnderTest.Any(Number), matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -394,7 +417,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(anyNumber, number)).toBe(true); }); - it("fails when Any is compared to something unexpected", function() { + it('fails when Any is compared to something unexpected', function() { var number = 3, anyString = new jasmineUnderTest.Any(String), matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -403,19 +426,19 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(anyString, number)).toBe(false); }); - it("passes when ObjectContaining is used", function() { + it('passes when ObjectContaining is used', function() { var obj = { - foo: 3, - bar: 7 - }, - containing = new jasmineUnderTest.ObjectContaining({foo: 3}), + foo: 3, + bar: 7 + }, + containing = new jasmineUnderTest.ObjectContaining({ foo: 3 }), matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(obj, containing)).toBe(true); expect(matchersUtil.equals(containing, obj)).toBe(true); }); - it("passes when MapContaining is used", function() { + it('passes when MapContaining is used', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -429,7 +452,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(containing, obj)).toBe(true); }); - it("passes when SetContaining is used", function() { + it('passes when SetContaining is used', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -443,107 +466,159 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(containing, obj)).toBe(true); }); - it("passes when an asymmetric equality tester returns true", function() { - var tester = { asymmetricMatch: function(other) { return true; } }, + it('passes when an asymmetric equality tester returns true', function() { + var tester = { + asymmetricMatch: function(other) { + return true; + } + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(false, tester)).toBe(true); expect(matchersUtil.equals(tester, false)).toBe(true); }); - it("fails when an asymmetric equality tester returns false", function() { - var tester = { asymmetricMatch: function(other) { return false; } }, + it('fails when an asymmetric equality tester returns false', function() { + var tester = { + asymmetricMatch: function(other) { + return false; + } + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(true, tester)).toBe(false); expect(matchersUtil.equals(tester, true)).toBe(false); }); - it("passes when ArrayContaining is used", function() { - var arr = ["foo", "bar"], + it('passes when ArrayContaining is used', function() { + var arr = ['foo', 'bar'], matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(arr, new jasmineUnderTest.ArrayContaining(["bar"]))).toBe(true); + expect( + matchersUtil.equals(arr, new jasmineUnderTest.ArrayContaining(['bar'])) + ).toBe(true); }); - it("passes when a custom equality matcher passed to equals returns true", function() { + it('passes when a custom equality matcher passed to equals returns true', function() { // TODO: remove this in the next major release. - var tester = function(a, b) { return true; }, + var tester = function(a, b) { + return true; + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(1, 2, [tester])).toBe(true); }); - it("passes when a custom equality matcher passed to the constructor returns true", function() { - var tester = function(a, b) { return true; }, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester], pp: function() {}}); + it('passes when a custom equality matcher passed to the constructor returns true', function() { + var tester = function(a, b) { + return true; + }, + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester], + pp: function() {} + }); expect(matchersUtil.equals(1, 2)).toBe(true); }); - it("passes for two empty Objects", function () { + it('passes for two empty Objects', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals({}, {})).toBe(true); }); - describe("when a custom equality matcher is passed to equals that returns 'undefined'", function () { + describe("when a custom equality matcher is passed to equals that returns 'undefined'", function() { // TODO: remove this in the next major release. - var tester = function(a, b) { return jasmine.undefined; }; + var tester = function(a, b) { + return jasmine.undefined; + }; - it("passes for two empty Objects", function () { + it('passes for two empty Objects', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals({}, {}, [tester])).toBe(true); }); }); - describe("when a custom equality matcher is passed to the constructor that returns 'undefined'", function () { - var tester = function(a, b) { return jasmine.undefined; }; + describe("when a custom equality matcher is passed to the constructor that returns 'undefined'", function() { + var tester = function(a, b) { + return jasmine.undefined; + }; - it("passes for two empty Objects", function () { - var matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester], pp: function() {}}); + it('passes for two empty Objects', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester], + pp: function() {} + }); expect(matchersUtil.equals({}, {})).toBe(true); }); }); - it("fails for equivalents when a custom equality matcher passed to equals returns false", function() { + it('fails for equivalents when a custom equality matcher passed to equals returns false', function() { // TODO: remove this in the next major release. - var tester = function(a, b) { return false; }, + var tester = function(a, b) { + return false; + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(1, 1, [tester])).toBe(false); }); - it("fails for equivalents when a custom equality matcher passed to the constructor returns false", function() { - var tester = function(a, b) { return false; }, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester], pp: function() {}}); + it('fails for equivalents when a custom equality matcher passed to the constructor returns false', function() { + var tester = function(a, b) { + return false; + }, + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester], + pp: function() {} + }); expect(matchersUtil.equals(1, 1)).toBe(false); }); - it("passes for an asymmetric equality tester that returns true when a custom equality tester passed to equals return false", function() { + it('passes for an asymmetric equality tester that returns true when a custom equality tester passed to equals return false', function() { // TODO: remove this in the next major release. - var asymmetricTester = { asymmetricMatch: function(other) { return true; } }, - symmetricTester = function(a, b) { return false; }, + var asymmetricTester = { + asymmetricMatch: function(other) { + return true; + } + }, + symmetricTester = function(a, b) { + return false; + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.equals(asymmetricTester, true, [symmetricTester])).toBe(true); - expect(matchersUtil.equals(true, asymmetricTester, [symmetricTester])).toBe(true); + expect( + matchersUtil.equals(asymmetricTester, true, [symmetricTester]) + ).toBe(true); + expect( + matchersUtil.equals(true, asymmetricTester, [symmetricTester]) + ).toBe(true); }); - it("passes for an asymmetric equality tester that returns true when a custom equality tester passed to the constructor return false", function() { - var asymmetricTester = { asymmetricMatch: function(other) { return true; } }, - symmetricTester = function(a, b) { return false; }, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [symmetricTester()], pp: function() {}}); + it('passes for an asymmetric equality tester that returns true when a custom equality tester passed to the constructor return false', function() { + var asymmetricTester = { + asymmetricMatch: function(other) { + return true; + } + }, + symmetricTester = function(a, b) { + return false; + }, + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [symmetricTester()], + pp: function() {} + }); expect(matchersUtil.equals(asymmetricTester, true)).toBe(true); expect(matchersUtil.equals(true, asymmetricTester)).toBe(true); }); - describe("The compatibility shim passed to asymmetric equality testers", function() { - describe("When equals is called with custom equality testers", function() { - it("is both a matchersUtil and the custom equality testers passed to equals", function() { - var asymmetricTester = jasmine.createSpyObj('tester', ['asymmetricMatch']), - symmetricTester = function() { } , + describe('The compatibility shim passed to asymmetric equality testers', function() { + describe('When equals is called with custom equality testers', function() { + it('is both a matchersUtil and the custom equality testers passed to equals', function() { + var asymmetricTester = jasmine.createSpyObj('tester', [ + 'asymmetricMatch' + ]), + symmetricTester = function() {}, matchersUtil = new jasmineUnderTest.MatchersUtil(), shim; @@ -555,11 +630,16 @@ describe("matchersUtil", function() { }); }); - describe("When equals is called with custom equality testers", function() { - it("is both a matchersUtil and the custom equality testers passed to the constructor", function() { - var asymmetricTester = jasmine.createSpyObj('tester', ['asymmetricMatch']), - symmetricTester = function() { } , - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [symmetricTester], pp: function() {}}), + describe('When equals is called with custom equality testers', function() { + it('is both a matchersUtil and the custom equality testers passed to the constructor', function() { + var asymmetricTester = jasmine.createSpyObj('tester', [ + 'asymmetricMatch' + ]), + symmetricTester = function() {}, + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [symmetricTester], + pp: function() {} + }), shim; matchersUtil.equals(true, asymmetricTester); @@ -571,7 +651,7 @@ describe("matchersUtil", function() { }); }); - it("passes when an Any is compared to an Any that checks for the same type", function() { + it('passes when an Any is compared to an Any that checks for the same type', function() { var any1 = new jasmineUnderTest.Any(Function), any2 = new jasmineUnderTest.Any(Function), matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -579,7 +659,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(any1, any2)).toBe(true); }); - it("passes for null prototype objects with same properties", function () { + it('passes for null prototype objects with same properties', function() { var objA = Object.create(null), objB = Object.create(null), matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -590,7 +670,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(objA, objB)).toBe(true); }); - it("fails for null prototype objects with different properties", function () { + it('fails for null prototype objects with different properties', function() { var objA = Object.create(null), objB = Object.create(null), matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -601,13 +681,13 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(objA, objB)).toBe(false); }); - it("passes when comparing two empty sets", function() { + it('passes when comparing two empty sets', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(new Set(), new Set())).toBe(true); // eslint-disable-line compat/compat }); - it("passes when comparing identical sets", function() { + it('passes when comparing identical sets', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -621,7 +701,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(setA, setB)).toBe(true); }); - it("passes when comparing identical sets with different insertion order and simple elements", function() { + it('passes when comparing identical sets with different insertion order and simple elements', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); @@ -635,26 +715,26 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(setA, setB)).toBe(true); }); - it("passes when comparing identical sets with different insertion order and complex elements 1", function() { + it('passes when comparing identical sets with different insertion order and complex elements 1', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var setA1 = new Set(); // eslint-disable-line compat/compat - setA1.add(['a',3]); - setA1.add([6,1]); + setA1.add(['a', 3]); + setA1.add([6, 1]); var setA2 = new Set(); // eslint-disable-line compat/compat - setA1.add(['y',3]); - setA1.add([6,1]); + setA1.add(['y', 3]); + setA1.add([6, 1]); var setA = new Set(); // eslint-disable-line compat/compat setA.add(setA1); setA.add(setA2); var setB1 = new Set(); // eslint-disable-line compat/compat - setB1.add([6,1]); - setB1.add(['a',3]); + setB1.add([6, 1]); + setB1.add(['a', 3]); var setB2 = new Set(); // eslint-disable-line compat/compat - setB1.add([6,1]); - setB1.add(['y',3]); + setB1.add([6, 1]); + setB1.add(['y', 3]); var setB = new Set(); // eslint-disable-line compat/compat setB.add(setB1); setB.add(setB2); @@ -662,21 +742,21 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(setA, setB)).toBe(true); }); - it("passes when comparing identical sets with different insertion order and complex elements 2", function() { + it('passes when comparing identical sets with different insertion order and complex elements 2', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var setA = new Set(); // eslint-disable-line compat/compat - setA.add([[1,2], [3,4]]); - setA.add([[5,6], [7,8]]); + setA.add([[1, 2], [3, 4]]); + setA.add([[5, 6], [7, 8]]); var setB = new Set(); // eslint-disable-line compat/compat - setB.add([[5,6], [7,8]]); - setB.add([[1,2], [3,4]]); + setB.add([[5, 6], [7, 8]]); + setB.add([[1, 2], [3, 4]]); expect(matchersUtil.equals(setA, setB)).toBe(true); }); - it("fails for sets with different elements", function() { + it('fails for sets with different elements', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var setA = new Set(); // eslint-disable-line compat/compat @@ -691,7 +771,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(setA, setB)).toBe(false); }); - it("fails for sets of different size", function() { + it('fails for sets of different size', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var setA = new Set(); // eslint-disable-line compat/compat @@ -705,13 +785,13 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(setA, setB)).toBe(false); }); - it("passes when comparing two empty maps", function() { + it('passes when comparing two empty maps', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.equals(new Map(), new Map())).toBe(true); // eslint-disable-line compat/compat }); - it("passes when comparing identical maps", function() { + it('passes when comparing identical maps', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var mapA = new Map(); // eslint-disable-line compat/compat @@ -721,19 +801,19 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(mapA, mapB)).toBe(true); }); - it("passes when comparing identical maps with different insertion order", function() { + it('passes when comparing identical maps with different insertion order', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var mapA = new Map(); // eslint-disable-line compat/compat - mapA.set("a", 3); + mapA.set('a', 3); mapA.set(6, 1); var mapB = new Map(); // eslint-disable-line compat/compat mapB.set(6, 1); - mapB.set("a", 3); + mapB.set('a', 3); expect(matchersUtil.equals(mapA, mapB)).toBe(true); }); - it("fails for maps with different elements", function() { + it('fails for maps with different elements', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var mapA = new Map(); // eslint-disable-line compat/compat @@ -746,7 +826,7 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(mapA, mapB)).toBe(false); }); - it("fails for maps of different size", function() { + it('fails for maps of different size', function() { jasmine.getEnv().requireFunctioningMaps(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var mapA = new Map(); // eslint-disable-line compat/compat @@ -757,8 +837,11 @@ describe("matchersUtil", function() { expect(matchersUtil.equals(mapA, mapB)).toBe(false); }); - describe("when running in an environment with array polyfills", function() { - var findIndexDescriptor = Object.getOwnPropertyDescriptor(Array.prototype, 'findIndex'); + describe('when running in an environment with array polyfills', function() { + var findIndexDescriptor = Object.getOwnPropertyDescriptor( + Array.prototype, + 'findIndex' + ); if (!findIndexDescriptor) { return; } @@ -766,9 +849,11 @@ describe("matchersUtil", function() { beforeEach(function() { Object.defineProperty(Array.prototype, 'findIndex', { enumerable: true, - value: function (predicate) { + value: function(predicate) { if (this === null) { - throw new TypeError('Array.prototype.findIndex called on null or undefined'); + throw new TypeError( + 'Array.prototype.findIndex called on null or undefined' + ); } if (typeof predicate !== 'function') { @@ -793,7 +878,11 @@ describe("matchersUtil", function() { }); afterEach(function() { - Object.defineProperty(Array.prototype, 'findIndex', findIndexDescriptor); + Object.defineProperty( + Array.prototype, + 'findIndex', + findIndexDescriptor + ); }); it("passes when there's an array polyfill", function() { @@ -801,10 +890,12 @@ describe("matchersUtil", function() { }); }); - describe("Building diffs for asymmetric equality testers", function() { - it("diffs the values returned by valuesForDiff_", function() { + describe('Building diffs for asymmetric equality testers', function() { + it('diffs the values returned by valuesForDiff_', function() { var tester = { - asymmetricMatch: function() { return false; }, + asymmetricMatch: function() { + return false; + }, valuesForDiff_: function() { return { self: 'asymmetric tester value', @@ -812,30 +903,50 @@ describe("matchersUtil", function() { }; } }, - actual = {x: 42}, - expected = {x: tester}, - diffBuilder = jasmine.createSpyObj('diffBuilder', ['recordMismatch', 'withPath', 'setRoots']); + actual = { x: 42 }, + expected = { x: tester }, + diffBuilder = jasmine.createSpyObj('diffBuilder', [ + 'recordMismatch', + 'withPath', + 'setRoots' + ]); - diffBuilder.withPath.and.callFake(function(p, block) { block(); }); + diffBuilder.withPath.and.callFake(function(p, block) { + block(); + }); jasmineUnderTest.matchersUtil.equals(actual, expected, [], diffBuilder); expect(diffBuilder.setRoots).toHaveBeenCalledWith(actual, expected); - expect(diffBuilder.withPath).toHaveBeenCalledWith('x', jasmine.any(Function)); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 'x', + jasmine.any(Function) + ); expect(diffBuilder.recordMismatch).toHaveBeenCalledWith(); }); - it("records both objects when the tester does not implement valuesForDiff", function() { + it('records both objects when the tester does not implement valuesForDiff', function() { var tester = { - asymmetricMatch: function() { return false; }, + asymmetricMatch: function() { + return false; + } }, - actual = {x: 42}, - expected = {x: tester}, - diffBuilder = jasmine.createSpyObj('diffBuilder', ['recordMismatch', 'withPath', 'setRoots']); - diffBuilder.withPath.and.callFake(function(p, block) { block(); }); + actual = { x: 42 }, + expected = { x: tester }, + diffBuilder = jasmine.createSpyObj('diffBuilder', [ + 'recordMismatch', + 'withPath', + 'setRoots' + ]); + diffBuilder.withPath.and.callFake(function(p, block) { + block(); + }); jasmineUnderTest.matchersUtil.equals(actual, expected, [], diffBuilder); expect(diffBuilder.setRoots).toHaveBeenCalledWith(actual, expected); - expect(diffBuilder.withPath).toHaveBeenCalledWith('x', jasmine.any(Function)); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 'x', + jasmine.any(Function) + ); expect(diffBuilder.recordMismatch).toHaveBeenCalledWith(); }); }); @@ -849,8 +960,14 @@ describe("matchersUtil", function() { spyOn(diffBuilder, 'withPath').and.callThrough(); matchersUtil.equals([1], [2], [], diffBuilder); - expect(diffBuilder.withPath).toHaveBeenCalledWith('length', jasmine.any(Function)); - expect(diffBuilder.withPath).toHaveBeenCalledWith(0, jasmine.any(Function)); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 'length', + jasmine.any(Function) + ); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 0, + jasmine.any(Function) + ); expect(diffBuilder.recordMismatch).toHaveBeenCalledWith(); }); @@ -862,69 +979,84 @@ describe("matchersUtil", function() { spyOn(diffBuilder, 'withPath').and.callThrough(); matchersUtil.equals([1], [2], diffBuilder); - expect(diffBuilder.withPath).toHaveBeenCalledWith('length', jasmine.any(Function)); - expect(diffBuilder.withPath).toHaveBeenCalledWith(0, jasmine.any(Function)); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 'length', + jasmine.any(Function) + ); + expect(diffBuilder.withPath).toHaveBeenCalledWith( + 0, + jasmine.any(Function) + ); expect(diffBuilder.recordMismatch).toHaveBeenCalled(); }); }); - describe("contains", function() { - it("passes when expected is a substring of actual", function() { + describe('contains', function() { + it('passes when expected is a substring of actual', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.contains("ABC", "BC")).toBe(true); + expect(matchersUtil.contains('ABC', 'BC')).toBe(true); }); - it("fails when expected is a not substring of actual", function() { + it('fails when expected is a not substring of actual', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.contains("ABC", "X")).toBe(false); + expect(matchersUtil.contains('ABC', 'X')).toBe(false); }); - it("passes when expected is an element in an actual array", function() { + it('passes when expected is an element in an actual array', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.contains(['foo', 'bar'], 'foo')).toBe(true); }); - it("fails when expected is not an element in an actual array", function() { + it('fails when expected is not an element in an actual array', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.contains(['foo', 'bar'], 'baz')).toBe(false); }); - it("passes with mixed-element arrays", function() { + it('passes with mixed-element arrays', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.contains(["foo", {some: "bar"}], "foo")).toBe(true); - expect(matchersUtil.contains(["foo", {some: "bar"}], {some: "bar"})).toBe(true); + expect(matchersUtil.contains(['foo', { some: 'bar' }], 'foo')).toBe(true); + expect( + matchersUtil.contains(['foo', { some: 'bar' }], { some: 'bar' }) + ).toBe(true); }); - it("uses custom equality testers if passed to contains and actual is an Array", function() { + it('uses custom equality testers if passed to contains and actual is an Array', function() { // TODO: remove this in the next major release. - var customTester = function(a, b) {return true;}, + var customTester = function(a, b) { + return true; + }, matchersUtil = new jasmineUnderTest.MatchersUtil(); - expect(matchersUtil.contains([1, 2], 3, [customTester])).toBe(true); + expect(matchersUtil.contains([1, 2], 3, [customTester])).toBe(true); }); - it("uses custom equality testers if passed to the constructor and actual is an Array", function() { - var customTester = function(a, b) {return true;}, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [customTester], pp: function() {}}); + it('uses custom equality testers if passed to the constructor and actual is an Array', function() { + var customTester = function(a, b) { + return true; + }, + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [customTester], + pp: function() {} + }); expect(matchersUtil.contains([1, 2], 3)).toBe(true); }); - it("fails when actual is undefined", function() { + it('fails when actual is undefined', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.contains(undefined, 'A')).toBe(false); }); - it("fails when actual is null", function() { + it('fails when actual is null', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(matchersUtil.contains(null, 'A')).toBe(false); }); - it("passes with array-like objects", function() { + it('passes with array-like objects', function() { var capturedArgs = null, matchersUtil = new jasmineUnderTest.MatchersUtil(); - function testFunction(){ + function testFunction() { capturedArgs = arguments; } @@ -932,11 +1064,11 @@ describe("matchersUtil", function() { expect(matchersUtil.contains(capturedArgs, 'bar')).toBe(true); }); - it("passes for set members", function() { + it('passes for set members', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); - var setItem = {'foo': 'bar'}; + var setItem = { foo: 'bar' }; var set = new Set(); // eslint-disable-line compat/compat set.add(setItem); @@ -944,61 +1076,78 @@ describe("matchersUtil", function() { }); // documenting current behavior - it("fails (!) for objects that equal to a set member", function() { + it('fails (!) for objects that equal to a set member', function() { jasmine.getEnv().requireFunctioningSets(); var matchersUtil = new jasmineUnderTest.MatchersUtil(); var set = new Set(); // eslint-disable-line compat/compat - set.add({'foo': 'bar'}); + set.add({ foo: 'bar' }); - expect(matchersUtil.contains(set, {'foo': 'bar'})).toBe(false); + expect(matchersUtil.contains(set, { foo: 'bar' })).toBe(false); }); }); - describe("buildFailureMessage", function() { - - it("builds an English sentence for a failure case", function() { - var actual = "foo", - name = "toBar", + describe('buildFailureMessage', function() { + it('builds an English sentence for a failure case', function() { + var actual = 'foo', + name = 'toBar', pp = jasmineUnderTest.makePrettyPrinter(), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), message = matchersUtil.buildFailureMessage(name, false, actual); expect(message).toEqual("Expected 'foo' to bar."); }); it("builds an English sentence for a 'not' failure case", function() { - var actual = "foo", - name = "toBar", + var actual = 'foo', + name = 'toBar', isNot = true, pp = jasmineUnderTest.makePrettyPrinter(), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), - message = message = matchersUtil.buildFailureMessage(name, isNot, actual); + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), + message = (message = matchersUtil.buildFailureMessage( + name, + isNot, + actual + )); expect(message).toEqual("Expected 'foo' not to bar."); }); - it("builds an English sentence for an arbitrary array of expected arguments", function() { - var actual = "foo", - name = "toBar", + it('builds an English sentence for an arbitrary array of expected arguments', function() { + var actual = 'foo', + name = 'toBar', pp = jasmineUnderTest.makePrettyPrinter(), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), - message = matchersUtil.buildFailureMessage(name, false, actual, "quux", "corge"); + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), + message = matchersUtil.buildFailureMessage( + name, + false, + actual, + 'quux', + 'corge' + ); expect(message).toEqual("Expected 'foo' to bar 'quux', 'corge'."); }); - it("uses the injected pretty-printer to format the expecteds and actual", function() { - var actual = "foo", - expected1 = "qux", - expected2 = "grault", - name = "toBar", + it('uses the injected pretty-printer to format the expecteds and actual', function() { + var actual = 'foo', + expected1 = 'qux', + expected2 = 'grault', + name = 'toBar', isNot = false, - pp = function(value) { return '<' + value + '>'; }, - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), - message = message = matchersUtil.buildFailureMessage(name, isNot, actual, expected1, expected2); + pp = function(value) { + return '<' + value + '>'; + }, + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), + message = (message = matchersUtil.buildFailureMessage( + name, + isNot, + actual, + expected1, + expected2 + )); - expect(message).toEqual("Expected to bar , ."); + expect(message).toEqual('Expected to bar , .'); }); }); }); diff --git a/spec/core/matchers/toBeCloseToSpec.js b/spec/core/matchers/toBeCloseToSpec.js index 402ce88e..2594e9ef 100644 --- a/spec/core/matchers/toBeCloseToSpec.js +++ b/spec/core/matchers/toBeCloseToSpec.js @@ -1,5 +1,5 @@ -describe("toBeCloseTo", function() { - it("passes when within two decimal places by default", function() { +describe('toBeCloseTo', function() { + it('passes when within two decimal places by default', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(), result; @@ -13,7 +13,7 @@ describe("toBeCloseTo", function() { expect(result.pass).toBe(true); }); - it("fails when not within two decimal places by default", function() { + it('fails when not within two decimal places by default', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(), result; @@ -24,7 +24,7 @@ describe("toBeCloseTo", function() { expect(result.pass).toBe(false); }); - it("accepts an optional precision argument", function() { + it('accepts an optional precision argument', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(), result; @@ -47,23 +47,29 @@ describe("toBeCloseTo", function() { expect(result.pass).toBe(true); }); - it("fails when one of the arguments is null", function() { + it('fails when one of the arguments is null', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(); expect(function() { matcher.compare(null, null); - }).toThrowError('Cannot use toBeCloseTo with null. Arguments evaluated to: expect(null).toBeCloseTo(null).'); + }).toThrowError( + 'Cannot use toBeCloseTo with null. Arguments evaluated to: expect(null).toBeCloseTo(null).' + ); expect(function() { matcher.compare(0, null); - }).toThrowError('Cannot use toBeCloseTo with null. Arguments evaluated to: expect(0).toBeCloseTo(null).'); + }).toThrowError( + 'Cannot use toBeCloseTo with null. Arguments evaluated to: expect(0).toBeCloseTo(null).' + ); expect(function() { matcher.compare(null, 0); - }).toThrowError('Cannot use toBeCloseTo with null. Arguments evaluated to: expect(null).toBeCloseTo(0).'); + }).toThrowError( + 'Cannot use toBeCloseTo with null. Arguments evaluated to: expect(null).toBeCloseTo(0).' + ); }); - it("rounds expected values", function() { + it('rounds expected values', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(), result; @@ -91,15 +97,15 @@ describe("toBeCloseTo", function() { expect(result.pass).toBe(true); }); - it("handles edge cases with rounding", function () { + it('handles edge cases with rounding', function() { var matcher = jasmineUnderTest.matchers.toBeCloseTo(), result; - // these cases resulted in false negatives in version of V8 + // these cases resulted in false negatives in version of V8 // included in Node.js 12 and Chrome 74 (and Edge Chromium) result = matcher.compare(4.030904708957288, 4.0309, 5); expect(result.pass).toBe(true); - result = matcher.compare(4.82665525779431,4.82666, 5); + result = matcher.compare(4.82665525779431, 4.82666, 5); expect(result.pass).toBe(true); result = matcher.compare(-2.82665525779431, -2.82666, 5); expect(result.pass).toBe(true); diff --git a/spec/core/matchers/toBeDefinedSpec.js b/spec/core/matchers/toBeDefinedSpec.js index 5649f423..4b89c9ac 100644 --- a/spec/core/matchers/toBeDefinedSpec.js +++ b/spec/core/matchers/toBeDefinedSpec.js @@ -1,18 +1,17 @@ -describe("toBeDefined", function() { - it("matches for defined values", function() { +describe('toBeDefined', function() { + it('matches for defined values', function() { var matcher = jasmineUnderTest.matchers.toBeDefined(), result; - result = matcher.compare('foo'); expect(result.pass).toBe(true); }); - it("fails when matching undefined values", function() { + it('fails when matching undefined values', function() { var matcher = jasmineUnderTest.matchers.toBeDefined(), result; result = matcher.compare(void 0); expect(result.pass).toBe(false); - }) + }); }); diff --git a/spec/core/matchers/toBeFalseSpec.js b/spec/core/matchers/toBeFalseSpec.js index 7c0900e6..47e2b389 100644 --- a/spec/core/matchers/toBeFalseSpec.js +++ b/spec/core/matchers/toBeFalseSpec.js @@ -1,5 +1,5 @@ -describe("toBeFalse", function() { - it("passes for false", function() { +describe('toBeFalse', function() { + it('passes for false', function() { var matcher = jasmineUnderTest.matchers.toBeFalse(), result; @@ -7,7 +7,7 @@ describe("toBeFalse", function() { expect(result.pass).toBe(true); }); - it("fails for non-false", function() { + it('fails for non-false', function() { var matcher = jasmineUnderTest.matchers.toBeFalse(), result; @@ -15,7 +15,7 @@ describe("toBeFalse", function() { expect(result.pass).toBe(false); }); - it("fails for falsy", function() { + it('fails for falsy', function() { var matcher = jasmineUnderTest.matchers.toBeFalse(), result; diff --git a/spec/core/matchers/toBeFalsySpec.js b/spec/core/matchers/toBeFalsySpec.js index 2099234f..ec4a98e4 100644 --- a/spec/core/matchers/toBeFalsySpec.js +++ b/spec/core/matchers/toBeFalsySpec.js @@ -1,4 +1,4 @@ -describe("toBeFalsy", function() { +describe('toBeFalsy', function() { it("passes for 'falsy' values", function() { var matcher = jasmineUnderTest.matchers.toBeFalsy(), result; @@ -29,7 +29,7 @@ describe("toBeFalsy", function() { result = matcher.compare(1); expect(result.pass).toBe(false); - result = matcher.compare("foo"); + result = matcher.compare('foo'); expect(result.pass).toBe(false); result = matcher.compare({}); diff --git a/spec/core/matchers/toBeGreaterThanOrEqualSpec.js b/spec/core/matchers/toBeGreaterThanOrEqualSpec.js index 81817c15..444cd317 100644 --- a/spec/core/matchers/toBeGreaterThanOrEqualSpec.js +++ b/spec/core/matchers/toBeGreaterThanOrEqualSpec.js @@ -1,5 +1,5 @@ -describe("toBeGreaterThanOrEqual", function() { - it("passes when actual >= expected", function() { +describe('toBeGreaterThanOrEqual', function() { + it('passes when actual >= expected', function() { var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(), result; @@ -16,7 +16,7 @@ describe("toBeGreaterThanOrEqual", function() { expect(result.pass).toBe(true); }); - it("fails when actual < expected", function() { + it('fails when actual < expected', function() { var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(), result; @@ -25,5 +25,5 @@ describe("toBeGreaterThanOrEqual", function() { result = matcher.compare(1, 1.0000001); expect(result.pass).toBe(false); - }) + }); }); diff --git a/spec/core/matchers/toBeGreaterThanSpec.js b/spec/core/matchers/toBeGreaterThanSpec.js index 75b92824..f157e524 100644 --- a/spec/core/matchers/toBeGreaterThanSpec.js +++ b/spec/core/matchers/toBeGreaterThanSpec.js @@ -1,5 +1,5 @@ -describe("toBeGreaterThan", function() { - it("passes when actual > expected", function() { +describe('toBeGreaterThan', function() { + it('passes when actual > expected', function() { var matcher = jasmineUnderTest.matchers.toBeGreaterThan(), result; @@ -7,7 +7,7 @@ describe("toBeGreaterThan", function() { expect(result.pass).toBe(true); }); - it("fails when actual <= expected", function() { + it('fails when actual <= expected', function() { var matcher = jasmineUnderTest.matchers.toBeGreaterThan(), result; diff --git a/spec/core/matchers/toBeInstanceOfSpec.js b/spec/core/matchers/toBeInstanceOfSpec.js index d8355af7..f63ec842 100644 --- a/spec/core/matchers/toBeInstanceOfSpec.js +++ b/spec/core/matchers/toBeInstanceOfSpec.js @@ -92,13 +92,14 @@ describe('toBeInstanceOf', function() { describe('when expecting Function', function() { it('passes for a function', function() { - var fn = function() { }; + var fn = function() {}; var matcher = jasmineUnderTest.matchers.toBeInstanceOf(); var result = matcher.compare(fn, Function); expect(result).toEqual({ pass: true, - message: 'Expected instance of Function not to be an instance of Function' + message: + 'Expected instance of Function not to be an instance of Function' }); }); @@ -111,13 +112,14 @@ describe('toBeInstanceOf', function() { var result = matcher.compare(fn, Function); expect(result).toEqual({ pass: true, - message: 'Expected instance of AsyncFunction not to be an instance of Function' + message: + 'Expected instance of AsyncFunction not to be an instance of Function' }); }); }); describe('when expecting Object', function() { - function Animal() { } + function Animal() {} it('passes for any object', function() { var matcher = jasmineUnderTest.matchers.toBeInstanceOf(); @@ -164,14 +166,15 @@ describe('toBeInstanceOf', function() { var result = matcher.compare(object, Object); expect(result).toEqual({ pass: true, - message: 'Expected instance of null({ }) not to be an instance of Object' + message: + 'Expected instance of null({ }) not to be an instance of Object' }); }); }); describe('when expecting a user-defined class', function() { // Base class - function Animal() { } + function Animal() {} // Subclasses, defined using syntax that is as old as possible function Dog() { @@ -218,8 +221,10 @@ describe('toBeInstanceOf', function() { var matcher = jasmineUnderTest.matchers.toBeInstanceOf(); expect(function() { matcher.compare({}, 'Error'); - }).toThrowError(' : Expected value is not a constructor function\n' + - 'Usage: expect(value).toBeInstanceOf()'); + }).toThrowError( + ' : Expected value is not a constructor function\n' + + 'Usage: expect(value).toBeInstanceOf()' + ); }); it('raises an error if missing an expected value', function() { @@ -228,7 +233,9 @@ describe('toBeInstanceOf', function() { }); expect(function() { matcher.compare({}, undefined); - }).toThrowError(' : Expected value is not a constructor function\n' + - 'Usage: expect(value).toBeInstanceOf()'); + }).toThrowError( + ' : Expected value is not a constructor function\n' + + 'Usage: expect(value).toBeInstanceOf()' + ); }); }); diff --git a/spec/core/matchers/toBeLessThanOrEqualSpec.js b/spec/core/matchers/toBeLessThanOrEqualSpec.js index 20d36e89..0aa7940b 100644 --- a/spec/core/matchers/toBeLessThanOrEqualSpec.js +++ b/spec/core/matchers/toBeLessThanOrEqualSpec.js @@ -1,5 +1,5 @@ -describe("toBeLessThanOrEqual", function() { - it("passes when actual <= expected", function() { +describe('toBeLessThanOrEqual', function() { + it('passes when actual <= expected', function() { var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(), result; @@ -11,12 +11,12 @@ describe("toBeLessThanOrEqual", function() { result = matcher.compare(1, 1.0000001); expect(result.pass).toBe(true); - + result = matcher.compare(1.0, 1.0); expect(result.pass).toBe(true); }); - it("fails when actual < expected", function() { + it('fails when actual < expected', function() { var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(), result; diff --git a/spec/core/matchers/toBeLessThanSpec.js b/spec/core/matchers/toBeLessThanSpec.js index 55868ec5..24a1d9af 100644 --- a/spec/core/matchers/toBeLessThanSpec.js +++ b/spec/core/matchers/toBeLessThanSpec.js @@ -1,5 +1,5 @@ -describe("toBeLessThan", function() { - it("passes when actual < expected", function() { +describe('toBeLessThan', function() { + it('passes when actual < expected', function() { var matcher = jasmineUnderTest.matchers.toBeLessThan(), result; @@ -7,7 +7,7 @@ describe("toBeLessThan", function() { expect(result.pass).toBe(true); }); - it("fails when actual <= expected", function() { + it('fails when actual <= expected', function() { var matcher = jasmineUnderTest.matchers.toBeLessThan(), result; diff --git a/spec/core/matchers/toBeNaNSpec.js b/spec/core/matchers/toBeNaNSpec.js index e859f64f..d38ffed7 100644 --- a/spec/core/matchers/toBeNaNSpec.js +++ b/spec/core/matchers/toBeNaNSpec.js @@ -1,14 +1,14 @@ -describe("toBeNaN", function() { - it("passes for NaN with a custom .not fail", function() { +describe('toBeNaN', function() { + it('passes for NaN with a custom .not fail', function() { var matcher = jasmineUnderTest.matchers.toBeNaN(), result; result = matcher.compare(Number.NaN); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected actual not to be NaN."); + expect(result.message).toEqual('Expected actual not to be NaN.'); }); - it("fails for anything not a NaN", function() { + it('fails for anything not a NaN', function() { var matcher = jasmineUnderTest.matchers.toBeNaN(), result; @@ -28,12 +28,12 @@ describe("toBeNaN", function() { expect(result.pass).toBe(false); }); - it("has a custom message on failure", function() { + it('has a custom message on failure', function() { var matcher = jasmineUnderTest.matchers.toBeNaN({ pp: jasmineUnderTest.makePrettyPrinter() }), result = matcher.compare(0); - expect(result.message()).toEqual("Expected 0 to be NaN."); + expect(result.message()).toEqual('Expected 0 to be NaN.'); }); }); diff --git a/spec/core/matchers/toBeNegativeInfinitySpec.js b/spec/core/matchers/toBeNegativeInfinitySpec.js index 876bf209..d771378f 100644 --- a/spec/core/matchers/toBeNegativeInfinitySpec.js +++ b/spec/core/matchers/toBeNegativeInfinitySpec.js @@ -1,4 +1,4 @@ -describe("toBeNegativeInfinity", function() { +describe('toBeNegativeInfinity', function() { it("fails for anything that isn't -Infinity", function() { var matcher = jasmineUnderTest.matchers.toBeNegativeInfinity(), result; @@ -13,21 +13,20 @@ describe("toBeNegativeInfinity", function() { expect(result.pass).toBe(false); }); - it("has a custom message on failure", function() { + it('has a custom message on failure', function() { var matcher = jasmineUnderTest.matchers.toBeNegativeInfinity({ pp: jasmineUnderTest.makePrettyPrinter() }), result = matcher.compare(0); - expect(result.message()).toEqual("Expected 0 to be -Infinity.") + expect(result.message()).toEqual('Expected 0 to be -Infinity.'); }); - it("succeeds for -Infinity", function() { + it('succeeds for -Infinity', function() { var matcher = jasmineUnderTest.matchers.toBeNegativeInfinity(), result = matcher.compare(Number.NEGATIVE_INFINITY); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected actual not to be -Infinity.") + expect(result.message).toEqual('Expected actual not to be -Infinity.'); }); - }); diff --git a/spec/core/matchers/toBeNullSpec.js b/spec/core/matchers/toBeNullSpec.js index 35dfe8d1..da5c2856 100644 --- a/spec/core/matchers/toBeNullSpec.js +++ b/spec/core/matchers/toBeNullSpec.js @@ -1,5 +1,5 @@ -describe("toBeNull", function() { - it("passes for null", function() { +describe('toBeNull', function() { + it('passes for null', function() { var matcher = jasmineUnderTest.matchers.toBeNull(), result; @@ -7,7 +7,7 @@ describe("toBeNull", function() { expect(result.pass).toBe(true); }); - it("fails for non-null", function() { + it('fails for non-null', function() { var matcher = jasmineUnderTest.matchers.toBeNull(), result; diff --git a/spec/core/matchers/toBePositiveInfinitySpec.js b/spec/core/matchers/toBePositiveInfinitySpec.js index 6fc91b65..3673fb69 100644 --- a/spec/core/matchers/toBePositiveInfinitySpec.js +++ b/spec/core/matchers/toBePositiveInfinitySpec.js @@ -1,4 +1,4 @@ -describe("toBePositiveInfinity", function() { +describe('toBePositiveInfinity', function() { it("fails for anything that isn't Infinity", function() { var matcher = jasmineUnderTest.matchers.toBePositiveInfinity(), result; @@ -13,21 +13,20 @@ describe("toBePositiveInfinity", function() { expect(result.pass).toBe(false); }); - it("has a custom message on failure", function() { + it('has a custom message on failure', function() { var matcher = jasmineUnderTest.matchers.toBePositiveInfinity({ pp: jasmineUnderTest.makePrettyPrinter() }), result = matcher.compare(0); - expect(result.message()).toEqual("Expected 0 to be Infinity.") + expect(result.message()).toEqual('Expected 0 to be Infinity.'); }); - it("succeeds for Infinity", function() { + it('succeeds for Infinity', function() { var matcher = jasmineUnderTest.matchers.toBePositiveInfinity(), result = matcher.compare(Number.POSITIVE_INFINITY); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected actual not to be Infinity.") + expect(result.message).toEqual('Expected actual not to be Infinity.'); }); - }); diff --git a/spec/core/matchers/toBeSpec.js b/spec/core/matchers/toBeSpec.js index 4d74a6de..b577b0da 100644 --- a/spec/core/matchers/toBeSpec.js +++ b/spec/core/matchers/toBeSpec.js @@ -1,5 +1,5 @@ -describe("toBe", function() { - it("passes with no message when actual === expected", function() { +describe('toBe', function() { + it('passes with no message when actual === expected', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result; @@ -8,29 +8,37 @@ describe("toBe", function() { expect(result.pass).toBe(true); }); - it("passes with a custom message when expected is an array", function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + it('passes with a custom message when expected is an array', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result, array = [1]; result = matcher.compare(array, array); expect(result.pass).toBe(true); - expect(result.message).toBe("Expected [ 1 ] not to be [ 1 ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().") + expect(result.message).toBe( + 'Expected [ 1 ] not to be [ 1 ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().' + ); }); - it("passes with a custom message when expected is an object", function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + it('passes with a custom message when expected is an object', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result, - obj = {foo: "bar"}; + obj = { foo: 'bar' }; result = matcher.compare(obj, obj); expect(result.pass).toBe(true); - expect(result.message).toBe("Expected Object({ foo: 'bar' }) not to be Object({ foo: 'bar' }). Tip: To check for deep equality, use .toEqual() instead of .toBe().") + expect(result.message).toBe( + "Expected Object({ foo: 'bar' }) not to be Object({ foo: 'bar' }). Tip: To check for deep equality, use .toEqual() instead of .toBe()." + ); }); - it("fails with no message when actual !== expected", function() { + it('fails with no message when actual !== expected', function() { var matchersUtil = new jasmineUnderTest.MatchersUtil(), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result; @@ -40,35 +48,47 @@ describe("toBe", function() { expect(result.message).toBeUndefined(); }); - it("fails with a custom message when expected is an array", function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + it('fails with a custom message when expected is an array', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result; result = matcher.compare([1], [1]); expect(result.pass).toBe(false); - expect(result.message).toBe("Expected [ 1 ] to be [ 1 ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().") + expect(result.message).toBe( + 'Expected [ 1 ] to be [ 1 ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().' + ); }); - it("fails with a custom message when expected is an object", function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), + it('fails with a custom message when expected is an object', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result; - result = matcher.compare({foo: "bar"}, {foo: "bar"}); + result = matcher.compare({ foo: 'bar' }, { foo: 'bar' }); expect(result.pass).toBe(false); - expect(result.message).toBe("Expected Object({ foo: 'bar' }) to be Object({ foo: 'bar' }). Tip: To check for deep equality, use .toEqual() instead of .toBe().") + expect(result.message).toBe( + "Expected Object({ foo: 'bar' }) to be Object({ foo: 'bar' }). Tip: To check for deep equality, use .toEqual() instead of .toBe()." + ); }); - it("works with custom object formatters when expected is an object", function() { - var formatter = function(x) { return '<' + x.foo + '>'; }, + it('works with custom object formatters when expected is an object', function() { + var formatter = function(x) { + return '<' + x.foo + '>'; + }, prettyPrinter = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: prettyPrinter}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: prettyPrinter }), matcher = jasmineUnderTest.matchers.toBe(matchersUtil), result; - result = matcher.compare({foo: "bar"}, {foo: "bar"}); + result = matcher.compare({ foo: 'bar' }, { foo: 'bar' }); expect(result.pass).toBe(false); - expect(result.message).toBe("Expected to be . Tip: To check for deep equality, use .toEqual() instead of .toBe().") + expect(result.message).toBe( + 'Expected to be . Tip: To check for deep equality, use .toEqual() instead of .toBe().' + ); }); }); diff --git a/spec/core/matchers/toBeTrueSpec.js b/spec/core/matchers/toBeTrueSpec.js index ceac2074..d444d206 100644 --- a/spec/core/matchers/toBeTrueSpec.js +++ b/spec/core/matchers/toBeTrueSpec.js @@ -1,5 +1,5 @@ -describe("toBeTrue", function() { - it("passes for true", function() { +describe('toBeTrue', function() { + it('passes for true', function() { var matcher = jasmineUnderTest.matchers.toBeTrue(), result; @@ -7,7 +7,7 @@ describe("toBeTrue", function() { expect(result.pass).toBe(true); }); - it("fails for non-true", function() { + it('fails for non-true', function() { var matcher = jasmineUnderTest.matchers.toBeTrue(), result; diff --git a/spec/core/matchers/toBeTruthySpec.js b/spec/core/matchers/toBeTruthySpec.js index 7d5f284c..f7bb258b 100644 --- a/spec/core/matchers/toBeTruthySpec.js +++ b/spec/core/matchers/toBeTruthySpec.js @@ -1,4 +1,4 @@ -describe("toBeTruthy", function() { +describe('toBeTruthy', function() { it("passes for 'truthy' values", function() { var matcher = jasmineUnderTest.matchers.toBeTruthy(), result; @@ -9,7 +9,7 @@ describe("toBeTruthy", function() { result = matcher.compare(1); expect(result.pass).toBe(true); - result = matcher.compare("foo"); + result = matcher.compare('foo'); expect(result.pass).toBe(true); result = matcher.compare({}); diff --git a/spec/core/matchers/toBeUndefinedSpec.js b/spec/core/matchers/toBeUndefinedSpec.js index c3588e34..f4c090fe 100644 --- a/spec/core/matchers/toBeUndefinedSpec.js +++ b/spec/core/matchers/toBeUndefinedSpec.js @@ -1,18 +1,17 @@ -describe("toBeUndefined", function() { - it("passes for undefined values", function() { +describe('toBeUndefined', function() { + it('passes for undefined values', function() { var matcher = jasmineUnderTest.matchers.toBeUndefined(), result; result = matcher.compare(void 0); expect(result.pass).toBe(true); - }); - it("fails when matching defined values", function() { + it('fails when matching defined values', function() { var matcher = jasmineUnderTest.matchers.toBeUndefined(), result; result = matcher.compare('foo'); expect(result.pass).toBe(false); - }) + }); }); diff --git a/spec/core/matchers/toContainSpec.js b/spec/core/matchers/toContainSpec.js index 5fd1c8f8..1feab6b4 100644 --- a/spec/core/matchers/toContainSpec.js +++ b/spec/core/matchers/toContainSpec.js @@ -1,21 +1,23 @@ -describe("toContain", function() { - it("delegates to jasmineUnderTest.matchersUtil.contains", function() { +describe('toContain', function() { + it('delegates to jasmineUnderTest.matchersUtil.contains', function() { var matchersUtil = { contains: jasmine.createSpy('delegated-contains').and.returnValue(true) }, matcher = jasmineUnderTest.matchers.toContain(matchersUtil), result; - result = matcher.compare("ABC", "B"); - expect(matchersUtil.contains).toHaveBeenCalledWith("ABC", "B"); + result = matcher.compare('ABC', 'B'); + expect(matchersUtil.contains).toHaveBeenCalledWith('ABC', 'B'); expect(result.pass).toBe(true); }); - it("works with custom equality testers", function() { - var tester = function (a, b) { + it('works with custom equality testers', function() { + var tester = function(a, b) { return a.toString() === b.toString(); }, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }), matcher = jasmineUnderTest.matchers.toContain(matchersUtil), result; diff --git a/spec/core/matchers/toEqualSpec.js b/spec/core/matchers/toEqualSpec.js index db7f3ffb..b2fb9f9c 100644 --- a/spec/core/matchers/toEqualSpec.js +++ b/spec/core/matchers/toEqualSpec.js @@ -1,5 +1,5 @@ -describe("toEqual", function() { - "use strict"; +describe('toEqual', function() { + 'use strict'; function compareEquals(actual, expected) { var matchersUtil = new jasmineUnderTest.MatchersUtil({ @@ -12,7 +12,7 @@ describe("toEqual", function() { return result; } - it("delegates to equals function", function() { + it('delegates to equals function', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equals').and.returnValue(true), buildFailureMessage: function() { @@ -29,11 +29,13 @@ describe("toEqual", function() { expect(result.pass).toBe(true); }); - it("works with custom equality testers", function() { - var tester = function (a, b) { + it('works with custom equality testers', function() { + var tester = function(a, b) { return a.toString() === b.toString(); }, - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: [tester]}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: [tester] + }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil), result; @@ -42,300 +44,297 @@ describe("toEqual", function() { expect(result.pass).toBe(true); }); - it("reports the difference between objects that are not equal", function() { - var actual = {x: 1, y: 3}, - expected = {x: 2, y: 3}, - message = "Expected $.x = 1 to equal 2."; + it('reports the difference between objects that are not equal', function() { + var actual = { x: 1, y: 3 }, + expected = { x: 2, y: 3 }, + message = 'Expected $.x = 1 to equal 2.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports the difference between nested objects that are not equal", function() { - var actual = {x: {y: 1}}, - expected = {x: {y: 2}}, - message = "Expected $.x.y = 1 to equal 2."; + it('reports the difference between nested objects that are not equal', function() { + var actual = { x: { y: 1 } }, + expected = { x: { y: 2 } }, + message = 'Expected $.x.y = 1 to equal 2.'; expect(compareEquals(actual, expected).message).toEqual(message); }); it("formats property access so that it's valid JavaScript", function() { - var actual = {'my prop': 1}, - expected = {'my prop': 2}, + var actual = { 'my prop': 1 }, + expected = { 'my prop': 2 }, message = "Expected $['my prop'] = 1 to equal 2."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports missing properties", function() { - var actual = {x: {}}, - expected = {x: {y: 1}}, - message = - "Expected $.x to have properties\n" + - " y: 1"; + it('reports missing properties', function() { + var actual = { x: {} }, + expected = { x: { y: 1 } }, + message = 'Expected $.x to have properties\n' + ' y: 1'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports extra properties", function() { - var actual = {x: {y: 1, z: 2}}, - expected = {x: {}}, + it('reports extra properties', function() { + var actual = { x: { y: 1, z: 2 } }, + expected = { x: {} }, message = - "Expected $.x not to have properties\n" + - " y: 1\n" + - " z: 2"; + 'Expected $.x not to have properties\n' + ' y: 1\n' + ' z: 2'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("pretty-prints properties", function() { - var actual = {x: {y: 'foo bar'}}, - expected = {x: {}}, - message = - "Expected $.x not to have properties\n" + - " y: 'foo bar'"; + it('pretty-prints properties', function() { + var actual = { x: { y: 'foo bar' } }, + expected = { x: {} }, + message = 'Expected $.x not to have properties\n' + " y: 'foo bar'"; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses custom object formatters to pretty-print simple properties", function() { + it('uses custom object formatters to pretty-print simple properties', function() { function formatter(x) { if (typeof x === 'number') { return '|' + x + '|'; } } - var actual = {x: {y: 1, z: 2, f: 4}}, - expected = {x: {y: 1, z: 2, g: 3}}, + var actual = { x: { y: 1, z: 2, f: 4 } }, + expected = { x: { y: 1, z: 2, g: 3 } }, pp = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil), message = - "Expected $.x to have properties\n" + - " g: |3|\n" + - "Expected $.x not to have properties\n" + - " f: |4|"; + 'Expected $.x to have properties\n' + + ' g: |3|\n' + + 'Expected $.x not to have properties\n' + + ' f: |4|'; expect(matcher.compare(actual, expected).message).toEqual(message); }); - it("uses custom object formatters to show simple values in diffs", function() { + it('uses custom object formatters to show simple values in diffs', function() { function formatter(x) { if (typeof x === 'number') { return '|' + x + '|'; } } - var actual = [{foo: 4}], - expected = [{foo: 5}], + var actual = [{ foo: 4 }], + expected = [{ foo: 5 }], prettyPrinter = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: prettyPrinter}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: prettyPrinter }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil), - message = "Expected $[0].foo = |4| to equal |5|."; + message = 'Expected $[0].foo = |4| to equal |5|.'; expect(matcher.compare(actual, expected).message).toEqual(message); }); - it("uses custom object formatters to show more complex objects diffs", function() { + it('uses custom object formatters to show more complex objects diffs', function() { function formatter(x) { if (x.hasOwnProperty('a')) { return '[thing with a=' + x.a + ', b=' + x.b + ']'; } } - var actual = [{ - foo: {a: 1, b: 2}, - bar: 'should not be pretty printed' - }], - expected = [{ - foo: {a: 5, b: 2}, - bar: "shouldn't be pretty printed" - }], + var actual = [ + { + foo: { a: 1, b: 2 }, + bar: 'should not be pretty printed' + } + ], + expected = [ + { + foo: { a: 5, b: 2 }, + bar: "shouldn't be pretty printed" + } + ], prettyPrinter = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: prettyPrinter}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: prettyPrinter }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil), - message = "Expected $[0].foo = [thing with a=1, b=2] to equal [thing with a=5, b=2].\n" + + message = + 'Expected $[0].foo = [thing with a=1, b=2] to equal [thing with a=5, b=2].\n' + "Expected $[0].bar = 'should not be pretty printed' to equal 'shouldn't be pretty printed'."; expect(matcher.compare(actual, expected).message).toEqual(message); }); - it("reports extra and missing properties of the root-level object", function() { - var actual = {x: 1}, - expected = {a: 1}, + it('reports extra and missing properties of the root-level object', function() { + var actual = { x: 1 }, + expected = { a: 1 }, message = - "Expected object to have properties\n" + - " a: 1\n" + - "Expected object not to have properties\n" + - " x: 1"; + 'Expected object to have properties\n' + + ' a: 1\n' + + 'Expected object not to have properties\n' + + ' x: 1'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports multiple incorrect values", function() { - var actual = {x: 1, y: 2}, - expected = {x: 3, y: 4}, + it('reports multiple incorrect values', function() { + var actual = { x: 1, y: 2 }, + expected = { x: 3, y: 4 }, message = - "Expected $.x = 1 to equal 3.\n" + - "Expected $.y = 2 to equal 4."; + 'Expected $.x = 1 to equal 3.\n' + 'Expected $.y = 2 to equal 4.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatch between actual child object and expected child number", function() { - var actual = {x: {y: 2}}, - expected = {x: 1}, - message = "Expected $.x = Object({ y: 2 }) to equal 1."; + it('reports mismatch between actual child object and expected child number', function() { + var actual = { x: { y: 2 } }, + expected = { x: 1 }, + message = 'Expected $.x = Object({ y: 2 }) to equal 1.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses the default failure message if actual is not an object", function() { + it('uses the default failure message if actual is not an object', function() { var actual = 1, - expected = {x: {}}, - message = "Expected 1 to equal Object({ x: Object({ }) })."; + expected = { x: {} }, + message = 'Expected 1 to equal Object({ x: Object({ }) }).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses the default failure message if expected is not an object", function() { - var actual = {x: {}}, + it('uses the default failure message if expected is not an object', function() { + var actual = { x: {} }, expected = 1, - message = "Expected Object({ x: Object({ }) }) to equal 1."; + message = 'Expected Object({ x: Object({ }) }) to equal 1.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses the default failure message given arrays with different lengths", function() { + it('uses the default failure message given arrays with different lengths', function() { var actual = [1, 2], expected = [1, 2, 3], - message = 'Expected $.length = 2 to equal 3.\n' + + message = + 'Expected $.length = 2 to equal 3.\n' + 'Expected $[2] = undefined to equal 3.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports a mismatch between elements of equal-length arrays", function() { + it('reports a mismatch between elements of equal-length arrays', function() { var actual = [1, 2, 5], expected = [1, 2, 3], - message = "Expected $[2] = 5 to equal 3."; + message = 'Expected $[2] = 5 to equal 3.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports a mismatch between multiple array elements", function() { + it('reports a mismatch between multiple array elements', function() { var actual = [2, 2, 5], expected = [1, 2, 3], message = - "Expected $[0] = 2 to equal 1.\n" + - "Expected $[2] = 5 to equal 3."; + 'Expected $[0] = 2 to equal 1.\n' + 'Expected $[2] = 5 to equal 3.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports a mismatch between properties of objects in arrays", function() { - var actual = [{x: 1}], - expected = [{x: 2}], - message = "Expected $[0].x = 1 to equal 2."; + it('reports a mismatch between properties of objects in arrays', function() { + var actual = [{ x: 1 }], + expected = [{ x: 2 }], + message = 'Expected $[0].x = 1 to equal 2.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports a mismatch between arrays in objects", function() { - var actual = {x: [1]}, - expected = {x: [2]}, - message = - "Expected $.x[0] = 1 to equal 2."; + it('reports a mismatch between arrays in objects', function() { + var actual = { x: [1] }, + expected = { x: [2] }, + message = 'Expected $.x[0] = 1 to equal 2.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between nested arrays", function() { + it('reports mismatches between nested arrays', function() { var actual = [[1]], expected = [[2]], - message = - "Expected $[0][0] = 1 to equal 2."; + message = 'Expected $[0][0] = 1 to equal 2.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between arrays of different types", function() { + it('reports mismatches between arrays of different types', function() { jasmine.getEnv().requireFunctioningTypedArrays(); var actual = new Uint32Array([1, 2, 3]), // eslint-disable-line compat/compat expected = new Uint16Array([1, 2, 3]), // eslint-disable-line compat/compat - message = "Expected Uint32Array [ 1, 2, 3 ] to equal Uint16Array [ 1, 2, 3 ]."; + message = + 'Expected Uint32Array [ 1, 2, 3 ] to equal Uint16Array [ 1, 2, 3 ].'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving NaN", function() { - var actual = {x: 0}, - expected = {x: 0/0}, - message = "Expected $.x = 0 to equal NaN."; + it('reports mismatches involving NaN', function() { + var actual = { x: 0 }, + expected = { x: 0 / 0 }, + message = 'Expected $.x = 0 to equal NaN.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving regular expressions", function() { - var actual = {x: '1'}, - expected = {x: /1/}, + it('reports mismatches involving regular expressions', function() { + var actual = { x: '1' }, + expected = { x: /1/ }, message = "Expected $.x = '1' to equal /1/."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving infinities", function() { - var actual = {x: 0}, - expected = {x: 1/0}, - message = "Expected $.x = 0 to equal Infinity."; + it('reports mismatches involving infinities', function() { + var actual = { x: 0 }, + expected = { x: 1 / 0 }, + message = 'Expected $.x = 0 to equal Infinity.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving booleans", function() { - var actual = {x: false}, - expected = {x: true}, - message = "Expected $.x = false to equal true."; + it('reports mismatches involving booleans', function() { + var actual = { x: false }, + expected = { x: true }, + message = 'Expected $.x = false to equal true.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving strings", function() { - var actual = {x: 'foo'}, - expected = {x: 'bar'}, + it('reports mismatches involving strings', function() { + var actual = { x: 'foo' }, + expected = { x: 'bar' }, message = "Expected $.x = 'foo' to equal 'bar'."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving undefined", function() { - var actual = {x: void 0}, - expected = {x: 0}, - message = "Expected $.x = undefined to equal 0."; + it('reports mismatches involving undefined', function() { + var actual = { x: void 0 }, + expected = { x: 0 }, + message = 'Expected $.x = undefined to equal 0.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches involving null", function() { - var actual = {x: null}, - expected = {x: 0}, - message = "Expected $.x = null to equal 0."; + it('reports mismatches involving null', function() { + var actual = { x: null }, + expected = { x: 0 }, + message = 'Expected $.x = null to equal 0.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between objects with different constructors", function () { + it('reports mismatches between objects with different constructors', function() { function Foo() {} function Bar() {} - var actual = {x: new Foo()}, - expected = {x: new Bar()}, - message = "Expected $.x to be a kind of Bar, but was Foo({ })."; + var actual = { x: new Foo() }, + expected = { x: new Bar() }, + message = 'Expected $.x to be a kind of Bar, but was Foo({ }).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses custom object formatters for the value but not the type when reporting objects with different constructors", function () { + it('uses custom object formatters for the value but not the type when reporting objects with different constructors', function() { function Foo() {} function Bar() {} function formatter(x) { @@ -344,52 +343,50 @@ describe("toEqual", function() { } } - var actual = {x: new Foo()}, - expected = {x: new Bar()}, - message = "Expected $.x to be a kind of Bar, but was |[object Object]|.", + var actual = { x: new Foo() }, + expected = { x: new Bar() }, + message = 'Expected $.x to be a kind of Bar, but was |[object Object]|.', pp = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil); expect(matcher.compare(actual, expected).message).toEqual(message); }); - it("reports type mismatches at the root level", function () { + it('reports type mismatches at the root level', function() { function Foo() {} function Bar() {} var actual = new Foo(), expected = new Bar(), - message = "Expected object to be a kind of Bar, but was Foo({ })."; + message = 'Expected object to be a kind of Bar, but was Foo({ }).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports value mismatches at the root level", function() { - expect(compareEquals(1, 2).message).toEqual("Expected 1 to equal 2."); + it('reports value mismatches at the root level', function() { + expect(compareEquals(1, 2).message).toEqual('Expected 1 to equal 2.'); }); - - it("reports mismatches between objects with their own constructor property", function () { + it('reports mismatches between objects with their own constructor property', function() { function Foo() {} function Bar() {} - var actual = {x: {constructor: 'blerf'}}, - expected = {x: {constructor: 'ftarrh'}}, - message = "Expected $.x.constructor = 'blerf' to equal 'ftarrh'."; + var actual = { x: { constructor: 'blerf' } }, + expected = { x: { constructor: 'ftarrh' } }, + message = "Expected $.x.constructor = 'blerf' to equal 'ftarrh'."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between an object with a real constructor and one with its own constructor property", function () { + it('reports mismatches between an object with a real constructor and one with its own constructor property', function() { function Foo() {} function Bar() {} - var actual = {x: {}}, - expected = {x: {constructor: 'ftarrh'}}, + var actual = { x: {} }, + expected = { x: { constructor: 'ftarrh' } }, message = - "Expected $.x to have properties\n" + - " constructor: 'ftarrh'"; + 'Expected $.x to have properties\n' + " constructor: 'ftarrh'"; expect(compareEquals(actual, expected).message).toEqual(message); expect(compareEquals(expected, actual).message).toEqual( @@ -397,68 +394,74 @@ describe("toEqual", function() { ); }); - it("reports mismatches between 0 and -0", function() { - var actual = {x: 0}, - expected = {x: -0}, - message = "Expected $.x = 0 to equal -0."; + it('reports mismatches between 0 and -0', function() { + var actual = { x: 0 }, + expected = { x: -0 }, + message = 'Expected $.x = 0 to equal -0.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between 0 and Number.MIN_VALUE", function() { - var actual = {x: 0}, - expected = {x: Number.MIN_VALUE}, - message = "Expected $.x = 0 to equal 5e-324."; + it('reports mismatches between 0 and Number.MIN_VALUE', function() { + var actual = { x: 0 }, + expected = { x: Number.MIN_VALUE }, + message = 'Expected $.x = 0 to equal 5e-324.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Errors", function() { - var actual = {x: new Error("the error you got")}, - expected = {x: new Error("the error you want")}, - message = "Expected $.x = Error: the error you got to equal Error: the error you want."; + it('reports mismatches between Errors', function() { + var actual = { x: new Error('the error you got') }, + expected = { x: new Error('the error you want') }, + message = + 'Expected $.x = Error: the error you got to equal Error: the error you want.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Functions", function() { - var actual = {x: function() {}}, - expected = {x: function() {}}, - message = "Expected $.x = Function to equal Function."; + it('reports mismatches between Functions', function() { + var actual = { x: function() {} }, + expected = { x: function() {} }, + message = 'Expected $.x = Function to equal Function.'; expect(compareEquals(actual, expected).message).toEqual(message); }); it('reports mismatches between an object and objectContaining', function() { - var actual = {a: 1, b: 4, c: 3, extra: 'ignored'}; - var expected = jasmineUnderTest.objectContaining({a: 1, b: 2, c: 3, d: 4}); - expect(compareEquals(actual, expected).message) - .toEqual( - 'Expected $.b = 4 to equal 2.\n' + - 'Expected $.d = undefined to equal 4.' - ); + var actual = { a: 1, b: 4, c: 3, extra: 'ignored' }; + var expected = jasmineUnderTest.objectContaining({ + a: 1, + b: 2, + c: 3, + d: 4 + }); + expect(compareEquals(actual, expected).message).toEqual( + 'Expected $.b = 4 to equal 2.\n' + 'Expected $.d = undefined to equal 4.' + ); }); - it("reports mismatches between a non-object and objectContaining", function() { + it('reports mismatches between a non-object and objectContaining', function() { var actual = 1; - var expected = jasmineUnderTest.objectContaining({a: 1}); + var expected = jasmineUnderTest.objectContaining({ a: 1 }); expect(compareEquals(actual, expected).message).toEqual( "Expected 1 to equal ''." ); }); - it("reports mismatches involving a nested objectContaining", function() { - var actual = {x: {a: 1, b: 4, c: 3, extra: 'ignored'}}; - var expected = {x: jasmineUnderTest.objectContaining({a: 1, b: 2, c: 3, d: 4})}; + it('reports mismatches involving a nested objectContaining', function() { + var actual = { x: { a: 1, b: 4, c: 3, extra: 'ignored' } }; + var expected = { + x: jasmineUnderTest.objectContaining({ a: 1, b: 2, c: 3, d: 4 }) + }; expect(compareEquals(actual, expected).message).toEqual( 'Expected $.x.b = 4 to equal 2.\n' + - 'Expected $.x.d = undefined to equal 4.' + 'Expected $.x.d = undefined to equal 4.' ); }); // == Sets == - it("reports mismatches between Sets", function() { + it('reports mismatches between Sets', function() { jasmine.getEnv().requireFunctioningSets(); var actual = new Set(); // eslint-disable-line compat/compat @@ -470,19 +473,20 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports deep mismatches within Sets", function() { + it('reports deep mismatches within Sets', function() { jasmine.getEnv().requireFunctioningSets(); var actual = new Set(); // eslint-disable-line compat/compat - actual.add({x: 1}); + actual.add({ x: 1 }); var expected = new Set(); // eslint-disable-line compat/compat - expected.add({x: 2}); - var message = 'Expected Set( Object({ x: 1 }) ) to equal Set( Object({ x: 2 }) ).'; + expected.add({ x: 2 }); + var message = + 'Expected Set( Object({ x: 1 }) ) to equal Set( Object({ x: 2 }) ).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Sets nested in objects", function() { + it('reports mismatches between Sets nested in objects', function() { jasmine.getEnv().requireFunctioningSets(); var actualSet = new Set(); // eslint-disable-line compat/compat @@ -492,12 +496,12 @@ describe("toEqual", function() { var actual = { sets: [actualSet] }; var expected = { sets: [expectedSet] }; - var message = "Expected $.sets[0] = Set( 1 ) to equal Set( 2 )."; + var message = 'Expected $.sets[0] = Set( 1 ) to equal Set( 2 ).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Sets of different lengths", function() { + it('reports mismatches between Sets of different lengths', function() { jasmine.getEnv().requireFunctioningSets(); var actual = new Set(); // eslint-disable-line compat/compat @@ -510,175 +514,182 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Sets where actual is missing a value from expected", function() { + it('reports mismatches between Sets where actual is missing a value from expected', function() { jasmine.getEnv().requireFunctioningSets(); // Use 'duplicate' object in actual so sizes match var actual = new Set(); // eslint-disable-line compat/compat - actual.add({x: 1}); - actual.add({x: 1}); + actual.add({ x: 1 }); + actual.add({ x: 1 }); var expected = new Set(); // eslint-disable-line compat/compat - expected.add({x: 1}); - expected.add({x: 2}); - var message = 'Expected Set( Object({ x: 1 }), Object({ x: 1 }) ) to equal Set( Object({ x: 1 }), Object({ x: 2 }) ).'; + expected.add({ x: 1 }); + expected.add({ x: 2 }); + var message = + 'Expected Set( Object({ x: 1 }), Object({ x: 1 }) ) to equal Set( Object({ x: 1 }), Object({ x: 2 }) ).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Sets where actual has a value missing from expected", function() { + it('reports mismatches between Sets where actual has a value missing from expected', function() { jasmine.getEnv().requireFunctioningSets(); // Use 'duplicate' object in expected so sizes match var actual = new Set(); // eslint-disable-line compat/compat - actual.add({x: 1}); - actual.add({x: 2}); + actual.add({ x: 1 }); + actual.add({ x: 2 }); var expected = new Set(); // eslint-disable-line compat/compat - expected.add({x: 1}); - expected.add({x: 1}); - var message = 'Expected Set( Object({ x: 1 }), Object({ x: 2 }) ) to equal Set( Object({ x: 1 }), Object({ x: 1 }) ).'; + expected.add({ x: 1 }); + expected.add({ x: 1 }); + var message = + 'Expected Set( Object({ x: 1 }), Object({ x: 2 }) ) to equal Set( Object({ x: 1 }), Object({ x: 1 }) ).'; expect(compareEquals(actual, expected).message).toEqual(message); }); // == Maps == - it("does not report mismatches between deep equal Maps", function() { + it('does not report mismatches between deep equal Maps', function() { jasmine.getEnv().requireFunctioningMaps(); // values are the same but with different object identity var actual = new Map(); // eslint-disable-line compat/compat - actual.set('a',{x:1}); + actual.set('a', { x: 1 }); var expected = new Map(); // eslint-disable-line compat/compat - expected.set('a',{x:1}); + expected.set('a', { x: 1 }); expect(compareEquals(actual, expected).pass).toBe(true); }); - it("reports deep mismatches within Maps", function() { + it('reports deep mismatches within Maps', function() { jasmine.getEnv().requireFunctioningMaps(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set('a',{x:1}); + actual.set('a', { x: 1 }); var expected = new Map(); // eslint-disable-line compat/compat - expected.set('a',{x:2}); - var message = "Expected Map( [ 'a', Object({ x: 1 }) ] ) to equal Map( [ 'a', Object({ x: 2 }) ] )."; + expected.set('a', { x: 2 }); + var message = + "Expected Map( [ 'a', Object({ x: 1 }) ] ) to equal Map( [ 'a', Object({ x: 2 }) ] )."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Maps nested in objects", function() { + it('reports mismatches between Maps nested in objects', function() { jasmine.getEnv().requireFunctioningMaps(); - var actual = {Maps:[new Map()]}; // eslint-disable-line compat/compat - actual.Maps[0].set('a',1); - var expected = {Maps:[new Map()]}; // eslint-disable-line compat/compat - expected.Maps[0].set('a',2); + var actual = { Maps: [new Map()] }; // eslint-disable-line compat/compat + actual.Maps[0].set('a', 1); + var expected = { Maps: [new Map()] }; // eslint-disable-line compat/compat + expected.Maps[0].set('a', 2); - var message = "Expected $.Maps[0] = Map( [ 'a', 1 ] ) to equal Map( [ 'a', 2 ] )."; + var message = + "Expected $.Maps[0] = Map( [ 'a', 1 ] ) to equal Map( [ 'a', 2 ] )."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Maps of different lengths", function() { + it('reports mismatches between Maps of different lengths', function() { jasmine.getEnv().requireFunctioningMaps(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set('a',1); + actual.set('a', 1); var expected = new Map(); // eslint-disable-line compat/compat - expected.set('a',2); - expected.set('b',1); - var message = "Expected Map( [ 'a', 1 ] ) to equal Map( [ 'a', 2 ], [ 'b', 1 ] )."; + expected.set('a', 2); + expected.set('b', 1); + var message = + "Expected Map( [ 'a', 1 ] ) to equal Map( [ 'a', 2 ], [ 'b', 1 ] )."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between Maps with equal values but differing keys", function() { + it('reports mismatches between Maps with equal values but differing keys', function() { jasmine.getEnv().requireFunctioningMaps(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set('a',1); + actual.set('a', 1); var expected = new Map(); // eslint-disable-line compat/compat - expected.set('b',1); + expected.set('b', 1); var message = "Expected Map( [ 'a', 1 ] ) to equal Map( [ 'b', 1 ] )."; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("does not report mismatches between Maps with keys with same object identity", function() { + it('does not report mismatches between Maps with keys with same object identity', function() { jasmine.getEnv().requireFunctioningMaps(); - var key = {x: 1}; + var key = { x: 1 }; var actual = new Map(); // eslint-disable-line compat/compat - actual.set(key,2); + actual.set(key, 2); var expected = new Map(); // eslint-disable-line compat/compat - expected.set(key,2); + expected.set(key, 2); expect(compareEquals(actual, expected).pass).toBe(true); }); - it("reports mismatches between Maps with identical keys with different object identity", function() { + it('reports mismatches between Maps with identical keys with different object identity', function() { jasmine.getEnv().requireFunctioningMaps(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set({x:1},2); + actual.set({ x: 1 }, 2); var expected = new Map(); // eslint-disable-line compat/compat - expected.set({x:1},2); - var message = "Expected Map( [ Object({ x: 1 }), 2 ] ) to equal Map( [ Object({ x: 1 }), 2 ] )."; + expected.set({ x: 1 }, 2); + var message = + 'Expected Map( [ Object({ x: 1 }), 2 ] ) to equal Map( [ Object({ x: 1 }), 2 ] ).'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("does not report mismatches when comparing Map key to jasmine.anything()", function() { + it('does not report mismatches when comparing Map key to jasmine.anything()', function() { jasmine.getEnv().requireFunctioningMaps(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set('a',1); + actual.set('a', 1); var expected = new Map(); // eslint-disable-line compat/compat - expected.set(jasmineUnderTest.anything(),1); + expected.set(jasmineUnderTest.anything(), 1); expect(compareEquals(actual, expected).pass).toBe(true); }); - it("does not report mismatches when comparing Maps with the same symbol keys", function() { + it('does not report mismatches when comparing Maps with the same symbol keys', function() { jasmine.getEnv().requireFunctioningMaps(); jasmine.getEnv().requireFunctioningSymbols(); var key = Symbol(); // eslint-disable-line compat/compat var actual = new Map(); // eslint-disable-line compat/compat - actual.set(key,1); + actual.set(key, 1); var expected = new Map(); // eslint-disable-line compat/compat - expected.set(key,1); + expected.set(key, 1); expect(compareEquals(actual, expected).pass).toBe(true); }); - it("reports mismatches between Maps with different symbol keys", function() { + it('reports mismatches between Maps with different symbol keys', function() { jasmine.getEnv().requireFunctioningMaps(); jasmine.getEnv().requireFunctioningSymbols(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set(Symbol(),1); // eslint-disable-line compat/compat + actual.set(Symbol(), 1); // eslint-disable-line compat/compat var expected = new Map(); // eslint-disable-line compat/compat - expected.set(Symbol(),1); // eslint-disable-line compat/compat - var message = "Expected Map( [ Symbol(), 1 ] ) to equal Map( [ Symbol(), 1 ] )."; + expected.set(Symbol(), 1); // eslint-disable-line compat/compat + var message = + 'Expected Map( [ Symbol(), 1 ] ) to equal Map( [ Symbol(), 1 ] ).'; expect(compareEquals(actual, expected).message).toBe(message); }); - it("does not report mismatches when comparing Map symbol key to jasmine.anything()", function() { + it('does not report mismatches when comparing Map symbol key to jasmine.anything()', function() { jasmine.getEnv().requireFunctioningMaps(); jasmine.getEnv().requireFunctioningSymbols(); var actual = new Map(); // eslint-disable-line compat/compat - actual.set(Symbol(),1); // eslint-disable-line compat/compat + actual.set(Symbol(), 1); // eslint-disable-line compat/compat var expected = new Map(); // eslint-disable-line compat/compat - expected.set(jasmineUnderTest.anything(),1); + expected.set(jasmineUnderTest.anything(), 1); expect(compareEquals(actual, expected).pass).toBe(true); }); describe('DOM nodes', function() { function isNotRunningInBrowser() { - return typeof document === 'undefined' + return typeof document === 'undefined'; } beforeEach(function() { @@ -699,30 +710,31 @@ describe("toEqual", function() { } }); - it("reports mismatches between DOM nodes with different tags", function() { - var actual = {a: this.doc.createElement('div')}, - expected = {a: this.doc.createElement('p')}, - message = 'Expected $.a =
to equal

.'; + it('reports mismatches between DOM nodes with different tags', function() { + var actual = { a: this.doc.createElement('div') }, + expected = { a: this.doc.createElement('p') }, + message = 'Expected $.a =

to equal

.'; expect(compareEquals(actual, expected).message).toEqual(message); }); it('reports mismatches between DOM nodes with different content', function() { var nodeA = this.doc.createElement('div'), - nodeB = this.doc.createElement('div'); + nodeB = this.doc.createElement('div'); nodeA.setAttribute('thing', 'foo'); nodeB.setAttribute('thing', 'bar'); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, - message = 'Expected $.a =

to equal
.'; + var actual = { a: nodeA }, + expected = { a: nodeB }, + message = + 'Expected $.a =
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between SVG nodes", function () { + it('reports mismatches between SVG nodes', function() { var nodeA = this.doc.createElementNS('http://www.w3.org/2000/svg', 'svg'), nodeB = this.doc.createElementNS('http://www.w3.org/2000/svg', 'svg'); @@ -734,14 +746,15 @@ describe("toEqual", function() { nodeA.appendChild(rect); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, - message = 'Expected $.a = ... to equal .'; + var actual = { a: nodeA }, + expected = { a: nodeB }, + message = + 'Expected $.a = ... to equal .'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports whole DOM node when attribute contains > character", function () { + it('reports whole DOM node when attribute contains > character', function() { var nodeA = this.doc.createElement('div'), nodeB = this.doc.createElement('div'); @@ -749,14 +762,15 @@ describe("toEqual", function() { nodeB.setAttribute('thing', 'bar'); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, - message = 'Expected $.a =
to equal
.'; + var actual = { a: nodeA }, + expected = { a: nodeB }, + message = + 'Expected $.a =
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it('reports no content when DOM node has multiple empty text nodes', function () { + it('reports no content when DOM node has multiple empty text nodes', function() { var nodeA = this.doc.createElement('div'), nodeB = this.doc.createElement('div'); @@ -766,103 +780,98 @@ describe("toEqual", function() { nodeA.appendChild(this.doc.createTextNode('')); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, + var actual = { a: nodeA }, + expected = { a: nodeB }, message = 'Expected $.a =
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it('reports content when DOM node has non empty text node', function () { + it('reports content when DOM node has non empty text node', function() { var nodeA = this.doc.createElement('div'), nodeB = this.doc.createElement('div'); nodeA.appendChild(this.doc.createTextNode('Hello Jasmine!')); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, + var actual = { a: nodeA }, + expected = { a: nodeB }, message = 'Expected $.a =
...
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it('reports empty DOM attributes', function () { + it('reports empty DOM attributes', function() { var nodeA = this.doc.createElement('div'), nodeB = this.doc.createElement('div'); nodeA.setAttribute('contenteditable', ''); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, + var actual = { a: nodeA }, + expected = { a: nodeB }, message = 'Expected $.a =
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it('reports 0 attr value as non empty DOM attribute', function () { + it('reports 0 attr value as non empty DOM attribute', function() { var nodeA = this.doc.createElement('div'), nodeB = this.doc.createElement('div'); nodeA.setAttribute('contenteditable', 0); expect(nodeA.isEqualNode(nodeB)).toBe(false); - var actual = {a: nodeA}, - expected = {a: nodeB}, + var actual = { a: nodeA }, + expected = { a: nodeB }, message = 'Expected $.a =
to equal
.'; expect(compareEquals(actual, expected).message).toEqual(message); }); - it("reports mismatches between a DOM node and a bare Object", function() { - var actual = {a: this.doc.createElement('div')}, - expected = {a: {}}, - message = 'Expected $.a =
to equal Object({ }).'; + it('reports mismatches between a DOM node and a bare Object', function() { + var actual = { a: this.doc.createElement('div') }, + expected = { a: {} }, + message = 'Expected $.a =
to equal Object({ }).'; expect(compareEquals(actual, expected).message).toEqual(message); }); }); - it("reports asymmetric mismatches", function() { - var actual = {a: 1}, - expected = {a: jasmineUnderTest.any(String)}, + it('reports asymmetric mismatches', function() { + var actual = { a: 1 }, + expected = { a: jasmineUnderTest.any(String) }, message = 'Expected $.a = 1 to equal .'; expect(compareEquals(actual, expected).message).toEqual(message); - expect(compareEquals(actual, expected).pass).toBe(false) + expect(compareEquals(actual, expected).pass).toBe(false); }); - it("reports asymmetric mismatches when the asymmetric comparand is the actual value", function() { - var actual = {a: jasmineUnderTest.any(String)}, - expected = {a: 1}, + it('reports asymmetric mismatches when the asymmetric comparand is the actual value', function() { + var actual = { a: jasmineUnderTest.any(String) }, + expected = { a: 1 }, message = 'Expected $.a = to equal 1.'; expect(compareEquals(actual, expected).message).toEqual(message); - expect(compareEquals(actual, expected).pass).toBe(false) + expect(compareEquals(actual, expected).pass).toBe(false); }); - it("does not report a mismatch when asymmetric matchers are satisfied", function() { - var actual = {a: 'a'}, - expected = {a: jasmineUnderTest.any(String)}; + it('does not report a mismatch when asymmetric matchers are satisfied', function() { + var actual = { a: 'a' }, + expected = { a: jasmineUnderTest.any(String) }; expect(compareEquals(actual, expected).message).toEqual(''); - expect(compareEquals(actual, expected).pass).toBe(true) + expect(compareEquals(actual, expected).pass).toBe(true); }); - it("works on big complex stuff", function() { + it('works on big complex stuff', function() { var actual = { - foo: [ - {bar: 1, things: ['a', 'b']}, - {bar: 2, things: ['a', 'b']} - ], - baz: [ - {a: {b: 1}} - ], + foo: [{ bar: 1, things: ['a', 'b'] }, { bar: 2, things: ['a', 'b'] }], + baz: [{ a: { b: 1 } }], quux: 1, nan: 0, aRegexp: 'hi', - inf: -1/0, + inf: -1 / 0, boolean: false, notDefined: 0, aNull: void 0 @@ -870,16 +879,14 @@ describe("toEqual", function() { var expected = { foo: [ - {bar: 2, things: ['a', 'b', 'c']}, - {bar: 2, things: ['a', 'd']} - ], - baz: [ - {a: {b: 1, c: 1}} + { bar: 2, things: ['a', 'b', 'c'] }, + { bar: 2, things: ['a', 'd'] } ], + baz: [{ a: { b: 1, c: 1 } }], quux: [], - nan: 0/0, + nan: 0 / 0, aRegexp: /hi/, - inf: 1/0, + inf: 1 / 0, boolean: true, notDefined: void 0, aNull: null @@ -903,18 +910,19 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - describe("different length arrays", function() { - it("actual array is longer", function() { + describe('different length arrays', function() { + it('actual array is longer', function() { var actual = [1, 1, 2, 3, 5], expected = [1, 1, 2, 3], - message = 'Expected $.length = 5 to equal 4.\n' + + message = + 'Expected $.length = 5 to equal 4.\n' + 'Unexpected $[4] = 5 in array.'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("uses custom object formatters when the actual array is longer", function() { + it('uses custom object formatters when the actual array is longer', function() { function formatter(x) { if (typeof x === 'number') { return '|' + x + '|'; @@ -924,25 +932,27 @@ describe("toEqual", function() { var actual = [1, 1, 2, 3, 5], expected = [1, 1, 2, 3], pp = jasmineUnderTest.makePrettyPrinter([formatter]), - matchersUtil = new jasmineUnderTest.MatchersUtil({pp: pp}), + matchersUtil = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toEqual(matchersUtil), - message = 'Expected $.length = |5| to equal |4|.\n' + + message = + 'Expected $.length = |5| to equal |4|.\n' + 'Unexpected $[4] = |5| in array.'; expect(matcher.compare(actual, expected).message).toEqual(message); }); - it("expected array is longer", function() { + it('expected array is longer', function() { var actual = [1, 1, 2, 3], expected = [1, 1, 2, 3, 5], - message = 'Expected $.length = 4 to equal 5.\n' + + message = + 'Expected $.length = 4 to equal 5.\n' + 'Expected $[4] = undefined to equal 5.'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("undefined in middle of actual array", function() { + it('undefined in middle of actual array', function() { var actual = [1, void 0, 3], expected = [1, 2, 3], message = 'Expected $[1] = undefined to equal 2.'; @@ -951,7 +961,7 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("undefined in middle of expected array", function() { + it('undefined in middle of expected array', function() { var actual = [1, 2, 3], expected = [1, void 0, 3], message = 'Expected $[1] = 2 to equal undefined.'; @@ -960,10 +970,11 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("actual array is longer by 4 elements", function() { + it('actual array is longer by 4 elements', function() { var actual = [1, 1, 2, 3, 5, 8, 13], expected = [1, 1, 2], - message = 'Expected $.length = 7 to equal 3.\n' + + message = + 'Expected $.length = 7 to equal 3.\n' + 'Unexpected $[3] = 3 in array.\n' + 'Unexpected $[4] = 5 in array.\n' + 'Unexpected $[5] = 8 in array.\n' + @@ -973,10 +984,11 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("expected array is longer by 4 elements", function() { + it('expected array is longer by 4 elements', function() { var actual = [1, 1, 2], expected = [1, 1, 2, 3, 5, 8, 13], - message = 'Expected $.length = 3 to equal 7.\n' + + message = + 'Expected $.length = 3 to equal 7.\n' + 'Expected $[3] = undefined to equal 3.\n' + 'Expected $[4] = undefined to equal 5.\n' + 'Expected $[5] = undefined to equal 8.\n' + @@ -986,10 +998,11 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("different length and different elements", function() { + it('different length and different elements', function() { var actual = [1], expected = [2, 3], - message = 'Expected $.length = 1 to equal 2.\n' + + message = + 'Expected $.length = 1 to equal 2.\n' + 'Expected $[0] = 1 to equal 2.\n' + 'Expected $[1] = undefined to equal 3.'; @@ -997,50 +1010,55 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("object with nested array (actual longer than expected)", function() { + it('object with nested array (actual longer than expected)', function() { var actual = { values: [1, 1, 2, 3] }, expected = { values: [1, 1, 2] }, - message = 'Expected $.values.length = 4 to equal 3.\n' + + message = + 'Expected $.values.length = 4 to equal 3.\n' + 'Unexpected $.values[3] = 3 in array.'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("object with nested array (expected longer than actual)", function() { + it('object with nested array (expected longer than actual)', function() { var actual = { values: [1, 1, 2] }, expected = { values: [1, 1, 2, 3] }, - message = 'Expected $.values.length = 3 to equal 4.\n' + + message = + 'Expected $.values.length = 3 to equal 4.\n' + 'Expected $.values[3] = undefined to equal 3.'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("array with unexpected nested object", function() { + it('array with unexpected nested object', function() { var actual = [1, 1, 2, { value: 3 }], expected = [1, 1, 2], - message = 'Expected $.length = 4 to equal 3.\n' + + message = + 'Expected $.length = 4 to equal 3.\n' + 'Unexpected $[3] = Object({ value: 3 }) in array.'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("array with missing nested object", function() { + it('array with missing nested object', function() { var actual = [1, 1, 2], expected = [1, 1, 2, { value: 3 }], - message = 'Expected $.length = 3 to equal 4.\n' + + message = + 'Expected $.length = 3 to equal 4.\n' + 'Expected $[3] = undefined to equal Object({ value: 3 }).'; expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - it("array with nested different length array", function() { + it('array with nested different length array', function() { var actual = [[1], [1, 2]], expected = [[1, 1], [2]], - message = 'Expected $[0].length = 1 to equal 2.\n' + + message = + 'Expected $[0].length = 1 to equal 2.\n' + 'Expected $[0][1] = undefined to equal 1.\n' + 'Expected $[1].length = 2 to equal 1.\n' + 'Expected $[1][0] = 1 to equal 2.\n' + @@ -1050,7 +1068,7 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).message).toEqual(message); }); - it("last element of longer array is undefined", function() { + it('last element of longer array is undefined', function() { var actual = [1, 2], expected = [1, 2, void 0], message = 'Expected $.length = 2 to equal 3.'; @@ -1058,5 +1076,5 @@ describe("toEqual", function() { expect(compareEquals(actual, expected).pass).toBe(false); expect(compareEquals(actual, expected).message).toEqual(message); }); - }) + }); }); diff --git a/spec/core/matchers/toHaveBeenCalledBeforeSpec.js b/spec/core/matchers/toHaveBeenCalledBeforeSpec.js index 266758fe..2bf316e3 100644 --- a/spec/core/matchers/toHaveBeenCalledBeforeSpec.js +++ b/spec/core/matchers/toHaveBeenCalledBeforeSpec.js @@ -1,29 +1,29 @@ -describe("toHaveBeenCalledBefore", function() { - it("throws an exception when the actual is not a spy", function() { +describe('toHaveBeenCalledBefore', function() { + it('throws an exception when the actual is not a spy', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore({ - pp: jasmineUnderTest.makePrettyPrinter() - }), - fn = function() {}, - spy = new jasmineUnderTest.Env().createSpy('a spy'); + pp: jasmineUnderTest.makePrettyPrinter() + }), + fn = function() {}, + spy = new jasmineUnderTest.Env().createSpy('a spy'); - expect(function () { + expect(function() { matcher.compare(fn, spy); }).toThrowError(Error, /Expected a spy, but got Function./); }); - it("throws an exception when the expected is not a spy", function() { + it('throws an exception when the expected is not a spy', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore({ - pp: jasmineUnderTest.makePrettyPrinter() - }), - spy = new jasmineUnderTest.Env().createSpy('a spy'), - fn = function() {}; + pp: jasmineUnderTest.makePrettyPrinter() + }), + spy = new jasmineUnderTest.Env().createSpy('a spy'), + fn = function() {}; - expect(function () { + expect(function() { matcher.compare(spy, fn); }).toThrowError(Error, /Expected a spy, but got Function./); }); - it("fails when the actual was not called", function () { + it('fails when the actual was not called', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'); @@ -32,10 +32,12 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(false); - expect(result.message).toMatch(/Expected spy first spy to have been called./); + expect(result.message).toMatch( + /Expected spy first spy to have been called./ + ); }); - it("fails when the expected was not called", function () { + it('fails when the expected was not called', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'); @@ -44,10 +46,12 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(false); - expect(result.message).toMatch(/Expected spy second spy to have been called./); + expect(result.message).toMatch( + /Expected spy second spy to have been called./ + ); }); - it("fails when the actual is called after the expected", function () { + it('fails when the actual is called after the expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'), @@ -58,10 +62,12 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(false); - expect(result.message).toEqual('Expected spy first spy to have been called before spy second spy'); + expect(result.message).toEqual( + 'Expected spy first spy to have been called before spy second spy' + ); }); - it("fails when the actual is called before and after the expected", function () { + it('fails when the actual is called before and after the expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'), @@ -73,10 +79,12 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(false); - expect(result.message).toEqual('Expected latest call to spy first spy to have been called before first call to spy second spy (no interleaved calls)'); + expect(result.message).toEqual( + 'Expected latest call to spy first spy to have been called before first call to spy second spy (no interleaved calls)' + ); }); - it("fails when the expected is called before and after the actual", function () { + it('fails when the expected is called before and after the actual', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'), @@ -88,10 +96,12 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(false); - expect(result.message).toEqual('Expected first call to spy second spy to have been called after latest call to spy first spy (no interleaved calls)'); + expect(result.message).toEqual( + 'Expected first call to spy second spy to have been called after latest call to spy first spy (no interleaved calls)' + ); }); - it("passes when the actual is called before the expected", function () { + it('passes when the actual is called before the expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledBefore(), firstSpy = new jasmineUnderTest.Spy('first spy'), secondSpy = new jasmineUnderTest.Spy('second spy'), @@ -102,6 +112,8 @@ describe("toHaveBeenCalledBefore", function() { result = matcher.compare(firstSpy, secondSpy); expect(result.pass).toBe(true); - expect(result.message).toEqual('Expected spy first spy to not have been called before spy second spy, but it was'); + expect(result.message).toEqual( + 'Expected spy first spy to not have been called before spy second spy, but it was' + ); }); }); diff --git a/spec/core/matchers/toHaveBeenCalledOnceWithSpec.js b/spec/core/matchers/toHaveBeenCalledOnceWithSpec.js index d79711a5..ff2975c9 100644 --- a/spec/core/matchers/toHaveBeenCalledOnceWithSpec.js +++ b/spec/core/matchers/toHaveBeenCalledOnceWithSpec.js @@ -1,6 +1,5 @@ -describe("toHaveBeenCalledOnceWith", function () { - - it("passes when the actual was called only once and with matching parameters", function () { +describe('toHaveBeenCalledOnceWith', function() { + it('passes when the actual was called only once and with matching parameters', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), @@ -11,13 +10,23 @@ describe("toHaveBeenCalledOnceWith", function () { result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected spy called-spy to have been called 0 times, multiple times, or once, but with arguments different from:\n [ 'a', 'b' ]\nBut the actual call was:\n [ 'a', 'b' ].\n\n"); + expect(result.message).toEqual( + "Expected spy called-spy to have been called 0 times, multiple times, or once, but with arguments different from:\n [ 'a', 'b' ]\nBut the actual call was:\n [ 'a', 'b' ].\n\n" + ); }); - it("supports custom equality testers", function () { - var customEqualityTesters = [function() { return true; }], - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: customEqualityTesters}), - matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(matchersUtil), + it('supports custom equality testers', function() { + var customEqualityTesters = [ + function() { + return true; + } + ], + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: customEqualityTesters + }), + matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith( + matchersUtil + ), calledSpy = new jasmineUnderTest.Spy('called-spy'), result; @@ -27,7 +36,7 @@ describe("toHaveBeenCalledOnceWith", function () { expect(result.pass).toBe(true); }); - it("fails when the actual was never called", function () { + it('fails when the actual was never called', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), @@ -37,10 +46,12 @@ describe("toHaveBeenCalledOnceWith", function () { result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut it was never called.\n\n"); + expect(result.message).toEqual( + "Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut it was never called.\n\n" + ); }); - it("fails when the actual was called once with different parameters", function () { + it('fails when the actual was called once with different parameters', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), @@ -51,10 +62,12 @@ describe("toHaveBeenCalledOnceWith", function () { result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual call was:\n [ 'a', 'c' ].\nExpected $[1] = 'c' to equal 'b'.\n\n"); + expect(result.message).toEqual( + "Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual call was:\n [ 'a', 'c' ].\nExpected $[1] = 'c' to equal 'b'.\n\n" + ); }); - it("fails when the actual was called multiple times with expected parameters", function () { + it('fails when the actual was called multiple times with expected parameters', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), @@ -66,10 +79,12 @@ describe("toHaveBeenCalledOnceWith", function () { result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual calls were:\n [ 'a', 'b' ],\n [ 'a', 'b' ].\n\n"); + expect(result.message).toEqual( + "Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual calls were:\n [ 'a', 'b' ],\n [ 'a', 'b' ].\n\n" + ); }); - it("fails when the actual was called multiple times (one of them - with expected parameters)", function () { + it('fails when the actual was called multiple times (one of them - with expected parameters)', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), @@ -81,15 +96,19 @@ describe("toHaveBeenCalledOnceWith", function () { result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual calls were:\n [ 'a', 'b' ],\n [ 'a', 'c' ].\n\n"); + expect(result.message).toEqual( + "Expected spy called-spy to have been called only once, and with given args:\n [ 'a', 'b' ]\nBut the actual calls were:\n [ 'a', 'b' ],\n [ 'a', 'c' ].\n\n" + ); }); - it("throws an exception when the actual is not a spy", function () { + it('throws an exception when the actual is not a spy', function() { var pp = jasmineUnderTest.makePrettyPrinter(), util = new jasmineUnderTest.MatchersUtil({ pp: pp }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledOnceWith(util), - fn = function () { }; + fn = function() {}; - expect(function () { matcher.compare(fn) }).toThrowError(/Expected a spy, but got Function./); + expect(function() { + matcher.compare(fn); + }).toThrowError(/Expected a spy, but got Function./); }); }); diff --git a/spec/core/matchers/toHaveBeenCalledSpec.js b/spec/core/matchers/toHaveBeenCalledSpec.js index 65106cf5..ebc9a9cb 100644 --- a/spec/core/matchers/toHaveBeenCalledSpec.js +++ b/spec/core/matchers/toHaveBeenCalledSpec.js @@ -1,5 +1,5 @@ -describe("toHaveBeenCalled", function() { - it("passes when the actual was called, with a custom .not fail message", function() { +describe('toHaveBeenCalled', function() { + it('passes when the actual was called, with a custom .not fail message', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(), calledSpy = new jasmineUnderTest.Spy('called-spy'), result; @@ -8,10 +8,12 @@ describe("toHaveBeenCalled", function() { result = matcher.compare(calledSpy); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected spy called-spy not to have been called."); + expect(result.message).toEqual( + 'Expected spy called-spy not to have been called.' + ); }); - it("fails when the actual was not called", function() { + it('fails when the actual was not called', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(), uncalledSpy = new jasmineUnderTest.Spy('uncalled spy'), result; @@ -20,30 +22,35 @@ describe("toHaveBeenCalled", function() { expect(result.pass).toBe(false); }); - it("throws an exception when the actual is not a spy", function() { + it('throws an exception when the actual is not a spy', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalled({ pp: jasmineUnderTest.makePrettyPrinter() }), fn = function() {}; - expect(function() { matcher.compare(fn) }).toThrowError(Error, /Expected a spy, but got Function./); + expect(function() { + matcher.compare(fn); + }).toThrowError(Error, /Expected a spy, but got Function./); }); - it("throws an exception when invoked with any arguments", function() { + it('throws an exception when invoked with any arguments', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(), spy = new jasmineUnderTest.Spy('sample spy'); - expect(function() { matcher.compare(spy, 'foo') }).toThrowError(Error, /Does not take arguments, use toHaveBeenCalledWith/); + expect(function() { + matcher.compare(spy, 'foo'); + }).toThrowError(Error, /Does not take arguments, use toHaveBeenCalledWith/); }); - it("has a custom message on failure", function() { + it('has a custom message on failure', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(), spy = new jasmineUnderTest.Spy('sample-spy'), result; result = matcher.compare(spy); - expect(result.message).toEqual("Expected spy sample-spy to have been called."); + expect(result.message).toEqual( + 'Expected spy sample-spy to have been called.' + ); }); }); - diff --git a/spec/core/matchers/toHaveBeenCalledTimesSpec.js b/spec/core/matchers/toHaveBeenCalledTimesSpec.js index e2c0c0ed..12075ad8 100644 --- a/spec/core/matchers/toHaveBeenCalledTimesSpec.js +++ b/spec/core/matchers/toHaveBeenCalledTimesSpec.js @@ -1,12 +1,12 @@ -describe("toHaveBeenCalledTimes", function() { - it("passes when the actual 0 matches the expected 0 ", function () { +describe('toHaveBeenCalledTimes', function() { + it('passes when the actual 0 matches the expected 0 ', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), - calledSpy = new jasmineUnderTest.Spy('called-spy'), - result; + calledSpy = new jasmineUnderTest.Spy('called-spy'), + result; result = matcher.compare(calledSpy, 0); expect(result.pass).toBeTruthy(); }); - it("passes when the actual matches the expected", function() { + it('passes when the actual matches the expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), calledSpy = new jasmineUnderTest.Spy('called-spy'), result; @@ -16,18 +16,20 @@ describe("toHaveBeenCalledTimes", function() { expect(result.pass).toBe(true); }); - it("fails when expected numbers is not supplied", function(){ - var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), + it('fails when expected numbers is not supplied', function() { + var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), spy = new jasmineUnderTest.Spy('spy'), result; spy(); - expect(function() { - matcher.compare(spy); - }).toThrowError(/The expected times failed is a required argument and must be a number./); + expect(function() { + matcher.compare(spy); + }).toThrowError( + /The expected times failed is a required argument and must be a number./ + ); }); - it("fails when the actual was called less than the expected", function() { + it('fails when the actual was called less than the expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), uncalledSpy = new jasmineUnderTest.Spy('uncalled spy'), result; @@ -36,7 +38,7 @@ describe("toHaveBeenCalledTimes", function() { expect(result.pass).toBe(false); }); - it("fails when the actual was called more than expected", function() { + it('fails when the actual was called more than expected', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), uncalledSpy = new jasmineUnderTest.Spy('uncalled spy'), result; @@ -48,7 +50,7 @@ describe("toHaveBeenCalledTimes", function() { expect(result.pass).toBe(false); }); - it("throws an exception when the actual is not a spy", function() { + it('throws an exception when the actual is not a spy', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes({ pp: jasmineUnderTest.makePrettyPrinter() }), @@ -59,7 +61,7 @@ describe("toHaveBeenCalledTimes", function() { }).toThrowError(/Expected a spy, but got Function./); }); - it("has a custom message on failure that tells it was called only once", function() { + it('has a custom message on failure that tells it was called only once', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), spy = new jasmineUnderTest.Spy('sample-spy'), result; @@ -69,10 +71,14 @@ describe("toHaveBeenCalledTimes", function() { spy(); result = matcher.compare(spy, 1); - expect(result.message).toEqual('Expected spy sample-spy to have been called once. It was called ' + 4 + ' times.'); + expect(result.message).toEqual( + 'Expected spy sample-spy to have been called once. It was called ' + + 4 + + ' times.' + ); }); - it("has a custom message on failure that tells how many times it was called", function() { + it('has a custom message on failure that tells how many times it was called', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledTimes(), spy = new jasmineUnderTest.Spy('sample-spy'), result; @@ -82,7 +88,10 @@ describe("toHaveBeenCalledTimes", function() { spy(); result = matcher.compare(spy, 2); - expect(result.message).toEqual('Expected spy sample-spy to have been called 2 times. It was called ' + 4 + ' times.'); + expect(result.message).toEqual( + 'Expected spy sample-spy to have been called 2 times. It was called ' + + 4 + + ' times.' + ); }); }); - diff --git a/spec/core/matchers/toHaveBeenCalledWithSpec.js b/spec/core/matchers/toHaveBeenCalledWithSpec.js index 5f391d6c..a0f869a4 100644 --- a/spec/core/matchers/toHaveBeenCalledWithSpec.js +++ b/spec/core/matchers/toHaveBeenCalledWithSpec.js @@ -1,24 +1,31 @@ -describe("toHaveBeenCalledWith", function() { - - it("passes when the actual was called with matching parameters", function() { +describe('toHaveBeenCalledWith', function() { + it('passes when the actual was called with matching parameters', function() { var matchersUtil = { - contains: jasmine.createSpy('delegated-contains').and.returnValue(true), - pp: jasmineUnderTest.makePrettyPrinter() - }, - matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), - calledSpy = new jasmineUnderTest.Spy('called-spy'), - result; + contains: jasmine.createSpy('delegated-contains').and.returnValue(true), + pp: jasmineUnderTest.makePrettyPrinter() + }, + matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), + calledSpy = new jasmineUnderTest.Spy('called-spy'), + result; calledSpy('a', 'b'); result = matcher.compare(calledSpy, 'a', 'b'); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected spy called-spy not to have been called with:\n [ 'a', 'b' ]\nbut it was."); + expect(result.message()).toEqual( + "Expected spy called-spy not to have been called with:\n [ 'a', 'b' ]\nbut it was." + ); }); - it("supports custom equality testers", function() { - var customEqualityTesters = [function() { return true; }], - matchersUtil = new jasmineUnderTest.MatchersUtil({customTesters: customEqualityTesters}), + it('supports custom equality testers', function() { + var customEqualityTesters = [ + function() { + return true; + } + ], + matchersUtil = new jasmineUnderTest.MatchersUtil({ + customTesters: customEqualityTesters + }), matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), calledSpy = new jasmineUnderTest.Spy('called-spy'), result; @@ -28,25 +35,31 @@ describe("toHaveBeenCalledWith", function() { expect(result.pass).toBe(true); }); - it("fails when the actual was not called", function() { + it('fails when the actual was not called', function() { var matchersUtil = { - contains: jasmine.createSpy('delegated-contains').and.returnValue(false), - pp: jasmineUnderTest.makePrettyPrinter() - }, - matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), - uncalledSpy = new jasmineUnderTest.Spy('uncalled spy'), - result; + contains: jasmine + .createSpy('delegated-contains') + .and.returnValue(false), + pp: jasmineUnderTest.makePrettyPrinter() + }, + matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), + uncalledSpy = new jasmineUnderTest.Spy('uncalled spy'), + result; result = matcher.compare(uncalledSpy); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected spy uncalled spy to have been called with:\n [ ]\nbut it was never called."); + expect(result.message()).toEqual( + 'Expected spy uncalled spy to have been called with:\n [ ]\nbut it was never called.' + ); }); - it("fails when the actual was called with different parameters", function() { - var matchersUtil = new jasmineUnderTest.MatchersUtil({pp: jasmineUnderTest.makePrettyPrinter()}), - matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), - calledSpy = new jasmineUnderTest.Spy('called spy'), - result; + it('fails when the actual was called with different parameters', function() { + var matchersUtil = new jasmineUnderTest.MatchersUtil({ + pp: jasmineUnderTest.makePrettyPrinter() + }), + matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith(matchersUtil), + calledSpy = new jasmineUnderTest.Spy('called spy'), + result; calledSpy('a'); calledSpy('c', 'd'); @@ -55,30 +68,32 @@ describe("toHaveBeenCalledWith", function() { expect(result.pass).toBe(false); expect(result.message()).toEqual( - "Expected spy called spy to have been called with:\n" + - " [ 'a', 'b' ]\n" + - "but actual calls were:\n" + - " [ 'a' ],\n" + - " [ 'c', 'd' ],\n" + - " [ 'a', 'b', 'c' ].\n\n" + - "Call 0:\n" + - " Expected $.length = 1 to equal 2.\n" + - " Expected $[1] = undefined to equal 'b'.\n" + - "Call 1:\n" + - " Expected $[0] = 'c' to equal 'a'.\n" + - " Expected $[1] = 'd' to equal 'b'.\n" + - "Call 2:\n" + - " Expected $.length = 3 to equal 2.\n" + - " Unexpected $[2] = 'c' in array."); + 'Expected spy called spy to have been called with:\n' + + " [ 'a', 'b' ]\n" + + 'but actual calls were:\n' + + " [ 'a' ],\n" + + " [ 'c', 'd' ],\n" + + " [ 'a', 'b', 'c' ].\n\n" + + 'Call 0:\n' + + ' Expected $.length = 1 to equal 2.\n' + + " Expected $[1] = undefined to equal 'b'.\n" + + 'Call 1:\n' + + " Expected $[0] = 'c' to equal 'a'.\n" + + " Expected $[1] = 'd' to equal 'b'.\n" + + 'Call 2:\n' + + ' Expected $.length = 3 to equal 2.\n' + + " Unexpected $[2] = 'c' in array." + ); }); - it("throws an exception when the actual is not a spy", function() { + it('throws an exception when the actual is not a spy', function() { var matcher = jasmineUnderTest.matchers.toHaveBeenCalledWith({ pp: jasmineUnderTest.makePrettyPrinter() }), - fn = function () { - }; + fn = function() {}; - expect(function() { matcher.compare(fn) }).toThrowError(/Expected a spy, but got Function./); + expect(function() { + matcher.compare(fn); + }).toThrowError(/Expected a spy, but got Function./); }); }); diff --git a/spec/core/matchers/toHaveClassSpec.js b/spec/core/matchers/toHaveClassSpec.js index 5f593abc..d56a0a16 100644 --- a/spec/core/matchers/toHaveClassSpec.js +++ b/spec/core/matchers/toHaveClassSpec.js @@ -5,7 +5,10 @@ describe('toHaveClass', function() { it('fails for a DOM element that lacks the expected class', function() { var matcher = jasmineUnderTest.matchers.toHaveClass(), - result = matcher.compare(this.domHelpers.createElementWithClassName(''), 'foo'); + result = matcher.compare( + this.domHelpers.createElementWithClassName(''), + 'foo' + ); expect(result.pass).toBe(false); }); @@ -41,11 +44,11 @@ describe('toHaveClass', function() { var textNode = this.domHelpers.document.createTextNode(''); expect(function() { - matcher.compare(textNode, 'foo') + matcher.compare(textNode, 'foo'); }).toThrowError('HTMLNode is not a DOM element'); expect(function() { - matcher.compare({classList: ''}, 'foo'); + matcher.compare({ classList: '' }, 'foo'); }).toThrowError("Object({ classList: '' }) is not a DOM element"); }); }); diff --git a/spec/core/matchers/toHaveSizeSpec.js b/spec/core/matchers/toHaveSizeSpec.js index d25e39e7..fc5baf91 100644 --- a/spec/core/matchers/toHaveSizeSpec.js +++ b/spec/core/matchers/toHaveSizeSpec.js @@ -18,28 +18,28 @@ describe('toHaveSize', function() { it('passes for an object with the proper number of keys', function() { var matcher = jasmineUnderTest.matchers.toHaveSize(), - result = matcher.compare({a: 1, b: 2}, 2); + result = matcher.compare({ a: 1, b: 2 }, 2); expect(result.pass).toBe(true); }); it('fails for an object with a different number of keys', function() { var matcher = jasmineUnderTest.matchers.toHaveSize(), - result = matcher.compare({a: 1, b: 2}, 1); + result = matcher.compare({ a: 1, b: 2 }, 1); expect(result.pass).toBe(false); }); it('passes for an object with an explicit `length` property that matches', function() { var matcher = jasmineUnderTest.matchers.toHaveSize(), - result = matcher.compare({a: 1, b: 2, length: 5}, 5); + result = matcher.compare({ a: 1, b: 2, length: 5 }, 5); expect(result.pass).toBe(true); }); it('fails for an object with an explicit `length` property that does not match', function() { var matcher = jasmineUnderTest.matchers.toHaveSize(), - result = matcher.compare({a: 1, b: 2, length: 5}, 1); + result = matcher.compare({ a: 1, b: 2, length: 5 }, 1); expect(result.pass).toBe(false); }); @@ -62,8 +62,8 @@ describe('toHaveSize', function() { jasmine.getEnv().requireFunctioningMaps(); var map = new Map(); - map.set('a',1); - map.set('b',2); + map.set('a', 1); + map.set('b', 2); var matcher = jasmineUnderTest.matchers.toHaveSize(), result = matcher.compare(map, 2); @@ -75,8 +75,8 @@ describe('toHaveSize', function() { jasmine.getEnv().requireFunctioningMaps(); var map = new Map(); - map.set('a',1); - map.set('b',2); + map.set('a', 1); + map.set('b', 2); var matcher = jasmineUnderTest.matchers.toHaveSize(), result = matcher.compare(map, 1); diff --git a/spec/core/matchers/toMatchSpec.js b/spec/core/matchers/toMatchSpec.js index b245e34d..aa4d6c54 100644 --- a/spec/core/matchers/toMatchSpec.js +++ b/spec/core/matchers/toMatchSpec.js @@ -1,6 +1,5 @@ -describe("toMatch", function() { - - it("passes when RegExps are equivalent", function() { +describe('toMatch', function() { + it('passes when RegExps are equivalent', function() { var matcher = jasmineUnderTest.matchers.toMatch(), result; @@ -8,7 +7,7 @@ describe("toMatch", function() { expect(result.pass).toBe(true); }); - it("fails when RegExps are not equivalent", function() { + it('fails when RegExps are not equivalent', function() { var matcher = jasmineUnderTest.matchers.toMatch(), result; @@ -16,7 +15,7 @@ describe("toMatch", function() { expect(result.pass).toBe(false); }); - it("passes when the actual matches the expected string as a pattern", function() { + it('passes when the actual matches the expected string as a pattern', function() { var matcher = jasmineUnderTest.matchers.toMatch(), result; @@ -24,7 +23,7 @@ describe("toMatch", function() { expect(result.pass).toBe(true); }); - it("fails when the actual matches the expected string as a pattern", function() { + it('fails when the actual matches the expected string as a pattern', function() { var matcher = jasmineUnderTest.matchers.toMatch(), result; @@ -32,7 +31,7 @@ describe("toMatch", function() { expect(result.pass).toBe(false); }); - it("throws an Error when the expected is not a String or RegExp", function() { + it('throws an Error when the expected is not a String or RegExp', function() { var matcher = jasmineUnderTest.matchers.toMatch(); expect(function() { @@ -40,4 +39,3 @@ describe("toMatch", function() { }).toThrowError(/Expected is not a String or a RegExp/); }); }); - diff --git a/spec/core/matchers/toThrowErrorSpec.js b/spec/core/matchers/toThrowErrorSpec.js index 68fdf8be..c8532276 100644 --- a/spec/core/matchers/toThrowErrorSpec.js +++ b/spec/core/matchers/toThrowErrorSpec.js @@ -1,5 +1,5 @@ -describe("toThrowError", function() { - it("throws an error when the actual is not a function", function() { +describe('toThrowError', function() { + it('throws an error when the actual is not a function', function() { var matcher = jasmineUnderTest.matchers.toThrowError(); expect(function() { @@ -7,10 +7,10 @@ describe("toThrowError", function() { }).toThrowError(/Actual is not a Function/); }); - it("throws an error when the expected is not an Error, string, or RegExp", function() { + it('throws an error when the expected is not an Error, string, or RegExp', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }; expect(function() { @@ -18,21 +18,21 @@ describe("toThrowError", function() { }).toThrowError(/Expected is not an Error, string, or RegExp./); }); - it("throws an error when the expected error type is not an Error", function() { + it('throws an error when the expected error type is not an Error', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }; expect(function() { - matcher.compare(fn, void 0, "foo"); + matcher.compare(fn, void 0, 'foo'); }).toThrowError(/Expected error type is not an Error./); }); - it("throws an error when the expected error message is not a string or RegExp", function() { + it('throws an error when the expected error message is not a string or RegExp', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }; expect(function() { @@ -40,7 +40,7 @@ describe("toThrowError", function() { }).toThrowError(/Expected error message is not a string or RegExp./); }); - it("fails if actual does not throw at all", function() { + it('fails if actual does not throw at all', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { return true; @@ -50,10 +50,10 @@ describe("toThrowError", function() { result = matcher.compare(fn); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected function to throw an Error."); + expect(result.message).toEqual('Expected function to throw an Error.'); }); - it("fails if thrown is not an instanceof Error", function() { + it('fails if thrown is not an instanceof Error', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), @@ -64,12 +64,14 @@ describe("toThrowError", function() { result = matcher.compare(fn); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an Error, but it threw 4."); + expect(result.message()).toEqual( + 'Expected function to throw an Error, but it threw 4.' + ); }); - describe("when error is from another frame", function() { + describe('when error is from another frame', function() { function isNotRunningInBrowser() { - return typeof document === 'undefined' + return typeof document === 'undefined'; } var iframe = null; @@ -80,31 +82,36 @@ describe("toThrowError", function() { } }); - it("passes if thrown is an instanceof Error regardless of global that contains its constructor", function() { + it('passes if thrown is an instanceof Error regardless of global that contains its constructor', function() { if (isNotRunningInBrowser()) { return; } var matcher = jasmineUnderTest.matchers.toThrowError(); - iframe = document.body.appendChild(document.createElement("iframe")); - iframe.src = "about:blank"; + iframe = document.body.appendChild(document.createElement('iframe')); + iframe.src = 'about:blank'; var iframeDocument = iframe.contentWindow.document; if (iframeDocument.body) { - iframeDocument.body.appendChild(iframeDocument.createElement("script")) - .textContent = "function method() { throw new Error('foo'); }"; + iframeDocument.body.appendChild( + iframeDocument.createElement('script') + ).textContent = "function method() { throw new Error('foo'); }"; } else { // IE 10 and older - iframeDocument.write(""); + iframeDocument.write( + "" + ); } var result = matcher.compare(iframe.contentWindow.method); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected function not to throw an Error, but it threw Error."); + expect(result.message).toEqual( + 'Expected function not to throw an Error, but it threw Error.' + ); }); }); - it("fails with the correct message if thrown is a falsy value", function() { + it('fails with the correct message if thrown is a falsy value', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), @@ -115,10 +122,12 @@ describe("toThrowError", function() { result = matcher.compare(fn); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an Error, but it threw undefined."); + expect(result.message()).toEqual( + 'Expected function to throw an Error, but it threw undefined.' + ); }); - it("passes if thrown is a type of Error, but there is no expected error", function() { + it('passes if thrown is a type of Error, but there is no expected error', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { throw new TypeError(); @@ -128,70 +137,80 @@ describe("toThrowError", function() { result = matcher.compare(fn); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected function not to throw an Error, but it threw TypeError."); + expect(result.message).toEqual( + 'Expected function not to throw an Error, but it threw TypeError.' + ); }); - it("passes if thrown is an Error and the expected is the same message", function() { + it('passes if thrown is an Error and the expected is the same message', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }, result; - result = matcher.compare(fn, "foo"); + result = matcher.compare(fn, 'foo'); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw an exception with message 'foo'."); + expect(result.message()).toEqual( + "Expected function not to throw an exception with message 'foo'." + ); }); - it("fails if thrown is an Error and the expected is not the same message", function() { + it('fails if thrown is an Error and the expected is not the same message', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }, result; - result = matcher.compare(fn, "bar"); + result = matcher.compare(fn, 'bar'); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an exception with message 'bar', but it threw an exception with message 'foo'."); + expect(result.message()).toEqual( + "Expected function to throw an exception with message 'bar', but it threw an exception with message 'foo'." + ); }); - it("passes if thrown is an Error and the expected is a RegExp that matches the message", function() { + it('passes if thrown is an Error and the expected is a RegExp that matches the message', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), fn = function() { - throw new Error("a long message"); + throw new Error('a long message'); }, result; result = matcher.compare(fn, /long/); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw an exception with a message matching /long/."); + expect(result.message()).toEqual( + 'Expected function not to throw an exception with a message matching /long/.' + ); }); - it("fails if thrown is an Error and the expected is a RegExp that does not match the message", function() { + it('fails if thrown is an Error and the expected is a RegExp that does not match the message', function() { var matcher = jasmineUnderTest.matchers.toThrowError({ pp: jasmineUnderTest.makePrettyPrinter() }), fn = function() { - throw new Error("a long message"); + throw new Error('a long message'); }, result; result = matcher.compare(fn, /foo/); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an exception with a message matching /foo/, but it threw an exception with message 'a long message'."); + expect(result.message()).toEqual( + "Expected function to throw an exception with a message matching /foo/, but it threw an exception with message 'a long message'." + ); }); - it("passes if thrown is an Error and the expected the same Error", function() { + it('passes if thrown is an Error and the expected the same Error', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { throw new Error(); @@ -201,12 +220,14 @@ describe("toThrowError", function() { result = matcher.compare(fn, Error); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw Error."); + expect(result.message()).toEqual('Expected function not to throw Error.'); }); - it("passes if thrown is a custom error that takes arguments and the expected is the same error", function() { + it('passes if thrown is a custom error that takes arguments and the expected is the same error', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), - CustomError = function CustomError(arg) { arg.x }, + CustomError = function CustomError(arg) { + arg.x; + }, fn = function() { throw new CustomError({ x: 1 }); }, @@ -217,10 +238,12 @@ describe("toThrowError", function() { result = matcher.compare(fn, CustomError); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw CustomError."); + expect(result.message()).toEqual( + 'Expected function not to throw CustomError.' + ); }); - it("fails if thrown is an Error and the expected is a different Error", function() { + it('fails if thrown is an Error and the expected is a different Error', function() { var matcher = jasmineUnderTest.matchers.toThrowError(), fn = function() { throw new Error(); @@ -230,94 +253,108 @@ describe("toThrowError", function() { result = matcher.compare(fn, TypeError); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw TypeError, but it threw Error."); + expect(result.message()).toEqual( + 'Expected function to throw TypeError, but it threw Error.' + ); }); - it("passes if thrown is a type of Error and it is equal to the expected Error and message", function() { + it('passes if thrown is a type of Error and it is equal to the expected Error and message', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(true), pp: jasmineUnderTest.makePrettyPrinter() }, matcher = jasmineUnderTest.matchers.toThrowError(matchersUtil), fn = function() { - throw new TypeError("foo"); + throw new TypeError('foo'); }, result; - result = matcher.compare(fn, TypeError, "foo"); + result = matcher.compare(fn, TypeError, 'foo'); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw TypeError with message 'foo'."); + expect(result.message()).toEqual( + "Expected function not to throw TypeError with message 'foo'." + ); }); - it("passes if thrown is a custom error that takes arguments and it is equal to the expected custom error and message", function() { + it('passes if thrown is a custom error that takes arguments and it is equal to the expected custom error and message', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(true), pp: jasmineUnderTest.makePrettyPrinter() }, matcher = jasmineUnderTest.matchers.toThrowError(matchersUtil), - CustomError = function CustomError(arg) { this.message = arg.message; }, + CustomError = function CustomError(arg) { + this.message = arg.message; + }, fn = function() { - throw new CustomError({message: "foo"}); + throw new CustomError({ message: 'foo' }); }, result; CustomError.prototype = new Error(); - result = matcher.compare(fn, CustomError, "foo"); + result = matcher.compare(fn, CustomError, 'foo'); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw CustomError with message 'foo'."); + expect(result.message()).toEqual( + "Expected function not to throw CustomError with message 'foo'." + ); }); - it("fails if thrown is a type of Error and the expected is a different Error", function() { + it('fails if thrown is a type of Error and the expected is a different Error', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(false), pp: jasmineUnderTest.makePrettyPrinter() }, matcher = jasmineUnderTest.matchers.toThrowError(matchersUtil), fn = function() { - throw new TypeError("foo"); + throw new TypeError('foo'); }, result; - result = matcher.compare(fn, TypeError, "bar"); + result = matcher.compare(fn, TypeError, 'bar'); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw TypeError with message 'bar', but it threw TypeError with message 'foo'."); + expect(result.message()).toEqual( + "Expected function to throw TypeError with message 'bar', but it threw TypeError with message 'foo'." + ); }); - it("passes if thrown is a type of Error and has the same type as the expected Error and the message matches the expected message", function() { + it('passes if thrown is a type of Error and has the same type as the expected Error and the message matches the expected message', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(true), pp: jasmineUnderTest.makePrettyPrinter() }, matcher = jasmineUnderTest.matchers.toThrowError(matchersUtil), fn = function() { - throw new TypeError("foo"); + throw new TypeError('foo'); }, result; result = matcher.compare(fn, TypeError, /foo/); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw TypeError with a message matching /foo/."); + expect(result.message()).toEqual( + 'Expected function not to throw TypeError with a message matching /foo/.' + ); }); - it("fails if thrown is a type of Error and the expected is a different Error", function() { + it('fails if thrown is a type of Error and the expected is a different Error', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(false), pp: jasmineUnderTest.makePrettyPrinter() }, matcher = jasmineUnderTest.matchers.toThrowError(matchersUtil), fn = function() { - throw new TypeError("foo"); + throw new TypeError('foo'); }, result; result = matcher.compare(fn, TypeError, /bar/); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw TypeError with a message matching /bar/, but it threw TypeError with message 'foo'."); + expect(result.message()).toEqual( + "Expected function to throw TypeError with a message matching /bar/, but it threw TypeError with message 'foo'." + ); }); }); diff --git a/spec/core/matchers/toThrowMatchingSpec.js b/spec/core/matchers/toThrowMatchingSpec.js index 507683b0..a5ed2c5c 100644 --- a/spec/core/matchers/toThrowMatchingSpec.js +++ b/spec/core/matchers/toThrowMatchingSpec.js @@ -1,16 +1,18 @@ -describe("toThrowMatching", function() { - it("throws an error when the actual is not a function", function() { +describe('toThrowMatching', function() { + it('throws an error when the actual is not a function', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching(); expect(function() { - matcher.compare({}, function() { return true; }); + matcher.compare({}, function() { + return true; + }); }).toThrowError(/Actual is not a Function/); }); - it("throws an error when the expected is not a function", function() { + it('throws an error when the expected is not a function', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching(), fn = function() { - throw new Error("foo"); + throw new Error('foo'); }; expect(function() { @@ -18,20 +20,22 @@ describe("toThrowMatching", function() { }).toThrowError(/Predicate is not a Function/); }); - it("fails if actual does not throw at all", function() { + it('fails if actual does not throw at all', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching(), fn = function() { return true; }, result; - result = matcher.compare(fn, function() { return true; }); + result = matcher.compare(fn, function() { + return true; + }); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected function to throw an exception."); + expect(result.message).toEqual('Expected function to throw an exception.'); }); - it("fails with the correct message if thrown is a falsy value", function() { + it('fails with the correct message if thrown is a falsy value', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching({ pp: jasmineUnderTest.makePrettyPrinter() }), @@ -40,38 +44,50 @@ describe("toThrowMatching", function() { }, result; - result = matcher.compare(fn, function() { return false; }); + result = matcher.compare(fn, function() { + return false; + }); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an exception matching a predicate, but it threw undefined."); + expect(result.message()).toEqual( + 'Expected function to throw an exception matching a predicate, but it threw undefined.' + ); }); - it("passes if the argument is a function that returns true when called with the error", function() { + it('passes if the argument is a function that returns true when called with the error', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching(), - predicate = function(e) { return e.message === "nope" }, + predicate = function(e) { + return e.message === 'nope'; + }, fn = function() { - throw new TypeError("nope"); + throw new TypeError('nope'); }, result; result = matcher.compare(fn, predicate); expect(result.pass).toBe(true); - expect(result.message).toEqual("Expected function not to throw an exception matching a predicate."); + expect(result.message).toEqual( + 'Expected function not to throw an exception matching a predicate.' + ); }); - it("fails if the argument is a function that returns false when called with the error", function() { + it('fails if the argument is a function that returns false when called with the error', function() { var matcher = jasmineUnderTest.matchers.toThrowMatching({ pp: jasmineUnderTest.makePrettyPrinter() }), - predicate = function(e) { return e.message === "oh no" }, + predicate = function(e) { + return e.message === 'oh no'; + }, fn = function() { - throw new TypeError("nope"); + throw new TypeError('nope'); }, result; result = matcher.compare(fn, predicate); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw an exception matching a predicate, but it threw TypeError with message 'nope'."); + expect(result.message()).toEqual( + "Expected function to throw an exception matching a predicate, but it threw TypeError with message 'nope'." + ); }); }); diff --git a/spec/core/matchers/toThrowSpec.js b/spec/core/matchers/toThrowSpec.js index 7144b2b3..0ed049d3 100644 --- a/spec/core/matchers/toThrowSpec.js +++ b/spec/core/matchers/toThrowSpec.js @@ -1,6 +1,5 @@ -describe("toThrow", function() { - - it("throws an error when the actual is not a function", function() { +describe('toThrow', function() { + it('throws an error when the actual is not a function', function() { var matcher = jasmineUnderTest.matchers.toThrow(); expect(function() { @@ -9,7 +8,7 @@ describe("toThrow", function() { }).toThrowError(/Actual is not a Function/); }); - it("fails if actual does not throw", function() { + it('fails if actual does not throw', function() { var matcher = jasmineUnderTest.matchers.toThrow(), fn = function() { return true; @@ -19,10 +18,10 @@ describe("toThrow", function() { result = matcher.compare(fn); expect(result.pass).toBe(false); - expect(result.message).toEqual("Expected function to throw an exception."); + expect(result.message).toEqual('Expected function to throw an exception.'); }); - it("passes if it throws but there is no expected", function() { + it('passes if it throws but there is no expected', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(true), pp: jasmineUnderTest.makePrettyPrinter() @@ -36,10 +35,12 @@ describe("toThrow", function() { result = matcher.compare(fn); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw, but it threw 5."); + expect(result.message()).toEqual( + 'Expected function not to throw, but it threw 5.' + ); }); - it("passes even if what is thrown is falsy", function() { + it('passes even if what is thrown is falsy', function() { var matcher = jasmineUnderTest.matchers.toThrow({ pp: jasmineUnderTest.makePrettyPrinter() }), @@ -50,10 +51,12 @@ describe("toThrow", function() { result = matcher.compare(fn); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw, but it threw undefined."); + expect(result.message()).toEqual( + 'Expected function not to throw, but it threw undefined.' + ); }); - it("passes if what is thrown is equivalent to what is expected", function() { + it('passes if what is thrown is equivalent to what is expected', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(true), pp: jasmineUnderTest.makePrettyPrinter() @@ -67,10 +70,10 @@ describe("toThrow", function() { result = matcher.compare(fn, 5); expect(result.pass).toBe(true); - expect(result.message()).toEqual("Expected function not to throw 5."); + expect(result.message()).toEqual('Expected function not to throw 5.'); }); - it("fails if what is thrown is not equivalent to what is expected", function() { + it('fails if what is thrown is not equivalent to what is expected', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(false), pp: jasmineUnderTest.makePrettyPrinter() @@ -81,13 +84,15 @@ describe("toThrow", function() { }, result; - result = matcher.compare(fn, "foo"); + result = matcher.compare(fn, 'foo'); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw 'foo', but it threw 5."); + expect(result.message()).toEqual( + "Expected function to throw 'foo', but it threw 5." + ); }); - it("fails if what is thrown is not equivalent to undefined", function() { + it('fails if what is thrown is not equivalent to undefined', function() { var matchersUtil = { equals: jasmine.createSpy('delegated-equal').and.returnValue(false), pp: jasmineUnderTest.makePrettyPrinter() @@ -101,6 +106,8 @@ describe("toThrow", function() { result = matcher.compare(fn, void 0); expect(result.pass).toBe(false); - expect(result.message()).toEqual("Expected function to throw undefined, but it threw 5."); + expect(result.message()).toEqual( + 'Expected function to throw undefined, but it threw 5.' + ); }); }); diff --git a/src/core/asymmetric_equality/Any.js b/src/core/asymmetric_equality/Any.js index 61273deb..bbee1bdc 100644 --- a/src/core/asymmetric_equality/Any.js +++ b/src/core/asymmetric_equality/Any.js @@ -1,10 +1,9 @@ getJasmineRequireObj().Any = function(j$) { - function Any(expectedObject) { if (typeof expectedObject === 'undefined') { throw new TypeError( 'jasmine.any() expects to be passed a constructor function. ' + - 'Please pass one or use jasmine.anything() to match any object.' + 'Please pass one or use jasmine.anything() to match any object.' ); } this.expectedObject = expectedObject; diff --git a/src/core/asymmetric_equality/Anything.js b/src/core/asymmetric_equality/Anything.js index 11c6571c..ce436cb4 100644 --- a/src/core/asymmetric_equality/Anything.js +++ b/src/core/asymmetric_equality/Anything.js @@ -1,5 +1,4 @@ getJasmineRequireObj().Anything = function(j$) { - function Anything() {} Anything.prototype.asymmetricMatch = function(other) { diff --git a/src/core/asymmetric_equality/ArrayContaining.js b/src/core/asymmetric_equality/ArrayContaining.js index 7faea8b4..c00a2dc0 100644 --- a/src/core/asymmetric_equality/ArrayContaining.js +++ b/src/core/asymmetric_equality/ArrayContaining.js @@ -5,7 +5,11 @@ getJasmineRequireObj().ArrayContaining = function(j$) { ArrayContaining.prototype.asymmetricMatch = function(other, matchersUtil) { if (!j$.isArray_(this.sample)) { - throw new Error('You must provide an array to arrayContaining, not ' + j$.pp(this.sample) + '.'); + throw new Error( + 'You must provide an array to arrayContaining, not ' + + j$.pp(this.sample) + + '.' + ); } // If the actual parameter is not an array, we can fail immediately, since it couldn't @@ -25,8 +29,8 @@ getJasmineRequireObj().ArrayContaining = function(j$) { return true; }; - ArrayContaining.prototype.jasmineToString = function (pp) { - return ''; + ArrayContaining.prototype.jasmineToString = function(pp) { + return ''; }; return ArrayContaining; diff --git a/src/core/asymmetric_equality/ArrayWithExactContents.js b/src/core/asymmetric_equality/ArrayWithExactContents.js index d2049047..f207dc7a 100644 --- a/src/core/asymmetric_equality/ArrayWithExactContents.js +++ b/src/core/asymmetric_equality/ArrayWithExactContents.js @@ -1,12 +1,18 @@ getJasmineRequireObj().ArrayWithExactContents = function(j$) { - function ArrayWithExactContents(sample) { this.sample = sample; } - ArrayWithExactContents.prototype.asymmetricMatch = function(other, matchersUtil) { + ArrayWithExactContents.prototype.asymmetricMatch = function( + other, + matchersUtil + ) { if (!j$.isArray_(this.sample)) { - throw new Error('You must provide an array to arrayWithExactContents, not ' + j$.pp(this.sample) + '.'); + throw new Error( + 'You must provide an array to arrayWithExactContents, not ' + + j$.pp(this.sample) + + '.' + ); } if (this.sample.length !== other.length) { diff --git a/src/core/asymmetric_equality/Empty.js b/src/core/asymmetric_equality/Empty.js index 224c0f5f..1dd28948 100644 --- a/src/core/asymmetric_equality/Empty.js +++ b/src/core/asymmetric_equality/Empty.js @@ -1,8 +1,7 @@ -getJasmineRequireObj().Empty = function (j$) { - +getJasmineRequireObj().Empty = function(j$) { function Empty() {} - Empty.prototype.asymmetricMatch = function (other) { + Empty.prototype.asymmetricMatch = function(other) { if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) { return other.length === 0; } @@ -17,7 +16,7 @@ getJasmineRequireObj().Empty = function (j$) { return false; }; - Empty.prototype.jasmineToString = function () { + Empty.prototype.jasmineToString = function() { return ''; }; diff --git a/src/core/asymmetric_equality/Falsy.js b/src/core/asymmetric_equality/Falsy.js index 242e0af3..d1d3c8ff 100644 --- a/src/core/asymmetric_equality/Falsy.js +++ b/src/core/asymmetric_equality/Falsy.js @@ -1,5 +1,4 @@ getJasmineRequireObj().Falsy = function(j$) { - function Falsy() {} Falsy.prototype.asymmetricMatch = function(other) { diff --git a/src/core/asymmetric_equality/MapContaining.js b/src/core/asymmetric_equality/MapContaining.js index ba6b0ce9..0270d1be 100644 --- a/src/core/asymmetric_equality/MapContaining.js +++ b/src/core/asymmetric_equality/MapContaining.js @@ -1,7 +1,9 @@ getJasmineRequireObj().MapContaining = function(j$) { function MapContaining(sample) { if (!j$.isMap(sample)) { - throw new Error('You must provide a map to `mapContaining`, not ' + j$.pp(sample)); + throw new Error( + 'You must provide a map to `mapContaining`, not ' + j$.pp(sample) + ); } this.sample = sample; @@ -17,8 +19,8 @@ getJasmineRequireObj().MapContaining = function(j$) { var hasMatch = false; j$.util.forEachBreakable(other, function(oBreakLoop, oValue, oKey) { if ( - matchersUtil.equals(oKey, key) - && matchersUtil.equals(oValue, value) + matchersUtil.equals(oKey, key) && + matchersUtil.equals(oValue, value) ) { hasMatch = true; oBreakLoop(); diff --git a/src/core/asymmetric_equality/NotEmpty.js b/src/core/asymmetric_equality/NotEmpty.js index 3c0368cf..361b6978 100644 --- a/src/core/asymmetric_equality/NotEmpty.js +++ b/src/core/asymmetric_equality/NotEmpty.js @@ -1,8 +1,7 @@ -getJasmineRequireObj().NotEmpty = function (j$) { - +getJasmineRequireObj().NotEmpty = function(j$) { function NotEmpty() {} - NotEmpty.prototype.asymmetricMatch = function (other) { + NotEmpty.prototype.asymmetricMatch = function(other) { if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) { return other.length !== 0; } @@ -18,7 +17,7 @@ getJasmineRequireObj().NotEmpty = function (j$) { return false; }; - NotEmpty.prototype.jasmineToString = function () { + NotEmpty.prototype.jasmineToString = function() { return ''; }; diff --git a/src/core/asymmetric_equality/ObjectContaining.js b/src/core/asymmetric_equality/ObjectContaining.js index 4a8f4385..5e473033 100644 --- a/src/core/asymmetric_equality/ObjectContaining.js +++ b/src/core/asymmetric_equality/ObjectContaining.js @@ -1,5 +1,4 @@ getJasmineRequireObj().ObjectContaining = function(j$) { - function ObjectContaining(sample) { this.sample = sample; } @@ -17,7 +16,7 @@ getJasmineRequireObj().ObjectContaining = function(j$) { } function hasProperty(obj, property) { - if (!obj || typeof(obj) !== 'object') { + if (!obj || typeof obj !== 'object') { return false; } @@ -29,12 +28,22 @@ getJasmineRequireObj().ObjectContaining = function(j$) { } ObjectContaining.prototype.asymmetricMatch = function(other, matchersUtil) { - if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \''+this.sample+'\'.'); } - if (typeof(other) !== 'object') { return false; } + if (typeof this.sample !== 'object') { + throw new Error( + "You must provide an object to objectContaining, not '" + + this.sample + + "'." + ); + } + if (typeof other !== 'object') { + return false; + } for (var property in this.sample) { - if (!hasProperty(other, property) || - !matchersUtil.equals(this.sample[property], other[property])) { + if ( + !hasProperty(other, property) || + !matchersUtil.equals(this.sample[property], other[property]) + ) { return false; } } @@ -51,7 +60,7 @@ getJasmineRequireObj().ObjectContaining = function(j$) { } var filteredOther = {}; - Object.keys(this.sample).forEach(function (k) { + Object.keys(this.sample).forEach(function(k) { // eq short-circuits comparison of objects that have different key sets, // so include all keys even if undefined. filteredOther[k] = other[k]; diff --git a/src/core/asymmetric_equality/SetContaining.js b/src/core/asymmetric_equality/SetContaining.js index f3ad3527..56828085 100644 --- a/src/core/asymmetric_equality/SetContaining.js +++ b/src/core/asymmetric_equality/SetContaining.js @@ -1,7 +1,9 @@ getJasmineRequireObj().SetContaining = function(j$) { function SetContaining(sample) { if (!j$.isSet(sample)) { - throw new Error('You must provide a set to `setContaining`, not ' + j$.pp(sample)); + throw new Error( + 'You must provide a set to `setContaining`, not ' + j$.pp(sample) + ); } this.sample = sample; diff --git a/src/core/asymmetric_equality/StringMatching.js b/src/core/asymmetric_equality/StringMatching.js index 72334723..ebcc1738 100644 --- a/src/core/asymmetric_equality/StringMatching.js +++ b/src/core/asymmetric_equality/StringMatching.js @@ -1,5 +1,4 @@ getJasmineRequireObj().StringMatching = function(j$) { - function StringMatching(expected) { if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) { throw new Error('Expected is not a String or a RegExp'); diff --git a/src/core/asymmetric_equality/Truthy.js b/src/core/asymmetric_equality/Truthy.js index a852fdaf..9e527164 100644 --- a/src/core/asymmetric_equality/Truthy.js +++ b/src/core/asymmetric_equality/Truthy.js @@ -1,5 +1,4 @@ getJasmineRequireObj().Truthy = function(j$) { - function Truthy() {} Truthy.prototype.asymmetricMatch = function(other) { diff --git a/src/core/matchers/DiffBuilder.js b/src/core/matchers/DiffBuilder.js index 70b52ea7..c8c0e497 100644 --- a/src/core/matchers/DiffBuilder.js +++ b/src/core/matchers/DiffBuilder.js @@ -1,4 +1,4 @@ -getJasmineRequireObj().DiffBuilder = function (j$) { +getJasmineRequireObj().DiffBuilder = function(j$) { return function DiffBuilder(config) { var prettyPrinter = (config || {}).prettyPrinter || j$.makePrettyPrinter(), mismatches = new j$.MismatchTree(), @@ -7,21 +7,28 @@ getJasmineRequireObj().DiffBuilder = function (j$) { expectedRoot = undefined; return { - setRoots: function (actual, expected) { + setRoots: function(actual, expected) { actualRoot = actual; expectedRoot = expected; }, - recordMismatch: function (formatter) { + recordMismatch: function(formatter) { mismatches.add(path, formatter); }, - getMessage: function () { + getMessage: function() { var messages = []; - mismatches.traverse(function (path, isLeaf, formatter) { - var actualCustom, expectedCustom, useCustom, - derefResult = dereferencePath(path, actualRoot, expectedRoot, prettyPrinter), + mismatches.traverse(function(path, isLeaf, formatter) { + var actualCustom, + expectedCustom, + useCustom, + derefResult = dereferencePath( + path, + actualRoot, + expectedRoot, + prettyPrinter + ), actual = derefResult.actual, expected = derefResult.expected; @@ -32,15 +39,22 @@ getJasmineRequireObj().DiffBuilder = function (j$) { actualCustom = prettyPrinter.customFormat_(actual); expectedCustom = prettyPrinter.customFormat_(expected); - useCustom = !(j$.util.isUndefined(actualCustom) && j$.util.isUndefined(expectedCustom)); + useCustom = !( + j$.util.isUndefined(actualCustom) && + j$.util.isUndefined(expectedCustom) + ); if (useCustom) { - messages.push(wrapPrettyPrinted(actualCustom, expectedCustom, path)); + messages.push( + wrapPrettyPrinted(actualCustom, expectedCustom, path) + ); return false; // don't recurse further } if (isLeaf) { - messages.push(defaultFormatter(actual, expected, path, prettyPrinter)); + messages.push( + defaultFormatter(actual, expected, path, prettyPrinter) + ); } return true; @@ -49,7 +63,7 @@ getJasmineRequireObj().DiffBuilder = function (j$) { return messages.join('\n'); }, - withPath: function (pathComponent, block) { + withPath: function(pathComponent, block) { var oldPath = path; path = path.add(pathComponent); block(); @@ -58,22 +72,32 @@ getJasmineRequireObj().DiffBuilder = function (j$) { }; function defaultFormatter(actual, expected, path, prettyPrinter) { - return wrapPrettyPrinted(prettyPrinter(actual), prettyPrinter(expected), path); + return wrapPrettyPrinted( + prettyPrinter(actual), + prettyPrinter(expected), + path + ); } function wrapPrettyPrinted(actual, expected, path) { - return 'Expected ' + - path + (path.depth() ? ' = ' : '') + + return ( + 'Expected ' + + path + + (path.depth() ? ' = ' : '') + actual + ' to equal ' + expected + - '.'; + '.' + ); } }; function dereferencePath(objectPath, actual, expected, pp) { function handleAsymmetricExpected() { - if (j$.isAsymmetricEqualityTester_(expected) && j$.isFunction_(expected.valuesForDiff_)) { + if ( + j$.isAsymmetricEqualityTester_(expected) && + j$.isFunction_(expected.valuesForDiff_) + ) { var asymmetricResult = expected.valuesForDiff_(actual, pp); expected = asymmetricResult.self; actual = asymmetricResult.other; @@ -89,7 +113,6 @@ getJasmineRequireObj().DiffBuilder = function (j$) { handleAsymmetricExpected(); } - return {actual: actual, expected: expected}; + return { actual: actual, expected: expected }; } - }; diff --git a/src/core/matchers/MismatchTree.js b/src/core/matchers/MismatchTree.js index 1ce356de..3fdab889 100644 --- a/src/core/matchers/MismatchTree.js +++ b/src/core/matchers/MismatchTree.js @@ -1,5 +1,4 @@ -getJasmineRequireObj().MismatchTree = function (j$) { - +getJasmineRequireObj().MismatchTree = function(j$) { /* To be able to apply custom object formatters at all possible levels of an object graph, DiffBuilder needs to be able to know not just where the @@ -14,7 +13,7 @@ getJasmineRequireObj().MismatchTree = function (j$) { this.isMismatch = false; } - MismatchTree.prototype.add = function (path, formatter) { + MismatchTree.prototype.add = function(path, formatter) { var key, child; if (path.depth() === 0) { @@ -34,8 +33,9 @@ getJasmineRequireObj().MismatchTree = function (j$) { } }; - MismatchTree.prototype.traverse = function (visit) { - var i, hasChildren = this.children.length > 0; + MismatchTree.prototype.traverse = function(visit) { + var i, + hasChildren = this.children.length > 0; if (this.isMismatch || hasChildren) { if (visit(this.path, !hasChildren, this.formatter)) { @@ -59,4 +59,3 @@ getJasmineRequireObj().MismatchTree = function (j$) { return MismatchTree; }; - diff --git a/src/core/matchers/ObjectPath.js b/src/core/matchers/ObjectPath.js index a9acfdb2..2ffc8843 100644 --- a/src/core/matchers/ObjectPath.js +++ b/src/core/matchers/ObjectPath.js @@ -32,7 +32,7 @@ getJasmineRequireObj().ObjectPath = function(j$) { return '.' + prop; } - return '[\'' + prop + '\']'; + return "['" + prop + "']"; } function map(array, fn) { diff --git a/src/core/matchers/async/toBePending.js b/src/core/matchers/async/toBePending.js index c73aa3d3..1e438d4f 100644 --- a/src/core/matchers/async/toBePending.js +++ b/src/core/matchers/async/toBePending.js @@ -17,8 +17,12 @@ getJasmineRequireObj().toBePending = function(j$) { } var want = {}; return Promise.race([actual, Promise.resolve(want)]).then( - function(got) { return {pass: want === got}; }, - function() { return {pass: false}; } + function(got) { + return { pass: want === got }; + }, + function() { + return { pass: false }; + } ); } }; diff --git a/src/core/matchers/async/toBeRejected.js b/src/core/matchers/async/toBeRejected.js index 3ec95bf3..d75fa34f 100644 --- a/src/core/matchers/async/toBeRejected.js +++ b/src/core/matchers/async/toBeRejected.js @@ -17,8 +17,12 @@ getJasmineRequireObj().toBeRejected = function(j$) { throw new Error('Expected toBeRejected to be called on a promise.'); } return actual.then( - function() { return {pass: false}; }, - function() { return {pass: true}; } + function() { + return { pass: false }; + }, + function() { + return { pass: true }; + } ); } }; diff --git a/src/core/matchers/async/toBeRejectedWith.js b/src/core/matchers/async/toBeRejectedWith.js index 6c0af904..7436dbc7 100644 --- a/src/core/matchers/async/toBeRejectedWith.js +++ b/src/core/matchers/async/toBeRejectedWith.js @@ -15,35 +15,44 @@ getJasmineRequireObj().toBeRejectedWith = function(j$) { return { compare: function(actualPromise, expectedValue) { if (!j$.isPromiseLike(actualPromise)) { - throw new Error('Expected toBeRejectedWith to be called on a promise.'); + throw new Error( + 'Expected toBeRejectedWith to be called on a promise.' + ); } function prefix(passed) { - return 'Expected a promise ' + + return ( + 'Expected a promise ' + (passed ? 'not ' : '') + - 'to be rejected with ' + matchersUtil.pp(expectedValue); + 'to be rejected with ' + + matchersUtil.pp(expectedValue) + ); } return actualPromise.then( function() { - return { - pass: false, - message: prefix(false) + ' but it was resolved.' - }; - }, - function(actualValue) { - if (matchersUtil.equals(actualValue, expectedValue)) { - return { - pass: true, - message: prefix(true) + '.' - }; - } else { return { pass: false, - message: prefix(false) + ' but it was rejected with ' + matchersUtil.pp(actualValue) + '.' + message: prefix(false) + ' but it was resolved.' }; + }, + function(actualValue) { + if (matchersUtil.equals(actualValue, expectedValue)) { + return { + pass: true, + message: prefix(true) + '.' + }; + } else { + return { + pass: false, + message: + prefix(false) + + ' but it was rejected with ' + + matchersUtil.pp(actualValue) + + '.' + }; + } } - } ); } }; diff --git a/src/core/matchers/async/toBeRejectedWithError.js b/src/core/matchers/async/toBeRejectedWithError.js index 203cd863..5b2aed52 100644 --- a/src/core/matchers/async/toBeRejectedWithError.js +++ b/src/core/matchers/async/toBeRejectedWithError.js @@ -18,7 +18,9 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) { return { compare: function(actualPromise, arg1, arg2) { if (!j$.isPromiseLike(actualPromise)) { - throw new Error('Expected toBeRejectedWithError to be called on a promise.'); + throw new Error( + 'Expected toBeRejectedWithError to be called on a promise.' + ); } var expected = getExpectedFromArgs(arg1, arg2, matchersUtil); @@ -30,7 +32,9 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) { message: 'Expected a promise to be rejected but it was resolved.' }; }, - function(actualValue) { return matchError(actualValue, expected, matchersUtil); } + function(actualValue) { + return matchError(actualValue, expected, matchersUtil); + } ); } }; @@ -42,16 +46,25 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) { } if (!(actual instanceof expected.error)) { - return fail(expected, 'rejected with type ' + j$.fnNameFor(actual.constructor)); + return fail( + expected, + 'rejected with type ' + j$.fnNameFor(actual.constructor) + ); } var actualMessage = actual.message; - if (actualMessage === expected.message || typeof expected.message === 'undefined') { + if ( + actualMessage === expected.message || + typeof expected.message === 'undefined' + ) { return pass(expected); } - if (expected.message instanceof RegExp && expected.message.test(actualMessage)) { + if ( + expected.message instanceof RegExp && + expected.message.test(actualMessage) + ) { return pass(expected); } @@ -61,18 +74,25 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) { function pass(expected) { return { pass: true, - message: 'Expected a promise not to be rejected with ' + expected.printValue + ', but it was.' + message: + 'Expected a promise not to be rejected with ' + + expected.printValue + + ', but it was.' }; } function fail(expected, message) { return { pass: false, - message: 'Expected a promise to be rejected with ' + expected.printValue + ' but it was ' + message + '.' + message: + 'Expected a promise to be rejected with ' + + expected.printValue + + ' but it was ' + + message + + '.' }; } - function getExpectedFromArgs(arg1, arg2, matchersUtil) { var error, message; @@ -87,11 +107,16 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) { return { error: error, message: message, - printValue: j$.fnNameFor(error) + (typeof message === 'undefined' ? '' : ': ' + matchersUtil.pp(message)) + printValue: + j$.fnNameFor(error) + + (typeof message === 'undefined' ? '' : ': ' + matchersUtil.pp(message)) }; } function isErrorConstructor(value) { - return typeof value === 'function' && (value === Error || j$.isError_(value.prototype)); + return ( + typeof value === 'function' && + (value === Error || j$.isError_(value.prototype)) + ); } }; diff --git a/src/core/matchers/async/toBeResolved.js b/src/core/matchers/async/toBeResolved.js index 997ddeea..b9dda27a 100644 --- a/src/core/matchers/async/toBeResolved.js +++ b/src/core/matchers/async/toBeResolved.js @@ -18,8 +18,12 @@ getJasmineRequireObj().toBeResolved = function(j$) { } return actual.then( - function() { return {pass: true}; }, - function() { return {pass: false}; } + function() { + return { pass: true }; + }, + function() { + return { pass: false }; + } ); } }; diff --git a/src/core/matchers/async/toBeResolvedTo.js b/src/core/matchers/async/toBeResolvedTo.js index 61abb9f2..f95e7b10 100644 --- a/src/core/matchers/async/toBeResolvedTo.js +++ b/src/core/matchers/async/toBeResolvedTo.js @@ -19,9 +19,12 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) { } function prefix(passed) { - return 'Expected a promise ' + + return ( + 'Expected a promise ' + (passed ? 'not ' : '') + - 'to be resolved to ' + matchersUtil.pp(expectedValue); + 'to be resolved to ' + + matchersUtil.pp(expectedValue) + ); } return actualPromise.then( @@ -34,7 +37,11 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) { } else { return { pass: false, - message: prefix(false) + ' but it was resolved to ' + matchersUtil.pp(actualValue) + '.' + message: + prefix(false) + + ' but it was resolved to ' + + matchersUtil.pp(actualValue) + + '.' }; } }, diff --git a/src/core/matchers/matchersUtil.js b/src/core/matchers/matchersUtil.js index d473976d..6a74d89d 100644 --- a/src/core/matchers/matchersUtil.js +++ b/src/core/matchers/matchersUtil.js @@ -21,7 +21,7 @@ getJasmineRequireObj().MatchersUtil = function(j$) { * @return {string} The pretty-printed value */ this.pp = options.pp || function() {}; - }; + } /** * Determines whether `haystack` contains `needle`, using the same comparison @@ -39,9 +39,10 @@ getJasmineRequireObj().MatchersUtil = function(j$) { return haystack.has(needle); } - if ((Object.prototype.toString.apply(haystack) === '[object Array]') || - (!!haystack && !haystack.indexOf)) - { + if ( + Object.prototype.toString.apply(haystack) === '[object Array]' || + (!!haystack && !haystack.indexOf) + ) { for (var i = 0; i < haystack.length; i++) { if (this.equals(haystack[i], needle, customTesters)) { return true; @@ -60,9 +61,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) { isNot = args[1], actual = args[2], expected = args.slice(3), - englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { + return ' ' + s.toLowerCase(); + }); - var message = 'Expected ' + + var message = + 'Expected ' + self.pp(actual) + (isNot ? ' not ' : ' ') + englishyPredicate; @@ -79,20 +83,41 @@ getJasmineRequireObj().MatchersUtil = function(j$) { return message + '.'; }; - MatchersUtil.prototype.asymmetricDiff_ = function(a, b, aStack, bStack, customTesters, diffBuilder) { + MatchersUtil.prototype.asymmetricDiff_ = function( + a, + b, + aStack, + bStack, + customTesters, + diffBuilder + ) { if (j$.isFunction_(b.valuesForDiff_)) { var values = b.valuesForDiff_(a, this.pp); - this.eq_(values.other, values.self, aStack, bStack, customTesters, diffBuilder); + this.eq_( + values.other, + values.self, + aStack, + bStack, + customTesters, + diffBuilder + ); } else { diffBuilder.recordMismatch(); } }; - MatchersUtil.prototype.asymmetricMatch_ = function(a, b, aStack, bStack, customTesters, diffBuilder) { + MatchersUtil.prototype.asymmetricMatch_ = function( + a, + b, + aStack, + bStack, + customTesters, + diffBuilder + ) { var asymmetricA = j$.isAsymmetricEqualityTester_(a), - asymmetricB = j$.isAsymmetricEqualityTester_(b), - shim, - result; + asymmetricB = j$.isAsymmetricEqualityTester_(b), + shim, + result; if (asymmetricA === asymmetricB) { return undefined; @@ -127,7 +152,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) { * @param [customTesters] An array of custom equality testers * @returns {boolean} True if the values are equal */ - MatchersUtil.prototype.equals = function(a, b, customTestersOrDiffBuilder, diffBuilderOrNothing) { + MatchersUtil.prototype.equals = function( + a, + b, + customTestersOrDiffBuilder, + diffBuilderOrNothing + ) { var customTesters, diffBuilder; if (isDiffBuilder(customTestersOrDiffBuilder)) { @@ -146,10 +176,26 @@ getJasmineRequireObj().MatchersUtil = function(j$) { // Equality function lovingly adapted from isEqual in // [Underscore](http://underscorejs.org) - MatchersUtil.prototype.eq_ = function(a, b, aStack, bStack, customTesters, diffBuilder) { - var result = true, self = this, i; + MatchersUtil.prototype.eq_ = function( + a, + b, + aStack, + bStack, + customTesters, + diffBuilder + ) { + var result = true, + self = this, + i; - var asymmetricResult = this.asymmetricMatch_(a, b, aStack, bStack, customTesters, diffBuilder); + var asymmetricResult = this.asymmetricMatch_( + a, + b, + aStack, + bStack, + customTesters, + diffBuilder + ); if (!j$.util.isUndefined(asymmetricResult)) { return asymmetricResult; } @@ -207,7 +253,8 @@ getJasmineRequireObj().MatchersUtil = function(j$) { case '[object Number]': // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for // other numeric values. - result = a != +a ? b != +b : (a === 0 && b === 0 ? 1 / a == 1 / b : a == +b); + result = + a != +a ? b != +b : a === 0 && b === 0 ? 1 / a == 1 / b : a == +b; if (!result) { diffBuilder.recordMismatch(); } @@ -224,10 +271,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) { return result; // RegExps are compared by their source patterns and flags. case '[object RegExp]': - return a.source == b.source && + return ( + a.source == b.source && a.global == b.global && a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; + a.ignoreCase == b.ignoreCase + ); } if (typeof a != 'object' || typeof b != 'object') { diffBuilder.recordMismatch(); @@ -261,7 +310,9 @@ getJasmineRequireObj().MatchersUtil = function(j$) { while (length--) { // Linear search. Performance is inversely proportional to the number of // unique nested structures. - if (aStack[length] == a) { return bStack[length] == b; } + if (aStack[length] == a) { + return bStack[length] == b; + } } // Add the first object to the stack of traversed objects. aStack.push(a); @@ -283,10 +334,20 @@ getJasmineRequireObj().MatchersUtil = function(j$) { for (i = 0; i < aLength || i < bLength; i++) { diffBuilder.withPath(i, function() { if (i >= bLength) { - diffBuilder.recordMismatch(actualArrayIsLongerFormatter.bind(null, self.pp)); + diffBuilder.recordMismatch( + actualArrayIsLongerFormatter.bind(null, self.pp) + ); result = false; } else { - result = self.eq_(i < aLength ? a[i] : void 0, i < bLength ? b[i] : void 0, aStack, bStack, customTesters, diffBuilder) && result; + result = + self.eq_( + i < aLength ? a[i] : void 0, + i < bLength ? b[i] : void 0, + aStack, + bStack, + customTesters, + diffBuilder + ) && result; } }); } @@ -301,11 +362,11 @@ getJasmineRequireObj().MatchersUtil = function(j$) { var keysA = []; var keysB = []; - a.forEach( function( valueA, keyA ) { - keysA.push( keyA ); + a.forEach(function(valueA, keyA) { + keysA.push(keyA); }); - b.forEach( function( valueB, keyB ) { - keysB.push( keyB ); + b.forEach(function(valueB, keyB) { + keysB.push(keyB); }); // For both sets of keys, check they map to equal values in both maps. @@ -326,13 +387,30 @@ getJasmineRequireObj().MatchersUtil = function(j$) { // Only use the cmpKey when one of the keys is asymmetric and the corresponding key matches, // otherwise explicitly look up the mapKey in the other Map since we want keys with unique // obj identity (that are otherwise equal) to not match. - if (j$.isAsymmetricEqualityTester_(mapKey) || j$.isAsymmetricEqualityTester_(cmpKey) && - this.eq_(mapKey, cmpKey, aStack, bStack, customTesters, j$.NullDiffBuilder())) { + if ( + j$.isAsymmetricEqualityTester_(mapKey) || + (j$.isAsymmetricEqualityTester_(cmpKey) && + this.eq_( + mapKey, + cmpKey, + aStack, + bStack, + customTesters, + j$.NullDiffBuilder() + )) + ) { mapValueB = b.get(cmpKey); } else { mapValueB = b.get(mapKey); } - result = this.eq_(mapValueA, mapValueB, aStack, bStack, customTesters, j$.NullDiffBuilder()); + result = this.eq_( + mapValueA, + mapValueB, + aStack, + bStack, + customTesters, + j$.NullDiffBuilder() + ); } } @@ -347,12 +425,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) { } var valuesA = []; - a.forEach( function( valueA ) { - valuesA.push( valueA ); + a.forEach(function(valueA) { + valuesA.push(valueA); }); var valuesB = []; - b.forEach( function( valueB ) { - valuesB.push( valueB ); + b.forEach(function(valueB) { + valuesB.push(valueB); }); // For both sets, check they are all contained in the other set @@ -376,7 +454,14 @@ getJasmineRequireObj().MatchersUtil = function(j$) { otherValue = otherValues[l]; prevStackSize = baseStack.length; // compare by value equality - found = this.eq_(baseValue, otherValue, baseStack, otherStack, customTesters, j$.NullDiffBuilder()); + found = this.eq_( + baseValue, + otherValue, + baseStack, + otherStack, + customTesters, + j$.NullDiffBuilder() + ); if (!found && prevStackSize !== baseStack.length) { baseStack.splice(prevStackSize); otherStack.splice(prevStackSize); @@ -391,27 +476,35 @@ getJasmineRequireObj().MatchersUtil = function(j$) { return false; } } else { - // Objects with different constructors are not equivalent, but `Object`s // or `Array`s from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && - isFunction(aCtor) && isFunction(bCtor) && - a instanceof aCtor && b instanceof bCtor && - !(aCtor instanceof aCtor && bCtor instanceof bCtor)) { - - diffBuilder.recordMismatch(constructorsAreDifferentFormatter.bind(null, this.pp)); + var aCtor = a.constructor, + bCtor = b.constructor; + if ( + aCtor !== bCtor && + isFunction(aCtor) && + isFunction(bCtor) && + a instanceof aCtor && + b instanceof bCtor && + !(aCtor instanceof aCtor && bCtor instanceof bCtor) + ) { + diffBuilder.recordMismatch( + constructorsAreDifferentFormatter.bind(null, this.pp) + ); return false; } } // Deep compare objects. - var aKeys = keys(a, className == '[object Array]'), key; + var aKeys = keys(a, className == '[object Array]'), + key; size = aKeys.length; // Ensure that both objects contain the same number of properties before comparing deep equality. if (keys(b, className == '[object Array]').length !== size) { - diffBuilder.recordMismatch(objectKeysAreDifferentFormatter.bind(null, this.pp)); + diffBuilder.recordMismatch( + objectKeysAreDifferentFormatter.bind(null, this.pp) + ); return false; } @@ -419,13 +512,17 @@ getJasmineRequireObj().MatchersUtil = function(j$) { key = aKeys[i]; // Deep compare each member if (!j$.util.has(b, key)) { - diffBuilder.recordMismatch(objectKeysAreDifferentFormatter.bind(null, this.pp)); + diffBuilder.recordMismatch( + objectKeysAreDifferentFormatter.bind(null, this.pp) + ); result = false; continue; } diffBuilder.withPath(key, function() { - if(!self.eq_(a[key], b[key], aStack, bStack, customTesters, diffBuilder)) { + if ( + !self.eq_(a[key], b[key], aStack, bStack, customTesters, diffBuilder) + ) { result = false; } }); @@ -443,23 +540,24 @@ getJasmineRequireObj().MatchersUtil = function(j$) { }; function keys(obj, isArray) { - var allKeys = Object.keys ? Object.keys(obj) : - (function(o) { + var allKeys = Object.keys + ? Object.keys(obj) + : (function(o) { var keys = []; for (var key in o) { - if (j$.util.has(o, key)) { - keys.push(key); - } + if (j$.util.has(o, key)) { + keys.push(key); + } } return keys; - })(obj); + })(obj); if (!isArray) { return allKeys; } if (allKeys.length === 0) { - return allKeys; + return allKeys; } var extraKeys = []; @@ -478,21 +576,25 @@ getJasmineRequireObj().MatchersUtil = function(j$) { function objectKeysAreDifferentFormatter(pp, actual, expected, path) { var missingProperties = j$.util.objectDifference(expected, actual), - extraProperties = j$.util.objectDifference(actual, expected), - missingPropertiesMessage = formatKeyValuePairs(pp, missingProperties), - extraPropertiesMessage = formatKeyValuePairs(pp, extraProperties), - messages = []; + extraProperties = j$.util.objectDifference(actual, expected), + missingPropertiesMessage = formatKeyValuePairs(pp, missingProperties), + extraPropertiesMessage = formatKeyValuePairs(pp, extraProperties), + messages = []; if (!path.depth()) { path = 'object'; } if (missingPropertiesMessage.length) { - messages.push('Expected ' + path + ' to have properties' + missingPropertiesMessage); + messages.push( + 'Expected ' + path + ' to have properties' + missingPropertiesMessage + ); } if (extraPropertiesMessage.length) { - messages.push('Expected ' + path + ' not to have properties' + extraPropertiesMessage); + messages.push( + 'Expected ' + path + ' not to have properties' + extraPropertiesMessage + ); } return messages.join('\n'); @@ -503,17 +605,25 @@ getJasmineRequireObj().MatchersUtil = function(j$) { path = 'object'; } - return 'Expected ' + - path + ' to be a kind of ' + + return ( + 'Expected ' + + path + + ' to be a kind of ' + j$.fnNameFor(expected.constructor) + - ', but was ' + pp(actual) + '.'; + ', but was ' + + pp(actual) + + '.' + ); } function actualArrayIsLongerFormatter(pp, actual, expected, path) { - return 'Unexpected ' + - path + (path.depth() ? ' = ' : '') + + return ( + 'Unexpected ' + + path + + (path.depth() ? ' = ' : '') + pp(actual) + - ' in array.'; + ' in array.' + ); } function formatKeyValuePairs(pp, obj) { diff --git a/src/core/matchers/toBe.js b/src/core/matchers/toBe.js index 8115adc0..81177c28 100644 --- a/src/core/matchers/toBe.js +++ b/src/core/matchers/toBe.js @@ -9,7 +9,8 @@ getJasmineRequireObj().toBe = function(j$) { * expect(thing).toBe(realThing); */ function toBe(matchersUtil) { - var tip = ' Tip: To check for deep equality, use .toEqual() instead of .toBe().'; + var tip = + ' Tip: To check for deep equality, use .toEqual() instead of .toBe().'; return { compare: function(actual, expected) { @@ -18,7 +19,13 @@ getJasmineRequireObj().toBe = function(j$) { }; if (typeof expected === 'object') { - result.message = matchersUtil.buildFailureMessage('toBe', result.pass, actual, expected) + tip; + result.message = + matchersUtil.buildFailureMessage( + 'toBe', + result.pass, + actual, + expected + ) + tip; } return result; diff --git a/src/core/matchers/toBeCloseTo.js b/src/core/matchers/toBeCloseTo.js index 6cd0a018..b5392144 100644 --- a/src/core/matchers/toBeCloseTo.js +++ b/src/core/matchers/toBeCloseTo.js @@ -17,8 +17,13 @@ getJasmineRequireObj().toBeCloseTo = function() { } if (expected === null || actual === null) { - throw new Error('Cannot use toBeCloseTo with null. Arguments evaluated to: ' + - 'expect(' + actual + ').toBeCloseTo(' + expected + ').' + throw new Error( + 'Cannot use toBeCloseTo with null. Arguments evaluated to: ' + + 'expect(' + + actual + + ').toBeCloseTo(' + + expected + + ').' ); } diff --git a/src/core/matchers/toBeDefined.js b/src/core/matchers/toBeDefined.js index ae95091a..0c43f7d2 100644 --- a/src/core/matchers/toBeDefined.js +++ b/src/core/matchers/toBeDefined.js @@ -11,7 +11,7 @@ getJasmineRequireObj().toBeDefined = function() { return { compare: function(actual) { return { - pass: (void 0 !== actual) + pass: void 0 !== actual }; } }; diff --git a/src/core/matchers/toBeGreaterThan.js b/src/core/matchers/toBeGreaterThan.js index ffe7ad61..07dad333 100644 --- a/src/core/matchers/toBeGreaterThan.js +++ b/src/core/matchers/toBeGreaterThan.js @@ -20,4 +20,3 @@ getJasmineRequireObj().toBeGreaterThan = function() { return toBeGreaterThan; }; - diff --git a/src/core/matchers/toBeInstanceOf.js b/src/core/matchers/toBeInstanceOf.js index 609b9301..2241402e 100644 --- a/src/core/matchers/toBeInstanceOf.js +++ b/src/core/matchers/toBeInstanceOf.js @@ -1,5 +1,8 @@ getJasmineRequireObj().toBeInstanceOf = function(j$) { - var usageError = j$.formatErrorMsg('', 'expect(value).toBeInstanceOf()'); + var usageError = j$.formatErrorMsg( + '', + 'expect(value).toBeInstanceOf()' + ); /** * {@link expect} the actual to be an instance of the expected class @@ -15,27 +18,42 @@ getJasmineRequireObj().toBeInstanceOf = function(j$) { function toBeInstanceOf(matchersUtil) { return { compare: function(actual, expected) { - var actualType = actual && actual.constructor ? j$.fnNameFor(actual.constructor) : matchersUtil.pp(actual), - expectedType = expected ? j$.fnNameFor(expected) : matchersUtil.pp(expected), - expectedMatcher, - pass; + var actualType = + actual && actual.constructor + ? j$.fnNameFor(actual.constructor) + : matchersUtil.pp(actual), + expectedType = expected + ? j$.fnNameFor(expected) + : matchersUtil.pp(expected), + expectedMatcher, + pass; try { - expectedMatcher = new j$.Any(expected); - pass = expectedMatcher.asymmetricMatch(actual); + expectedMatcher = new j$.Any(expected); + pass = expectedMatcher.asymmetricMatch(actual); } catch (error) { - throw new Error(usageError('Expected value is not a constructor function')); + throw new Error( + usageError('Expected value is not a constructor function') + ); } if (pass) { return { pass: true, - message: 'Expected instance of ' + actualType + ' not to be an instance of ' + expectedType + message: + 'Expected instance of ' + + actualType + + ' not to be an instance of ' + + expectedType }; } else { return { pass: false, - message: 'Expected instance of ' + actualType + ' to be an instance of ' + expectedType + message: + 'Expected instance of ' + + actualType + + ' to be an instance of ' + + expectedType }; } } diff --git a/src/core/matchers/toBeLessThan.js b/src/core/matchers/toBeLessThan.js index 319113a0..162e52f1 100644 --- a/src/core/matchers/toBeLessThan.js +++ b/src/core/matchers/toBeLessThan.js @@ -10,7 +10,6 @@ getJasmineRequireObj().toBeLessThan = function() { */ function toBeLessThan() { return { - compare: function(actual, expected) { return { pass: actual < expected diff --git a/src/core/matchers/toBeLessThanOrEqual.js b/src/core/matchers/toBeLessThanOrEqual.js index 4820fc97..f2d47b69 100644 --- a/src/core/matchers/toBeLessThanOrEqual.js +++ b/src/core/matchers/toBeLessThanOrEqual.js @@ -10,7 +10,6 @@ getJasmineRequireObj().toBeLessThanOrEqual = function() { */ function toBeLessThanOrEqual() { return { - compare: function(actual, expected) { return { pass: actual <= expected diff --git a/src/core/matchers/toBeNaN.js b/src/core/matchers/toBeNaN.js index 7adf5b34..b26ef5fc 100644 --- a/src/core/matchers/toBeNaN.js +++ b/src/core/matchers/toBeNaN.js @@ -11,13 +11,15 @@ getJasmineRequireObj().toBeNaN = function(j$) { return { compare: function(actual) { var result = { - pass: (actual !== actual) + pass: actual !== actual }; if (result.pass) { result.message = 'Expected actual not to be NaN.'; } else { - result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be NaN.'; }; + result.message = function() { + return 'Expected ' + matchersUtil.pp(actual) + ' to be NaN.'; + }; } return result; diff --git a/src/core/matchers/toBeNegativeInfinity.js b/src/core/matchers/toBeNegativeInfinity.js index fe2de803..2518a9c8 100644 --- a/src/core/matchers/toBeNegativeInfinity.js +++ b/src/core/matchers/toBeNegativeInfinity.js @@ -11,13 +11,15 @@ getJasmineRequireObj().toBeNegativeInfinity = function(j$) { return { compare: function(actual) { var result = { - pass: (actual === Number.NEGATIVE_INFINITY) + pass: actual === Number.NEGATIVE_INFINITY }; if (result.pass) { result.message = 'Expected actual not to be -Infinity.'; } else { - result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be -Infinity.'; }; + result.message = function() { + return 'Expected ' + matchersUtil.pp(actual) + ' to be -Infinity.'; + }; } return result; diff --git a/src/core/matchers/toBePositiveInfinity.js b/src/core/matchers/toBePositiveInfinity.js index 39cb5e34..17523c97 100644 --- a/src/core/matchers/toBePositiveInfinity.js +++ b/src/core/matchers/toBePositiveInfinity.js @@ -11,13 +11,15 @@ getJasmineRequireObj().toBePositiveInfinity = function(j$) { return { compare: function(actual) { var result = { - pass: (actual === Number.POSITIVE_INFINITY) + pass: actual === Number.POSITIVE_INFINITY }; if (result.pass) { result.message = 'Expected actual not to be Infinity.'; } else { - result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be Infinity.'; }; + result.message = function() { + return 'Expected ' + matchersUtil.pp(actual) + ' to be Infinity.'; + }; } return result; diff --git a/src/core/matchers/toContain.js b/src/core/matchers/toContain.js index 5732447e..9ab30154 100644 --- a/src/core/matchers/toContain.js +++ b/src/core/matchers/toContain.js @@ -12,7 +12,6 @@ getJasmineRequireObj().toContain = function() { function toContain(matchersUtil) { return { compare: function(actual, expected) { - return { pass: matchersUtil.contains(actual, expected) }; diff --git a/src/core/matchers/toEqual.js b/src/core/matchers/toEqual.js index 3a7add38..d2db1bd8 100644 --- a/src/core/matchers/toEqual.js +++ b/src/core/matchers/toEqual.js @@ -14,7 +14,7 @@ getJasmineRequireObj().toEqual = function(j$) { var result = { pass: false }, - diffBuilder = j$.DiffBuilder({prettyPrinter: matchersUtil.pp}); + diffBuilder = j$.DiffBuilder({ prettyPrinter: matchersUtil.pp }); result.pass = matchersUtil.equals(actual, expected, diffBuilder); diff --git a/src/core/matchers/toHaveBeenCalled.js b/src/core/matchers/toHaveBeenCalled.js index 3e6d2601..ef1ea60c 100644 --- a/src/core/matchers/toHaveBeenCalled.js +++ b/src/core/matchers/toHaveBeenCalled.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toHaveBeenCalled = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalled()'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toHaveBeenCalled()' + ); /** * {@link expect} the actual (a {@link Spy}) to have been called. @@ -17,18 +19,24 @@ getJasmineRequireObj().toHaveBeenCalled = function(j$) { var result = {}; if (!j$.isSpy(actual)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.')); + throw new Error( + getErrorMsg( + 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.' + ) + ); } if (arguments.length > 1) { - throw new Error(getErrorMsg('Does not take arguments, use toHaveBeenCalledWith')); + throw new Error( + getErrorMsg('Does not take arguments, use toHaveBeenCalledWith') + ); } result.pass = actual.calls.any(); - result.message = result.pass ? - 'Expected spy ' + actual.and.identity + ' not to have been called.' : - 'Expected spy ' + actual.and.identity + ' to have been called.'; + result.message = result.pass + ? 'Expected spy ' + actual.and.identity + ' not to have been called.' + : 'Expected spy ' + actual.and.identity + ' to have been called.'; return result; } diff --git a/src/core/matchers/toHaveBeenCalledBefore.js b/src/core/matchers/toHaveBeenCalledBefore.js index 293e73ff..ad1de7c0 100644 --- a/src/core/matchers/toHaveBeenCalledBefore.js +++ b/src/core/matchers/toHaveBeenCalledBefore.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledBefore()'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toHaveBeenCalledBefore()' + ); /** * {@link expect} the actual value (a {@link Spy}) to have been called before another {@link Spy}. @@ -15,20 +17,30 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) { return { compare: function(firstSpy, latterSpy) { if (!j$.isSpy(firstSpy)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(firstSpy) + '.')); + throw new Error( + getErrorMsg( + 'Expected a spy, but got ' + matchersUtil.pp(firstSpy) + '.' + ) + ); } if (!j$.isSpy(latterSpy)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(latterSpy) + '.')); + throw new Error( + getErrorMsg( + 'Expected a spy, but got ' + matchersUtil.pp(latterSpy) + '.' + ) + ); } var result = { pass: false }; if (!firstSpy.calls.count()) { - result.message = 'Expected spy ' + firstSpy.and.identity + ' to have been called.'; + result.message = + 'Expected spy ' + firstSpy.and.identity + ' to have been called.'; return result; } if (!latterSpy.calls.count()) { - result.message = 'Expected spy ' + latterSpy.and.identity + ' to have been called.'; + result.message = + 'Expected spy ' + latterSpy.and.identity + ' to have been called.'; return result; } @@ -38,17 +50,36 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) { result.pass = latest1stSpyCall < first2ndSpyCall; if (result.pass) { - result.message = 'Expected spy ' + firstSpy.and.identity + ' to not have been called before spy ' + latterSpy.and.identity + ', but it was'; + result.message = + 'Expected spy ' + + firstSpy.and.identity + + ' to not have been called before spy ' + + latterSpy.and.identity + + ', but it was'; } else { var first1stSpyCall = firstSpy.calls.first().invocationOrder; var latest2ndSpyCall = latterSpy.calls.mostRecent().invocationOrder; - if(first1stSpyCall < first2ndSpyCall) { - result.message = 'Expected latest call to spy ' + firstSpy.and.identity + ' to have been called before first call to spy ' + latterSpy.and.identity + ' (no interleaved calls)'; + if (first1stSpyCall < first2ndSpyCall) { + result.message = + 'Expected latest call to spy ' + + firstSpy.and.identity + + ' to have been called before first call to spy ' + + latterSpy.and.identity + + ' (no interleaved calls)'; } else if (latest2ndSpyCall > latest1stSpyCall) { - result.message = 'Expected first call to spy ' + latterSpy.and.identity + ' to have been called after latest call to spy ' + firstSpy.and.identity + ' (no interleaved calls)'; + result.message = + 'Expected first call to spy ' + + latterSpy.and.identity + + ' to have been called after latest call to spy ' + + firstSpy.and.identity + + ' (no interleaved calls)'; } else { - result.message = 'Expected spy ' + firstSpy.and.identity + ' to have been called before spy ' + latterSpy.and.identity; + result.message = + 'Expected spy ' + + firstSpy.and.identity + + ' to have been called before spy ' + + latterSpy.and.identity; } } diff --git a/src/core/matchers/toHaveBeenCalledOnceWith.js b/src/core/matchers/toHaveBeenCalledOnceWith.js index 2cd607f8..d3d6b4ef 100644 --- a/src/core/matchers/toHaveBeenCalledOnceWith.js +++ b/src/core/matchers/toHaveBeenCalledOnceWith.js @@ -1,6 +1,8 @@ -getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledOnceWith(...arguments)'); +getJasmineRequireObj().toHaveBeenCalledOnceWith = function(j$) { + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toHaveBeenCalledOnceWith(...arguments)' + ); /** * {@link expect} the actual (a {@link Spy}) to have been called exactly once, and exactly with the particular arguments. @@ -13,31 +15,44 @@ getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) { */ function toHaveBeenCalledOnceWith(util) { return { - compare: function () { + compare: function() { var args = Array.prototype.slice.call(arguments, 0), actual = args[0], expectedArgs = args.slice(1); if (!j$.isSpy(actual)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + util.pp(actual) + '.')); + throw new Error( + getErrorMsg('Expected a spy, but got ' + util.pp(actual) + '.') + ); } - var prettyPrintedCalls = actual.calls.allArgs().map(function (argsForCall) { - return ' ' + util.pp(argsForCall); - }); + var prettyPrintedCalls = actual.calls + .allArgs() + .map(function(argsForCall) { + return ' ' + util.pp(argsForCall); + }); - if (actual.calls.count() === 1 && util.contains(actual.calls.allArgs(), expectedArgs)) { + if ( + actual.calls.count() === 1 && + util.contains(actual.calls.allArgs(), expectedArgs) + ) { return { pass: true, - message: 'Expected spy ' + actual.and.identity + ' to have been called 0 times, multiple times, or once, but with arguments different from:\n' - + ' ' + util.pp(expectedArgs) + '\n' - + 'But the actual call was:\n' - + prettyPrintedCalls.join(',\n') + '.\n\n' + message: + 'Expected spy ' + + actual.and.identity + + ' to have been called 0 times, multiple times, or once, but with arguments different from:\n' + + ' ' + + util.pp(expectedArgs) + + '\n' + + 'But the actual call was:\n' + + prettyPrintedCalls.join(',\n') + + '.\n\n' }; } function getDiffs() { - return actual.calls.allArgs().map(function (argsForCall, callIx) { + return actual.calls.allArgs().map(function(argsForCall, callIx) { var diffBuilder = new j$.DiffBuilder(); util.equals(argsForCall, expectedArgs, diffBuilder); return diffBuilder.getMessage(); @@ -49,17 +64,32 @@ getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) { case 0: return 'But it was never called.\n\n'; case 1: - return 'But the actual call was:\n' + prettyPrintedCalls.join(',\n') + '.\n' + getDiffs().join('\n') + '\n\n'; + return ( + 'But the actual call was:\n' + + prettyPrintedCalls.join(',\n') + + '.\n' + + getDiffs().join('\n') + + '\n\n' + ); default: - return 'But the actual calls were:\n' + prettyPrintedCalls.join(',\n') + '.\n\n'; + return ( + 'But the actual calls were:\n' + + prettyPrintedCalls.join(',\n') + + '.\n\n' + ); } } return { pass: false, - message: 'Expected spy ' + actual.and.identity + ' to have been called only once, and with given args:\n' - + ' ' + util.pp(expectedArgs) + '\n' - + butString() + message: + 'Expected spy ' + + actual.and.identity + + ' to have been called only once, and with given args:\n' + + ' ' + + util.pp(expectedArgs) + + '\n' + + butString() }; } }; diff --git a/src/core/matchers/toHaveBeenCalledTimes.js b/src/core/matchers/toHaveBeenCalledTimes.js index fa3eef3d..f3bcac3f 100644 --- a/src/core/matchers/toHaveBeenCalledTimes.js +++ b/src/core/matchers/toHaveBeenCalledTimes.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledTimes()'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toHaveBeenCalledTimes()' + ); /** * {@link expect} the actual (a {@link Spy}) to have been called the specified number of times. @@ -15,23 +17,43 @@ getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) { return { compare: function(actual, expected) { if (!j$.isSpy(actual)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.')); + throw new Error( + getErrorMsg( + 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.' + ) + ); } var args = Array.prototype.slice.call(arguments, 0), result = { pass: false }; if (!j$.isNumber_(expected)) { - throw new Error(getErrorMsg('The expected times failed is a required argument and must be a number.')); + throw new Error( + getErrorMsg( + 'The expected times failed is a required argument and must be a number.' + ) + ); } actual = args[0]; var calls = actual.calls.count(); var timesMessage = expected === 1 ? 'once' : expected + ' times'; result.pass = calls === expected; - result.message = result.pass ? - 'Expected spy ' + actual.and.identity + ' not to have been called ' + timesMessage + '. It was called ' + calls + ' times.' : - 'Expected spy ' + actual.and.identity + ' to have been called ' + timesMessage + '. It was called ' + calls + ' times.'; + result.message = result.pass + ? 'Expected spy ' + + actual.and.identity + + ' not to have been called ' + + timesMessage + + '. It was called ' + + calls + + ' times.' + : 'Expected spy ' + + actual.and.identity + + ' to have been called ' + + timesMessage + + '. It was called ' + + calls + + ' times.'; return result; } }; diff --git a/src/core/matchers/toHaveBeenCalledWith.js b/src/core/matchers/toHaveBeenCalledWith.js index 76628b55..0a646b89 100644 --- a/src/core/matchers/toHaveBeenCalledWith.js +++ b/src/core/matchers/toHaveBeenCalledWith.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledWith(...arguments)'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toHaveBeenCalledWith(...arguments)' + ); /** * {@link expect} the actual (a {@link Spy}) to have been called with particular arguments at least once. @@ -20,14 +22,23 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { result = { pass: false }; if (!j$.isSpy(actual)) { - throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.')); + throw new Error( + getErrorMsg( + 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.' + ) + ); } if (!actual.calls.any()) { result.message = function() { - return 'Expected spy ' + actual.and.identity + ' to have been called with:\n' + - ' ' + matchersUtil.pp(expectedArgs) + - '\nbut it was never called.'; + return ( + 'Expected spy ' + + actual.and.identity + + ' to have been called with:\n' + + ' ' + + matchersUtil.pp(expectedArgs) + + '\nbut it was never called.' + ); }; return result; } @@ -35,28 +46,49 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { if (matchersUtil.contains(actual.calls.allArgs(), expectedArgs)) { result.pass = true; result.message = function() { - return 'Expected spy ' + actual.and.identity + ' not to have been called with:\n' + - ' ' + matchersUtil.pp(expectedArgs) + - '\nbut it was.'; + return ( + 'Expected spy ' + + actual.and.identity + + ' not to have been called with:\n' + + ' ' + + matchersUtil.pp(expectedArgs) + + '\nbut it was.' + ); }; } else { result.message = function() { - var prettyPrintedCalls = actual.calls.allArgs().map(function(argsForCall) { - return ' ' + matchersUtil.pp(argsForCall); - }); + var prettyPrintedCalls = actual.calls + .allArgs() + .map(function(argsForCall) { + return ' ' + matchersUtil.pp(argsForCall); + }); - var diffs = actual.calls.allArgs().map(function(argsForCall, callIx) { - var diffBuilder = new j$.DiffBuilder(); - matchersUtil.equals(argsForCall, expectedArgs, diffBuilder); - return 'Call ' + callIx + ':\n' + - diffBuilder.getMessage().replace(/^/mg, ' '); - }); + var diffs = actual.calls + .allArgs() + .map(function(argsForCall, callIx) { + var diffBuilder = new j$.DiffBuilder(); + matchersUtil.equals(argsForCall, expectedArgs, diffBuilder); + return ( + 'Call ' + + callIx + + ':\n' + + diffBuilder.getMessage().replace(/^/gm, ' ') + ); + }); - return 'Expected spy ' + actual.and.identity + ' to have been called with:\n' + - ' ' + matchersUtil.pp(expectedArgs) + '\n' + '' + + return ( + 'Expected spy ' + + actual.and.identity + + ' to have been called with:\n' + + ' ' + + matchersUtil.pp(expectedArgs) + + '\n' + + '' + 'but actual calls were:\n' + - prettyPrintedCalls.join(',\n') + '.\n\n' + - diffs.join('\n'); + prettyPrintedCalls.join(',\n') + + '.\n\n' + + diffs.join('\n') + ); }; } diff --git a/src/core/matchers/toHaveClass.js b/src/core/matchers/toHaveClass.js index efe17f10..218e729c 100644 --- a/src/core/matchers/toHaveClass.js +++ b/src/core/matchers/toHaveClass.js @@ -25,9 +25,9 @@ getJasmineRequireObj().toHaveClass = function(j$) { } function isElement(maybeEl) { - return maybeEl && - maybeEl.classList && - j$.isFunction_(maybeEl.classList.contains); + return ( + maybeEl && maybeEl.classList && j$.isFunction_(maybeEl.classList.contains) + ); } return toHaveClass; diff --git a/src/core/matchers/toHaveSize.js b/src/core/matchers/toHaveSize.js index 03c8d431..403080a8 100644 --- a/src/core/matchers/toHaveSize.js +++ b/src/core/matchers/toHaveSize.js @@ -13,10 +13,14 @@ getJasmineRequireObj().toHaveSize = function(j$) { return { compare: function(actual, expected) { var result = { - pass: false - }; + pass: false + }; - if (j$.isA_('WeakSet', actual) || j$.isWeakMap(actual) || j$.isDataView(actual)) { + if ( + j$.isA_('WeakSet', actual) || + j$.isWeakMap(actual) || + j$.isDataView(actual) + ) { throw new Error('Cannot get size of ' + actual + '.'); } @@ -33,9 +37,14 @@ getJasmineRequireObj().toHaveSize = function(j$) { }; } - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line compat/compat + var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line compat/compat function isLength(value) { - return (typeof value == 'number') && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER; + return ( + typeof value == 'number' && + value > -1 && + value % 1 === 0 && + value <= MAX_SAFE_INTEGER + ); } return toHaveSize; diff --git a/src/core/matchers/toMatch.js b/src/core/matchers/toMatch.js index 7d8f658c..bb3ca3a9 100644 --- a/src/core/matchers/toMatch.js +++ b/src/core/matchers/toMatch.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toMatch = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect().toMatch( || )'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect().toMatch( || )' + ); /** * {@link expect} the actual value to match a regular expression diff --git a/src/core/matchers/toThrow.js b/src/core/matchers/toThrow.js index a471a5d9..b1db2b4c 100644 --- a/src/core/matchers/toThrow.js +++ b/src/core/matchers/toThrow.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toThrow = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect(function() {}).toThrow()'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect(function() {}).toThrow()' + ); /** * {@link expect} a function to `throw` something. @@ -37,16 +39,36 @@ getJasmineRequireObj().toThrow = function(j$) { if (arguments.length == 1) { result.pass = true; - result.message = function() { return 'Expected function not to throw, but it threw ' + matchersUtil.pp(thrown) + '.'; }; + result.message = function() { + return ( + 'Expected function not to throw, but it threw ' + + matchersUtil.pp(thrown) + + '.' + ); + }; return result; } if (matchersUtil.equals(thrown, expected)) { result.pass = true; - result.message = function() { return 'Expected function not to throw ' + matchersUtil.pp(expected) + '.'; }; + result.message = function() { + return ( + 'Expected function not to throw ' + + matchersUtil.pp(expected) + + '.' + ); + }; } else { - result.message = function() { return 'Expected function to throw ' + matchersUtil.pp(expected) + ', but it threw ' + matchersUtil.pp(thrown) + '.'; }; + result.message = function() { + return ( + 'Expected function to throw ' + + matchersUtil.pp(expected) + + ', but it threw ' + + matchersUtil.pp(thrown) + + '.' + ); + }; } return result; diff --git a/src/core/matchers/toThrowError.js b/src/core/matchers/toThrowError.js index 00f3e69a..38513603 100644 --- a/src/core/matchers/toThrowError.js +++ b/src/core/matchers/toThrowError.js @@ -1,6 +1,8 @@ getJasmineRequireObj().toThrowError = function(j$) { - - var getErrorMsg = j$.formatErrorMsg('', 'expect(function() {}).toThrowError(, )'); + var getErrorMsg = j$.formatErrorMsg( + '', + 'expect(function() {}).toThrowError(, )' + ); /** * {@link expect} a function to `throw` an `Error`. @@ -34,7 +36,13 @@ getJasmineRequireObj().toThrowError = function(j$) { } if (!j$.isError_(thrown)) { - return fail(function() { return 'Expected function to throw an Error, but it threw ' + matchersUtil.pp(thrown) + '.'; }); + return fail(function() { + return ( + 'Expected function to throw an Error, but it threw ' + + matchersUtil.pp(thrown) + + '.' + ); + }); } return errorMatcher.match(thrown); @@ -68,7 +76,11 @@ getJasmineRequireObj().toThrowError = function(j$) { function anyMatcher() { return { match: function(error) { - return pass('Expected function not to throw an Error, but it threw ' + j$.fnNameFor(error) + '.'); + return pass( + 'Expected function not to throw an Error, but it threw ' + + j$.fnNameFor(error) + + '.' + ); } }; } @@ -76,9 +88,13 @@ getJasmineRequireObj().toThrowError = function(j$) { function exactMatcher(expected, errorType) { if (expected && !isStringOrRegExp(expected)) { if (errorType) { - throw new Error(getErrorMsg('Expected error message is not a string or RegExp.')); + throw new Error( + getErrorMsg('Expected error message is not a string or RegExp.') + ); } else { - throw new Error(getErrorMsg('Expected is not an Error, string, or RegExp.')); + throw new Error( + getErrorMsg('Expected is not an Error, string, or RegExp.') + ); } } @@ -90,11 +106,15 @@ getJasmineRequireObj().toThrowError = function(j$) { } } - var errorTypeDescription = errorType ? j$.fnNameFor(errorType) : 'an exception'; + var errorTypeDescription = errorType + ? j$.fnNameFor(errorType) + : 'an exception'; function thrownDescription(thrown) { - var thrownName = errorType ? j$.fnNameFor(thrown.constructor) : 'an exception', - thrownMessage = ''; + var thrownName = errorType + ? j$.fnNameFor(thrown.constructor) + : 'an exception', + thrownMessage = ''; if (expected) { thrownMessage = ' with message ' + matchersUtil.pp(thrown.message); @@ -114,20 +134,33 @@ getJasmineRequireObj().toThrowError = function(j$) { } function matches(error) { - return (errorType === null || error instanceof errorType) && - (expected === null || messageMatch(error.message)); + return ( + (errorType === null || error instanceof errorType) && + (expected === null || messageMatch(error.message)) + ); } return { match: function(thrown) { if (matches(thrown)) { return pass(function() { - return 'Expected function not to throw ' + errorTypeDescription + messageDescription() + '.'; + return ( + 'Expected function not to throw ' + + errorTypeDescription + + messageDescription() + + '.' + ); }); } else { return fail(function() { - return 'Expected function to throw ' + errorTypeDescription + messageDescription() + - ', but it threw ' + thrownDescription(thrown) + '.'; + return ( + 'Expected function to throw ' + + errorTypeDescription + + messageDescription() + + ', but it threw ' + + thrownDescription(thrown) + + '.' + ); }); } } @@ -135,7 +168,7 @@ getJasmineRequireObj().toThrowError = function(j$) { } function isStringOrRegExp(potential) { - return potential instanceof RegExp || (typeof potential == 'string'); + return potential instanceof RegExp || typeof potential == 'string'; } function isAnErrorType(type) { diff --git a/src/core/matchers/toThrowMatching.js b/src/core/matchers/toThrowMatching.js index 45e3fc85..e594b1f5 100644 --- a/src/core/matchers/toThrowMatching.js +++ b/src/core/matchers/toThrowMatching.js @@ -1,5 +1,8 @@ getJasmineRequireObj().toThrowMatching = function(j$) { - var usageError = j$.formatErrorMsg('', 'expect(function() {}).toThrowMatching()'); + var usageError = j$.formatErrorMsg( + '', + 'expect(function() {}).toThrowMatching()' + ); /** * {@link expect} a function to `throw` something matching a predicate. @@ -31,20 +34,29 @@ getJasmineRequireObj().toThrowMatching = function(j$) { } if (predicate(thrown)) { - return pass('Expected function not to throw an exception matching a predicate.'); + return pass( + 'Expected function not to throw an exception matching a predicate.' + ); } else { - return fail(function() { - return 'Expected function to throw an exception matching a predicate, ' + - 'but it threw ' + thrownDescription(thrown) + '.'; - }); + return fail(function() { + return ( + 'Expected function to throw an exception matching a predicate, ' + + 'but it threw ' + + thrownDescription(thrown) + + '.' + ); + }); } } }; function thrownDescription(thrown) { if (thrown && thrown.constructor) { - return j$.fnNameFor(thrown.constructor) + ' with message ' + - matchersUtil.pp(thrown.message); + return ( + j$.fnNameFor(thrown.constructor) + + ' with message ' + + matchersUtil.pp(thrown.message) + ); } else { return matchersUtil.pp(thrown); }