From c115fa99240a55e32e1fa39f037056df429be741 Mon Sep 17 00:00:00 2001 From: TEHEK Firefox Date: Fri, 23 Sep 2011 18:36:09 +0000 Subject: fix($limitTo): properly handle excessive limits `angular.Array.limitTo`'s result should not exceed original input array size Closes #571 --- test/ApiSpecs.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/ApiSpecs.js') diff --git a/test/ApiSpecs.js b/test/ApiSpecs.js index 46c42e53..ef25bb41 100644 --- a/test/ApiSpecs.js +++ b/test/ApiSpecs.js @@ -175,6 +175,26 @@ describe('api', function(){ expect(angular.Array.limitTo(items, null)).toEqual([]); expect(angular.Array.limitTo(items, undefined)).toEqual([]); }); + + + it('should return an empty array when input is not Array type', function() { + expect(angular.Array.limitTo('bogus', 1)).toEqual([]); + expect(angular.Array.limitTo(null, 1)).toEqual([]); + expect(angular.Array.limitTo(undefined, 1)).toEqual([]); + expect(angular.Array.limitTo(null, 1)).toEqual([]); + expect(angular.Array.limitTo(undefined, 1)).toEqual([]); + expect(angular.Array.limitTo({}, 1)).toEqual([]); + }); + + + it('should return a copy of input array if X is exceeds array length', function () { + expect(angular.Array.limitTo(items, 19)).toEqual(items); + expect(angular.Array.limitTo(items, '9')).toEqual(items); + expect(angular.Array.limitTo(items, -9)).toEqual(items); + expect(angular.Array.limitTo(items, '-9')).toEqual(items); + + expect(angular.Array.limitTo(items, 9)).not.toBe(items); + }); }); -- cgit v1.2.3