summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRex Kerr <ichoran@gmail.com>2015-03-30 23:34:02 -0700
committerRex Kerr <ichoran@gmail.com>2015-03-31 13:32:16 -0700
commit302562f86e418630b476852b9ba235e85f98bacb (patch)
tree9134c04ea603f72623dbe29f3e63b505e25935d0 /test
parent955eb2170e1291500813e6bec76a9f0e1e3bad50 (diff)
downloadscala-302562f86e418630b476852b9ba235e85f98bacb.tar.gz
scala-302562f86e418630b476852b9ba235e85f98bacb.tar.bz2
scala-302562f86e418630b476852b9ba235e85f98bacb.zip
SI-9254 UnrolledBuffer appends in wrong position
Fixed two bugs in insertion (insertAll of Unrolled): 1. Incorrect recursion leading to an inability to insert past the first chunk 2. Incorect repositioning of `lastptr` leading to strange `append` behavior after early insertion Added tests checking that both of these things now work. Also added a comment that "waterlineDelim" is misnamed. But we can't fix it now--it's part of the public API. (Shouldn't be, but it is.)
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/collection/mutable/UnrolledBufferTest.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/junit/scala/collection/mutable/UnrolledBufferTest.scala b/test/junit/scala/collection/mutable/UnrolledBufferTest.scala
new file mode 100644
index 0000000000..8660b6cbc1
--- /dev/null
+++ b/test/junit/scala/collection/mutable/UnrolledBufferTest.scala
@@ -0,0 +1,25 @@
+package scala.collection.mutable
+
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import org.junit.Test
+
+@RunWith(classOf[JUnit4])
+class UnrolledBufferTestTest {
+ @Test
+ def test_SI9254_original() {
+ val b = new UnrolledBuffer[Int]()
+ (1 to 16).foreach(i => b append i)
+ b.insert(0,-1)
+ b append 17
+ assert(b sameElements (Seq(-1) ++ (1 to 16) ++ Seq(17)))
+ }
+
+ @Test
+ def test_SI9254_additional() {
+ val b = new UnrolledBuffer[Int]()
+ (1 to 100).foreach(i => b append i)
+ b.insert(40, -1)
+ assert(b sameElements((1 to 40) ++ Seq(-1) ++ (41 to 100)))
+ }
+}