/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

  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");