From 274a6734ef1fff543cc50388a0958d1988baeb57 Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Wed, 18 Dec 2013 18:51:56 -0800 Subject: fix(forEach): allow looping over result of querySelectorAll in IE8 In IE8 the result object of calling `node.querySelectorAll` does not have a `hasOwnPropery` function. However, it should be usable with `forEach`. Related to #5400. --- test/AngularSpec.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test') diff --git a/test/AngularSpec.js b/test/AngularSpec.js index 36d4926e..7fe65f4c 100644 --- a/test/AngularSpec.js +++ b/test/AngularSpec.js @@ -504,6 +504,21 @@ describe('angular', function() { expect(log).toEqual(['0:a', '1:c']); }); + if (document.querySelectorAll) { + it('should handle the result of querySelectorAll in IE8 as it has no hasOwnProperty function', function() { + document.body.innerHTML = "

" + + "a" + + "b" + + "c" + + "

"; + + var htmlCollection = document.querySelectorAll('[name="x"]'), + log = []; + + forEach(htmlCollection, function(value, key) { log.push(key + ':' + value.innerHTML)}); + expect(log).toEqual(['0:a', '1:c']); + }); + } it('should handle arguments objects like arrays', function() { var args, -- cgit v1.2.3