1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/for-of/semantics-04.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,17 @@ 1.4 +// Giving an Array an own .iterator property affects for-of. 1.5 + 1.6 +load(libdir + "asserts.js"); 1.7 +load(libdir + "iteration.js"); 1.8 + 1.9 +var a = []; 1.10 +a[std_iterator] = function* () { 1.11 + yield 'o'; 1.12 + yield 'k'; 1.13 +}; 1.14 +var s = ''; 1.15 +for (var v of a) 1.16 + s += v; 1.17 +assertEq(s, 'ok'); 1.18 + 1.19 +a[std_iterator] = undefined; 1.20 +assertThrowsInstanceOf(function () { for (var v of a) ; }, TypeError);