summaryrefslogtreecommitdiff
path: root/test/junit
diff options
context:
space:
mode:
authorRex Kerr <ichoran@gmail.com>2015-01-30 18:27:52 -0800
committerRex Kerr <ichoran@gmail.com>2015-02-13 16:00:45 -0800
commitc9930bfaf28093fe419de3cf034b4bf7888b3818 (patch)
tree4437a12d61d77006be8aa9a4651081ab53589f7d /test/junit
parentda49d9a00ec373a0e7f2ffe946a897a65c9b0741 (diff)
downloadscala-c9930bfaf28093fe419de3cf034b4bf7888b3818.tar.gz
scala-c9930bfaf28093fe419de3cf034b4bf7888b3818.tar.bz2
scala-c9930bfaf28093fe419de3cf034b4bf7888b3818.zip
SI-8917 collection.mutable.BitSet's &= operator doesn't clear end
Made &= run to the end of its own bitset, ignoring the size of what it's &-ing with (which is exactly what you want for &=).
Diffstat (limited to 'test/junit')
-rw-r--r--test/junit/scala/collection/mutable/BitSetTest.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/junit/scala/collection/mutable/BitSetTest.scala b/test/junit/scala/collection/mutable/BitSetTest.scala
index 8d164b50d4..d56cc45601 100644
--- a/test/junit/scala/collection/mutable/BitSetTest.scala
+++ b/test/junit/scala/collection/mutable/BitSetTest.scala
@@ -19,4 +19,13 @@ class BitSetTest {
bitSet &~= bitSet
assert(bitSet.toBitMask.length == size, "Capacity of bitset changed after &~=")
}
+
+ @Test def test_SI8917() {
+ val bigBitSet = BitSet(1, 100, 10000)
+ val littleBitSet = BitSet(100)
+ bigBitSet &= littleBitSet
+ assert(!(bigBitSet contains 10000), "&= not applied to the full bitset")
+ littleBitSet &= bigBitSet
+ assert(littleBitSet.toBitMask.length < bigBitSet.toBitMask.length, "Needlessly extended the size of bitset on &=")
+ }
}