PageRenderTime 21ms CodeModel.GetById 14ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/js/src/jit-test/tests/basic/testCustomIterator.js

http://github.com/zpao/v8monkey
JavaScript | 26 lines | 26 code | 0 blank | 0 comment | 4 complexity | d5c5a0d039a229383be7ee7dc89b9492 MD5 | raw file
 1function my_iterator_next() {
 2    if (this.i == 10) {
 3        this.i = 0;
 4        throw this.StopIteration;
 5    }
 6    return this.i++;
 7}
 8function 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}
26assertEq(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");