Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / basic / testCustomIterator.js
1 function my_iterator_next() {
2     if (this.i == 10) {
3         this.i = 0;
4         throw this.StopIteration;
5     }
6     return this.i++;
7 }
8 function testCustomIterator() {
9     var o = {
10         __iterator__: function () {
11             return {
12                 i: 0,
13                 next: my_iterator_next,
14                 StopIteration: StopIteration
15             };
16         }
17     };
18     var a=[];
19     for (var k = 0; k < 100; k += 10) {
20         for(var j in o) {
21             a[k + (j >> 0)] = j*k;
22         }
23     }
24     return a.join();
25 }
26 assertEq(testCustomIterator(), "0,0,0,0,0,0,0,0,0,0,0,10,20,30,40,50,60,70,80,90,0,20,40,60,80,100,120,140,160,180,0,30,60,90,120,150,180,210,240,270,0,40,80,120,160,200,240,280,320,360,0,50,100,150,200,250,300,350,400,450,0,60,120,180,240,300,360,420,480,540,0,70,140,210,280,350,420,490,560,630,0,80,160,240,320,400,480,560,640,720,0,90,180,270,360,450,540,630,720,810");