diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/bug2552.check | 49 | ||||
-rw-r--r-- | test/files/run/bug2552.scala | 34 |
2 files changed, 83 insertions, 0 deletions
diff --git a/test/files/run/bug2552.check b/test/files/run/bug2552.check new file mode 100644 index 0000000000..774e360d13 --- /dev/null +++ b/test/files/run/bug2552.check @@ -0,0 +1,49 @@ +p(0) +0 +p(1) +1 +p(2) +2 +p(3) +3 +p(4) +4 +p(5) +5 +p(6) +6 +p(7) +7 +p(8) +8 +p(9) +9 +p(10) +p(0) +true +true +0 +p(1) +true +1 +p(2) +false +p(2) +false +p(0) +true +true +0 +p(1) +p(2) +2 +p(3) +p(4) +4 +p(5) +p(6) +6 +p(7) +p(8) +8 +p(9) diff --git a/test/files/run/bug2552.scala b/test/files/run/bug2552.scala new file mode 100644 index 0000000000..911d98decc --- /dev/null +++ b/test/files/run/bug2552.scala @@ -0,0 +1,34 @@ +object Test extends Application { + def testTakeWhile = { + val numbers = Iterator.range(0, 50) + val zeroTo9 = numbers.takeWhile(x => { println("p(" + x + ")"); x < 10 } ) + + zeroTo9.foreach(println _) + + val zeroTo1 = Iterator.range(0, 20).takeWhile(x => { println("p(" + x + ")"); x < 2 } ) + + println(zeroTo1.hasNext) + println(zeroTo1.hasNext) + println(zeroTo1.next) + println(zeroTo1.hasNext) + println(zeroTo1.next) + println(zeroTo1.hasNext) + println(zeroTo1.hasNext) + } + + def testFilter = { + val predicate = (x: Int) => { println("p(" + x + ")"); x % 2 == 0 } + + val evens = Iterator.range(0, 10).filter(predicate) + + println(evens.hasNext) + println(evens.hasNext) + println(evens.next) + + evens.foreach(println _) + } + + testTakeWhile + testFilter +} + |