Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | // Array.of can be transplanted to other classes. |
michael@0 | 2 | |
michael@0 | 3 | load(libdir + "asserts.js"); |
michael@0 | 4 | |
michael@0 | 5 | var hits = 0; |
michael@0 | 6 | function Bag() { |
michael@0 | 7 | hits++; |
michael@0 | 8 | } |
michael@0 | 9 | Bag.of = Array.of; |
michael@0 | 10 | |
michael@0 | 11 | hits = 0; |
michael@0 | 12 | var actual = Bag.of("zero", "one"); |
michael@0 | 13 | assertEq(hits, 1); |
michael@0 | 14 | |
michael@0 | 15 | var expected = new Bag; |
michael@0 | 16 | expected[0] = "zero"; |
michael@0 | 17 | expected[1] = "one"; |
michael@0 | 18 | expected.length = 2; |
michael@0 | 19 | assertDeepEq(actual, expected); |
michael@0 | 20 | |
michael@0 | 21 | hits = 0; |
michael@0 | 22 | actual = Array.of.call(Bag, "zero", "one"); |
michael@0 | 23 | assertEq(hits, 1); |
michael@0 | 24 | assertDeepEq(actual, expected); |
michael@0 | 25 |