Skip to content

Commit 4acf52d

Browse files
committed
Fix ++= in Lst.Buffer
1 parent 8409b97 commit 4acf52d

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

tests/run/lst/Lst.scala

+1
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,7 @@ object Lst {
464464
ensureSize(len + elems2.length)
465465
System.arraycopy(elems2, 0, elems, len, elems2.length)
466466
}
467+
len += elems2.length
467468
case elem: T @unchecked => this += elem
468469
}
469470
this

tests/run/lst/LstTest.scala

+27-8
Original file line numberDiff line numberDiff line change
@@ -277,17 +277,35 @@ object Test extends App {
277277
assert(zs1.eqElements(zs1))
278278
assert(zs1.eqElements(zs2))
279279
assert(!zs1.eqElements(zs3))
280+
281+
assert(is4.corresponds(is4)(_ == _))
282+
assert(!is4.corresponds(is5)(_ == _))
283+
assert(is1.corresponds(is1)(_ == _))
284+
assert(!is1.corresponds(Lst(-1))(_ == _))
285+
assert(is0.corresponds(is0)(_ == _))
286+
assert(!is0.corresponds(is1)(_ == _))
280287
}
281288

282289
def bufferTest() = {
283-
val b = new Lst.Buffer[String]
284-
b += "a"
285-
assert(b.size == 1)
286-
assert(b.toLst === Lst("a"))
287-
b += "aa"
288-
b ++= Lst.fill(20)("a")
289-
assert(b.toLst.mkString("") == "a" * 23)
290-
assert(b.size == 23)
290+
{ val b = new Lst.Buffer[String]
291+
b += "a"
292+
assert(b.size == 1)
293+
assert(b.toLst === Lst("a"))
294+
b += "aa"
295+
b ++= Lst.fill(20)("a")
296+
assert(b.toLst.mkString("") == "a" * 23)
297+
assert(b.size == 22)
298+
}
299+
300+
{ val b = new Lst.Buffer[Int]
301+
b += 1
302+
assert(b.size == 1)
303+
assert(b.toLst === Lst(1))
304+
b += 11
305+
b ++= Lst.fill(20)(1)
306+
assert(b.toLst.mkString("") == "1" * 23)
307+
assert(b.size == 22)
308+
}
291309
}
292310

293311
println("testing")
@@ -307,4 +325,5 @@ object Test extends App {
307325
sliceTest()
308326
zipWithTest()
309327
correspondsTest()
328+
bufferTest()
310329
}

0 commit comments

Comments
 (0)