summaryrefslogtreecommitdiff
path: root/test/junit
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-08-26 17:38:19 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2014-08-27 08:55:51 +0200
commit9276a1205f74fdec74206209712831913e93f359 (patch)
tree88b968bc84906bbfb75dbca60320449edc4fb050 /test/junit
parent5e0880fe05fb65a8757721be7e5be6a3259c19a8 (diff)
downloadscala-9276a1205f74fdec74206209712831913e93f359.tar.gz
scala-9276a1205f74fdec74206209712831913e93f359.tar.bz2
scala-9276a1205f74fdec74206209712831913e93f359.zip
SI-8627 make Stream.filterNot non-eager
The obvious fix, overriding `filterNot` in Stream, is not binary compatible, see https://github.com/scala/scala/pull/3925 Instead, this makes `filterImpl` in TaversableLike private[scala], which allows overriding it in Stream. The corresponding mima-failures can be whitelisted, as the changes are only to private[scala]. In 2.12.x we can remove the override of `filter` in Stream, but in 2.11.x this is not binary compatible. Eventually we'd also like to make filter / filterNot in TraversableLike final, but that's not source compatible, so it cannot be done in 2.12.x.
Diffstat (limited to 'test/junit')
-rw-r--r--test/junit/scala/collection/StreamTest.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/junit/scala/collection/StreamTest.scala b/test/junit/scala/collection/StreamTest.scala
new file mode 100644
index 0000000000..6dc1c79a48
--- /dev/null
+++ b/test/junit/scala/collection/StreamTest.scala
@@ -0,0 +1,18 @@
+package scala.collection.immutable
+
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import org.junit.Test
+import org.junit.Assert._
+
+@RunWith(classOf[JUnit4])
+class StreamTest {
+
+ @Test
+ def t6727_and_t6440(): Unit = {
+ assertTrue(Stream.continually(()).filter(_ => true).take(2) == Seq((), ()))
+ assertTrue(Stream.continually(()).filterNot(_ => false).take(2) == Seq((), ()))
+ assertTrue(Stream(1,2,3,4,5).filter(_ < 4) == Seq(1,2,3))
+ assertTrue(Stream(1,2,3,4,5).filterNot(_ > 4) == Seq(1,2,3,4))
+ }
+}