describe("ArrayContaining", function() { it("matches any actual to an empty array", function() { var containing = new jasmineUnderTest.ArrayContaining([]); expect(containing.asymmetricMatch("foo")).toBe(true); }); 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"]); var matchersUtil = new jasmineUnderTest.MatchersUtil(); expect(containing.asymmetricMatch(["foo"], matchersUtil)).toBe(true); }); 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); }); 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); }); 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); }); it("jasmineToStrings itself", function() { var containing = new jasmineUnderTest.ArrayContaining([]); expect(containing.jasmineToString()).toMatch("