summaryrefslogtreecommitdiff
path: root/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib')
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ArraysTest.scala749
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/AtomicTest.scala119
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/BooleanTest.scala62
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ByteTest.scala64
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/CharacterTest.scala672
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ClassTest.scala30
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DateTest.scala87
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DoubleTest.scala217
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FloatTest.scala221
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FormatterTest.scala241
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/IntegerTest.scala161
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/LongTest.scala178
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MathTest.scala142
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MockByteArrayOutputStream.scala47
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ObjectTest.scala72
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/OutputStreamWriterTest.scala134
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintStreamTest.scala296
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintWriterTest.scala287
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RandomTest.scala225
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReadersTest.scala244
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReferenceTest.scala28
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RegexTest.scala397
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ShortTest.scala66
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StackTraceElementTest.scala29
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StreamsTest.scala308
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringBufferTest.scala219
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringTest.scala237
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/SystemTest.scala118
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ThrowablesTest.scala90
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/TimeUnitTest.scala135
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/URITest.scala312
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala180
32 files changed, 0 insertions, 6367 deletions
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ArraysTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ArraysTest.scala
deleted file mode 100644
index d0d97f1..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ArraysTest.scala
+++ /dev/null
@@ -1,749 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import language.implicitConversions
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-import org.scalajs.jasminetest.JasmineTest
-
-import java.util.{ Arrays, Comparator }
-
-import scala.reflect.ClassTag
-
-object ArraysTest extends ArraysTest
-
-/** This is also used in the typedarray package to test scala.Arrays backed
- * by TypedArrays
- */
-trait ArraysTest extends JasmineTest {
-
- // Just in here, we allow ourselves to do this
- implicit def array2jsArray[T](arr: Array[T]): js.Array[T] = arr.toJSArray
-
- /** Overridden by typedarray tests */
- def Array[T : ClassTag](v: T*): scala.Array[T] = scala.Array(v: _*)
-
- /** Overridden by typedarray tests */
- def testBody(suite: => Unit) = describe("java.util.Arrays")(suite)
-
- val stringComparator = new Comparator[String]() {
- def compare(s1: String, s2: String) = s1.compareTo(s2)
- }
-
- val intComparator = new Comparator[Int]() {
- def compare(i1: Int, i2: Int) = i1 - i2
- }
-
- testBody {
-
- it("should respond to `sort` for Int") {
- val scalaInts = Array(5, 3, 6, 1, 2, 4)
- val ints = new Array[Object](scalaInts.length)
- for (i <- 0 until scalaInts.length)
- ints(i) = scalaInts(i).asInstanceOf[Object]
- val sorted = Array(1, 2, 3, 4, 5, 6)
-
- Arrays.sort(ints, intComparator.asInstanceOf[Comparator[Object]])
- expect(ints).toEqual(Array(1, 2, 3, 4, 5, 6))
- }
-
- it("should respond to `sort` for String") {
- val scalajs: Array[Object] = Array("S", "c", "a", "l", "a", ".", "j", "s")
- val sorted = Array(".", "S", "a", "a", "c", "j", "l", "s")
-
- Arrays.sort(scalajs, stringComparator.asInstanceOf[Comparator[Object]])
- expect(scalajs).toEqual(sorted)
- }
-
- it("should respond to `fill` for Boolean") {
- val booleans = new Array[Boolean](6)
- Arrays.fill(booleans, false)
- expect(booleans).toEqual(Array(false, false, false, false, false, false))
-
- Arrays.fill(booleans, true)
- expect(booleans).toEqual(Array(true, true, true, true, true, true))
- }
-
- it("should respond to `fill` with start and end index for Boolean") {
- val booleans = new Array[Boolean](6)
- Arrays.fill(booleans, 1, 4, true)
- expect(booleans).toEqual(Array(false, true, true, true, false, false))
- }
-
- it("should respond to `fill` for Byte") {
- val bytes = new Array[Byte](6)
- Arrays.fill(bytes, 42.toByte)
- expect(bytes).toEqual(Array[Byte](42, 42, 42, 42, 42, 42))
-
- Arrays.fill(bytes, -1.toByte)
- expect(bytes).toEqual(Array[Byte](-1, -1, -1, -1, -1, -1))
- }
-
- it("should respond to `fill` with start and end index for Byte") {
- val bytes = new Array[Byte](6)
- Arrays.fill(bytes, 1, 4, 42.toByte)
- expect(bytes).toEqual(Array[Byte](0, 42, 42, 42, 0, 0))
-
- Arrays.fill(bytes, 2, 5, -1.toByte)
- expect(bytes).toEqual(Array[Byte](0, 42, -1, -1, -1, 0))
- }
-
- it("should respond to `fill` for Short") {
- val shorts = new Array[Short](6)
- Arrays.fill(shorts, 42.toShort)
- expect(shorts).toEqual(Array[Short](42, 42, 42, 42, 42, 42))
-
- Arrays.fill(shorts, -1.toShort)
- expect(shorts).toEqual(Array[Short](-1, -1, -1, -1, -1, -1))
- }
-
- it("should respond to `fill` with start and end index for Short") {
- val shorts = new Array[Short](6)
- Arrays.fill(shorts, 1, 4, 42.toShort)
- expect(shorts).toEqual(Array[Short](0, 42, 42, 42, 0, 0))
-
- Arrays.fill(shorts, 2, 5, -1.toShort)
- expect(shorts).toEqual(Array[Short](0, 42, -1, -1, -1, 0))
- }
-
- it("should respond to `fill` for Int") {
- val ints = new Array[Int](6)
- Arrays.fill(ints, 42)
- expect(ints).toEqual(Array(42, 42, 42, 42, 42, 42))
-
- Arrays.fill(ints, -1)
- expect(ints).toEqual(Array(-1, -1, -1, -1, -1, -1))
- }
-
- it("should respond to `fill` with start and end index for Int") {
- val ints = new Array[Int](6)
- Arrays.fill(ints, 1, 4, 42)
- expect(ints).toEqual(Array(0, 42, 42, 42, 0, 0))
-
- Arrays.fill(ints, 2, 5, -1)
- expect(ints).toEqual(Array(0, 42, -1, -1, -1, 0))
- }
-
- it("should respond to `fill` for Long") {
- val longs = new Array[Long](6)
- Arrays.fill(longs, 42L)
- expect(longs).toEqual(Array(42L, 42L, 42L, 42L, 42L, 42L))
-
- Arrays.fill(longs, -1L)
- expect(longs).toEqual(Array(-1L, -1L, -1L, -1L, -1L, -1L))
- }
-
- it("should respond to `fill` with start and end index for Long") {
- val longs = new Array[Long](6)
- Arrays.fill(longs, 1, 4, 42L)
- expect(longs).toEqual(Array(0L, 42L, 42L, 42L, 0L, 0L))
-
- Arrays.fill(longs, 2, 5, -1L)
- expect(longs).toEqual(Array(0L, 42L, -1L, -1L, -1L, 0L))
- }
-
- it("should respond to `fill` for Float") {
- val floats = new Array[Float](6)
- Arrays.fill(floats, 42.0f)
- expect(floats).toEqual(Array(42.0f, 42.0f, 42.0f, 42.0f, 42.0f, 42.0f))
-
- Arrays.fill(floats, -1.0f)
- expect(floats).toEqual(Array(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))
- }
-
- it("should respond to `fill` with start and end index for Float") {
- val floats = new Array[Float](6)
- Arrays.fill(floats, 1, 4, 42.0f)
- expect(floats).toEqual(Array(0.0f, 42.0f, 42.0f, 42.0f, 0.0f, 0.0f))
-
- Arrays.fill(floats, 2, 5, -1.0f)
- expect(floats).toEqual(Array(0.0f, 42.0f, -1.0f, -1.0f, -1.0f, 0.0f))
- }
-
- it("should respond to `fill` for Double") {
- val doubles = new Array[Double](6)
- Arrays.fill(doubles, 42.0)
- expect(doubles).toEqual(Array(42.0, 42.0, 42.0, 42.0, 42.0, 42.0))
-
- Arrays.fill(doubles, -1.0f)
- expect(doubles).toEqual(Array(-1.0, -1.0, -1.0, -1.0, -1.0, -1.0))
- }
-
- it("should respond to `fill` with start and end index for Double") {
- val doubles = new Array[Double](6)
- Arrays.fill(doubles, 1, 4, 42.0)
- expect(doubles).toEqual(Array(0.0, 42.0, 42.0, 42.0, 0.0, 0.0))
-
- Arrays.fill(doubles, 2, 5, -1.0)
- expect(doubles).toEqual(Array(0.0, 42.0, -1.0, -1.0, -1.0, 0.0))
- }
-
- it("should respond to `fill` for AnyRef") {
- val array = new Array[AnyRef](6)
- Arrays.fill(array, "a")
- expect(array).toEqual(Array[AnyRef]("a", "a", "a", "a", "a", "a"))
-
- Arrays.fill(array, "b")
- expect(array).toEqual(Array[AnyRef]("b", "b", "b", "b", "b", "b"))
- }
-
- it("should respond to `fill` with start and end index for AnyRef") {
- val bytes = new Array[AnyRef](6)
- Arrays.fill(bytes, 1, 4, "a")
- expect(bytes).toEqual(Array[AnyRef](null, "a", "a", "a", null, null))
-
- Arrays.fill(bytes, 2, 5, "b")
- expect(bytes).toEqual(Array[AnyRef](null, "a", "b", "b", "b", null))
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Long") {
- val longs: Array[Long] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(longs, 0, 6, 5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(longs, 0, 6, 0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(longs, 0, 6, 4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(longs, 0, 6, 8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Long") {
- val longs: Array[Long] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(longs, 5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(longs, 0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(longs, 4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(longs, 8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Int") {
- val ints: Array[Int] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(ints, 0, 6, 5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(ints, 0, 6, 0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(ints, 0, 6, 4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(ints, 0, 6, 8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Int") {
- val ints: Array[Int] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(ints, 5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(ints, 0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(ints, 4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(ints, 8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Short") {
- val shorts: Array[Short] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(shorts, 0, 6, 5.toShort)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(shorts, 0, 6, 0.toShort)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(shorts, 0, 6, 4.toShort)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(shorts, 0, 6, 8.toShort)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Short") {
- val shorts: Array[Short] = Array(1, 2, 3, 5, 6, 7)
- var ret = Arrays.binarySearch(shorts, 5.toShort)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(shorts, 0.toShort)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(shorts, 4.toShort)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(shorts, 8.toShort)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Char") {
- val chars: Array[Char] = Array('b', 'c', 'd', 'f', 'g', 'h')
- var ret = Arrays.binarySearch(chars, 0, 6, 'f')
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(chars, 0, 6, 'a')
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(chars, 0, 6, 'e')
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(chars, 0, 6, 'i')
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Char") {
- val chars: Array[Char] = Array('b', 'c', 'd', 'f', 'g', 'h')
- var ret = Arrays.binarySearch(chars, 'f')
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(chars, 'a')
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(chars, 'e')
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(chars, 'i')
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Double") {
- val doubles: Array[Double] = Array(0.1, 0.2, 0.3, 0.5, 0.6, 0.7)
- var ret = Arrays.binarySearch(doubles, 0, 6, 0.5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(doubles, 0, 6, 0.0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(doubles, 0, 6, 0.4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(doubles, 0, 6, 0.8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Double") {
- val doubles: Array[Double] = Array(0.1, 0.2, 0.3, 0.5, 0.6, 0.7)
- var ret = Arrays.binarySearch(doubles, 0.5)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(doubles, 0.0)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(doubles, 0.4)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(doubles, 0.8)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for Float") {
- val floats: Array[Float] = Array(0.1f, 0.2f, 0.3f, 0.5f, 0.6f, 0.7f)
- var ret = Arrays.binarySearch(floats, 0, 6, 0.5f)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(floats, 0, 6, 0.0f)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(floats, 0, 6, 0.4f)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(floats, 0, 6, 0.8f)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for Float") {
- val floats: Array[Float] = Array(0.1f, 0.2f, 0.3f, 0.5f, 0.6f, 0.7f)
- var ret = Arrays.binarySearch(floats, 0.5f)
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(floats, 0.0f)
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(floats, 0.4f)
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(floats, 0.8f)
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with start index, end index and key for AnyRef") {
- val strings: Array[AnyRef] = Array("aa", "abc", "cc", "zz", "zzzs", "zzzt")
- var ret = Arrays.binarySearch(strings, 0, 6, "zz")
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(strings, 0, 6, "a")
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(strings, 0, 6, "cd")
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(strings, 0, 6, "zzzz")
- expect(ret).toEqual(-7)
- }
-
- it("should respond to `binarySearch` with key for AnyRef") {
- val strings: Array[AnyRef] = Array("aa", "abc", "cc", "zz", "zzzs", "zzzt")
- var ret = Arrays.binarySearch(strings, "zz")
- expect(ret).toEqual(3)
-
- ret = Arrays.binarySearch(strings, "a")
- expect(ret).toEqual(-1)
-
- ret = Arrays.binarySearch(strings, "cd")
- expect(ret).toEqual(-4)
-
- ret = Arrays.binarySearch(strings, "zzzz")
- expect(ret).toEqual(-7)
- }
-
- it("should check ranges of input to `binarySearch`") {
- def expectException(block: => Unit)(expected: PartialFunction[Throwable, Unit]): Unit = {
- val catchAll: PartialFunction[Throwable, Unit] = {
- case e: Throwable => expect(e.getClass.getName).toBe("not thrown")
- }
-
- try {
- block
- expect("exception").toBe("thrown")
- } catch expected orElse catchAll
- }
-
- val array = Array(0, 1, 3, 4)
-
- expectException({ Arrays.binarySearch(array, 3, 2, 2) }) {
- case exception: IllegalArgumentException =>
- expect(exception.getMessage).toBe("fromIndex(3) > toIndex(2)")
- }
-
- // start/end comparison is made before index ranges checks
- expectException({ Arrays.binarySearch(array, 7, 5, 2) }) {
- case exception: IllegalArgumentException =>
- expect(exception.getMessage).toBe("fromIndex(7) > toIndex(5)")
- }
-
- expectException({ Arrays.binarySearch(array, -1, 4, 2) }) {
- case exception: ArrayIndexOutOfBoundsException =>
- expect(exception.getMessage).toBe("Array index out of range: -1")
- }
-
- expectException({ Arrays.binarySearch(array, 0, 5, 2) }) {
- case exception: ArrayIndexOutOfBoundsException =>
- expect(exception.getMessage).toBe("Array index out of range: 5")
- }
- }
-
- it("should respond to `copyOf` with key for Int") {
- val ints: Array[Int] = Array(1, 2, 3)
- val intscopy = Arrays.copyOf(ints, 5)
- expect(intscopy).toEqual(Array(1, 2, 3, 0, 0))
- }
-
- it("should respond to `copyOf` with key for Long") {
- val longs: Array[Long] = Array(1, 2, 3)
- val longscopy = Arrays.copyOf(longs, 5)
- expect(longscopy).toEqual(Array[Long](1, 2, 3, 0, 0))
- }
-
- it("should respond to `copyOf` with key for Short") {
- val shorts: Array[Short] = Array(1, 2, 3)
- val shortscopy = Arrays.copyOf(shorts, 5)
- expect(shortscopy).toEqual(Array[Short](1, 2, 3, 0, 0))
- }
-
- it("should respond to `copyOf` with key for Byte") {
- val bytes: Array[Byte] = Array(42, 43, 44)
- val floatscopy = Arrays.copyOf(bytes, 5)
- expect(floatscopy).toEqual(Array[Byte](42, 43, 44, 0, 0))
- }
-
- it("should respond to `copyOf` with key for Char") {
- val chars: Array[Char] = Array('a', 'b', '0')
- val charscopy = Arrays.copyOf(chars, 5)
- expect(charscopy(4)).toEqual(0.toChar)
- }
-
- it("should respond to `copyOf` with key for Double") {
- val doubles: Array[Double] = Array(0.1, 0.2, 0.3)
- val doublescopy = Arrays.copyOf(doubles, 5)
- expect(doublescopy).toEqual(Array[Double](0.1, 0.2, 0.3, 0, 0))
- }
-
- it("should respond to `copyOf` with key for Float") {
- val floats: Array[Float] = Array(0.1f, 0.2f, 0.3f)
- val floatscopy = Arrays.copyOf(floats, 5)
- expect(floatscopy).toEqual(Array[Float](0.1f, 0.2f, 0.3f, 0f, 0f))
- }
-
- it("should respond to `copyOf` with key for Boolean") {
- val bools: Array[Boolean] = Array(false, true, false)
- val boolscopy = Arrays.copyOf(bools, 5)
- expect(boolscopy).toEqual(Array[Boolean](false, true, false, false, false))
- }
-
- it("should respond to `copyOf` with key for AnyRef") {
- val anyrefs: Array[AnyRef] = Array("a", "b", "c")
- val anyrefscopy = Arrays.copyOf(anyrefs, 5)
- expect(anyrefscopy.getClass() == classOf[Array[AnyRef]]).toBeTruthy
- expect(anyrefscopy).toEqual(Array[AnyRef]("a", "b", "c", null, null))
-
- val sequences: Array[CharSequence] = Array("a", "b", "c")
- val sequencescopy = Arrays.copyOf(sequences, 2)
- expect(sequencescopy.getClass() == classOf[Array[CharSequence]])
- expect(sequencescopy).toEqual(Array[CharSequence]("a", "b"))
- }
-
- it("should respond to `copyOfRange` for AnyRef") {
- val anyrefs: Array[AnyRef] = Array("a", "b", "c", "d", "e")
- val anyrefscopy = Arrays.copyOfRange(anyrefs, 2, 4)
- expect(anyrefscopy.getClass() == classOf[Array[AnyRef]]).toBeTruthy
- expect(anyrefscopy).toEqual(Array[AnyRef]("c", "d"))
-
- val sequences: Array[CharSequence] = Array("a", "b", "c", "d", "e")
- val sequencescopy = Arrays.copyOfRange(sequences, 1, 5)
- expect(sequencescopy.getClass() == classOf[Array[CharSequence]])
- expect(sequencescopy).toEqual(Array[CharSequence]("b", "c", "d", "e"))
- }
-
- it("should respond to `hashCode` for Boolean") {
- expect(Arrays.hashCode(null: Array[Boolean])).toEqual(0)
- expect(Arrays.hashCode(Array[Boolean]())).toEqual(1)
- expect(Arrays.hashCode(Array[Boolean](false))).toEqual(1268)
- expect(Arrays.hashCode(Array[Boolean](true, false))).toEqual(40359)
- }
-
- it("should respond to `hashCode` for Chars") {
- expect(Arrays.hashCode(null: Array[Char])).toEqual(0)
- expect(Arrays.hashCode(Array[Char]())).toEqual(1)
- expect(Arrays.hashCode(Array[Char]('a'))).toEqual(128)
- expect(Arrays.hashCode(Array[Char]('c', '&'))).toEqual(4068)
- expect(Arrays.hashCode(Array[Char]('-', '5', 'q'))).toEqual(74792)
- expect(Arrays.hashCode(Array[Char]('.', ' ', '\u4323', 'v', '~'))).toEqual(88584920)
- }
-
- it("should respond to `hashCode` for Bytes") {
- expect(Arrays.hashCode(null: Array[Byte])).toEqual(0)
- expect(Arrays.hashCode(Array[Byte]())).toEqual(1)
- expect(Arrays.hashCode(Array[Byte](1))).toEqual(32)
- expect(Arrays.hashCode(Array[Byte](7, -125))).toEqual(1053)
- expect(Arrays.hashCode(Array[Byte](3, 0, 45))).toEqual(32719)
- expect(Arrays.hashCode(Array[Byte](0, 45, 100, 1, 1))).toEqual(30065878)
- }
-
- it("should respond to `hashCode` for Shorts") {
- expect(Arrays.hashCode(null: Array[Short])).toEqual(0)
- expect(Arrays.hashCode(Array[Short]())).toEqual(1)
- expect(Arrays.hashCode(Array[Short](1))).toEqual(32)
- expect(Arrays.hashCode(Array[Short](7, -125))).toEqual(1053)
- expect(Arrays.hashCode(Array[Short](3, 0, 4534))).toEqual(37208)
- expect(Arrays.hashCode(Array[Short](0, 45, 100, 1, 1))).toEqual(30065878)
- }
-
- it("should respond to `hashCode` for Ints") {
- expect(Arrays.hashCode(null: Array[Int])).toEqual(0)
- expect(Arrays.hashCode(Array[Int]())).toEqual(1)
- expect(Arrays.hashCode(Array[Int](1))).toEqual(32)
- expect(Arrays.hashCode(Array[Int](7, -125))).toEqual(1053)
- expect(Arrays.hashCode(Array[Int](3, 0, 4534))).toEqual(37208)
- expect(Arrays.hashCode(Array[Int](0, 45, 100, 1, 1, Int.MaxValue))).toEqual(-1215441431)
- }
-
- it("should respond to `hashCode` for Longs") {
- expect(Arrays.hashCode(null: Array[Long])).toEqual(0)
- expect(Arrays.hashCode(Array[Long]())).toEqual(1)
- expect(Arrays.hashCode(Array[Long](1L))).toEqual(32)
- expect(Arrays.hashCode(Array[Long](7L, -125L))).toEqual(1302)
- expect(Arrays.hashCode(Array[Long](3L, 0L, 4534L))).toEqual(37208)
- expect(Arrays.hashCode(Array[Long](0L, 45L, 100L, 1L, 1L, Int.MaxValue))).toEqual(-1215441431)
- expect(Arrays.hashCode(Array[Long](0L, 34573566354545L, 100L, 1L, 1L, Int.MaxValue))).toEqual(-1952288964)
- }
-
- it("should respond to `hashCode` for Floats") {
- expect(Arrays.hashCode(null: Array[Float])).toEqual(0)
- expect(Arrays.hashCode(Array[Float]())).toEqual(1)
- expect(Arrays.hashCode(Array[Float](1f))).toEqual(32)
- expect(Arrays.hashCode(Array[Float](7.2f, -125.2f))).toEqual(-2082726591)
- expect(Arrays.hashCode(Array[Float](302.1f, 0.0f, 4534f))).toEqual(-1891539602)
- expect(Arrays.hashCode(Array[Float](0.0f, 45f, -100f, 1.1f, -1f, 3567f))).toEqual(-1591440133)
- }
-
- it("should respond to `hashCode` for Doubles") {
- expect(Arrays.hashCode(null: Array[Double])).toEqual(0)
- expect(Arrays.hashCode(Array[Double]())).toEqual(1)
- expect(Arrays.hashCode(Array[Double](1.1))).toEqual(-1503133662)
- expect(Arrays.hashCode(Array[Double](7.3, -125.23))).toEqual(-2075734168)
- expect(Arrays.hashCode(Array[Double](3.9, 0.2, 4534.9))).toEqual(-557562564)
- expect(Arrays.hashCode(Array[Double](0.1, 45.1, -100.0, 1.1, 1.7))).toEqual(-1750344582)
- expect(Arrays.hashCode(Array[Double](0.0, 34573566354545.9, 100.2, 1.1, 1.2, Int.MaxValue))).toEqual(-1764602991)
- }
-
- it("should respond to `hashCode` for AnyRef") {
- expect(Arrays.hashCode(null: Array[AnyRef])).toEqual(0)
- expect(Arrays.hashCode(Array[AnyRef]())).toEqual(1)
- expect(Arrays.hashCode(Array[AnyRef](null, null))).toEqual(961)
- expect(Arrays.hashCode(Array[AnyRef]("a", "b", null))).toEqual(126046)
- expect(Arrays.hashCode(Array[AnyRef](null, "a", "b", null, "fooooo"))).toEqual(-1237252983)
- }
-
- it("should respond to `equals` for Booleans") {
- val a1 = Array(true, false)
-
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array(true, false))).toBeTruthy
-
- expect(Arrays.equals(a1, Array(true))).toBeFalsy
- expect(Arrays.equals(a1, Array(false))).toBeFalsy
- expect(Arrays.equals(a1, Array[Boolean]())).toBeFalsy
- expect(Arrays.equals(a1, Array(false, true))).toBeFalsy
- expect(Arrays.equals(a1, Array(false, true, false))).toBeFalsy
- }
-
- it("should respond to `equals` for Bytes") {
- val a1 = Array[Byte](1, -7, 10)
-
- expect(Arrays.equals(null: Array[Byte], null: Array[Byte])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Byte](1, -7, 10))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Byte](3))).toBeFalsy
- expect(Arrays.equals(a1, Array[Byte](1))).toBeFalsy
- expect(Arrays.equals(a1, Array[Byte]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Byte](1, -7, 11))).toBeFalsy
- expect(Arrays.equals(a1, Array[Byte](1, -7, 11, 20))).toBeFalsy
- }
-
- it("should respond to `equals` for Chars") {
- val a1 = Array[Char]('a', '0', '-')
-
- expect(Arrays.equals(null: Array[Char], null: Array[Char])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Char]('a', '0', '-'))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Char]('z'))).toBeFalsy
- expect(Arrays.equals(a1, Array[Char]('a'))).toBeFalsy
- expect(Arrays.equals(a1, Array[Char]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Char]('a', '0', '+'))).toBeFalsy
- expect(Arrays.equals(a1, Array[Char]('a', '0', '-', 'z'))).toBeFalsy
- }
-
- it("should respond to `equals` for Shorts") {
- val a1 = Array[Short](1, -7, 10)
-
- expect(Arrays.equals(null: Array[Short], null: Array[Short])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Short](1, -7, 10))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Short](3))).toBeFalsy
- expect(Arrays.equals(a1, Array[Short](1))).toBeFalsy
- expect(Arrays.equals(a1, Array[Short]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Short](1, -7, 11))).toBeFalsy
- expect(Arrays.equals(a1, Array[Short](1, -7, 11, 20))).toBeFalsy
- }
-
- it("should respond to `equals` for Ints") {
- val a1 = Array[Int](1, -7, 10)
-
- expect(Arrays.equals(null: Array[Int], null: Array[Int])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Int](1, -7, 10))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Int](3))).toBeFalsy
- expect(Arrays.equals(a1, Array[Int](1))).toBeFalsy
- expect(Arrays.equals(a1, Array[Int]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Int](1, -7, 11))).toBeFalsy
- expect(Arrays.equals(a1, Array[Int](1, -7, 11, 20))).toBeFalsy
- }
-
- it("should respond to `equals` for Longs") {
- val a1 = Array[Long](1L, -7L, 10L)
-
- expect(Arrays.equals(null: Array[Long], null: Array[Long])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Long](1L, -7L, 10L))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Long](3L))).toBeFalsy
- expect(Arrays.equals(a1, Array[Long](1L))).toBeFalsy
- expect(Arrays.equals(a1, Array[Long]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Long](1L, -7L, 11L))).toBeFalsy
- expect(Arrays.equals(a1, Array[Long](1L, -7L, 11L, 20L))).toBeFalsy
- }
-
- it("should respond to `equals` for Floats") {
- val a1 = Array[Float](1.1f, -7.4f, 10.0f)
-
- expect(Arrays.equals(null: Array[Float], null: Array[Float])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Float](1.1f, -7.4f, 10.0f))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Float](3.0f))).toBeFalsy
- expect(Arrays.equals(a1, Array[Float](1.1f))).toBeFalsy
- expect(Arrays.equals(a1, Array[Float]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Float](1.1f, -7.4f, 11.0f))).toBeFalsy
- expect(Arrays.equals(a1, Array[Float](1.1f, -7.4f, 10.0f, 20.0f))).toBeFalsy
- }
-
- it("should respond to `equals` for Doubles") {
- val a1 = Array[Double](1.1, -7.4, 10.0)
-
- expect(Arrays.equals(null: Array[Double], null: Array[Double])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[Double](1.1, -7.4, 10.0))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[Double](3.0))).toBeFalsy
- expect(Arrays.equals(a1, Array[Double](1.1))).toBeFalsy
- expect(Arrays.equals(a1, Array[Double]())).toBeFalsy
- expect(Arrays.equals(a1, Array[Double](1.1, -7.4, 11.0))).toBeFalsy
- expect(Arrays.equals(a1, Array[Double](1.1, -7.4, 10.0, 20.0))).toBeFalsy
- }
-
- it("should respond to `equals` for AnyRefs") {
- class A(private val x: Int) {
- override def equals(that: Any) = that match {
- case that: A => this.x == that.x
- case _ => false
- }
- }
-
- def A(x: Int) = new A(x)
-
- val a1 = Array[AnyRef](A(1), A(-7), A(10))
-
- expect(Arrays.equals(null: Array[AnyRef], null: Array[AnyRef])).toBeTruthy
- expect(Arrays.equals(a1, a1)).toBeTruthy
- expect(Arrays.equals(a1, Array[AnyRef](A(1), A(-7), A(10)))).toBeTruthy
-
- expect(Arrays.equals(a1, null)).toBeFalsy
- expect(Arrays.equals(a1, Array[AnyRef](A(3)))).toBeFalsy
- expect(Arrays.equals(a1, Array[AnyRef](A(1)))).toBeFalsy
- expect(Arrays.equals(a1, Array[AnyRef]())).toBeFalsy
- expect(Arrays.equals(a1, Array[AnyRef](A(1), null, A(11)))).toBeFalsy
- expect(Arrays.equals(a1, Array[AnyRef](A(1), A(-7), A(11), A(20)))).toBeFalsy
- }
-
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/AtomicTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/AtomicTest.scala
deleted file mode 100644
index c4f065a..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/AtomicTest.scala
+++ /dev/null
@@ -1,119 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.language.implicitConversions
-
-import scala.scalajs.js
-
-import org.scalajs.jasminetest.JasmineTest
-
-object AtomicTest extends JasmineTest {
-
- describe("java.util.concurrent.AtomicLong") {
-
- it("Should have all the normal operations") {
- val atomic = new java.util.concurrent.atomic.AtomicLong(10)
- expect(atomic.get()).toEqual(10)
- atomic.set(20)
- expect(atomic.get()).toEqual(20)
- expect(atomic.getAndIncrement()).toEqual(20)
- expect(atomic.get()).toEqual(21)
- expect(atomic.getAndDecrement()).toEqual(21)
- expect(atomic.get()).toEqual(20)
- expect(atomic.getAndSet(0)).toEqual(20)
- expect(atomic.get()).toEqual(0)
- expect(atomic.incrementAndGet()).toEqual(1)
- expect(atomic.get()).toEqual(1)
- expect(atomic.decrementAndGet()).toEqual(0)
- expect(atomic.get()).toEqual(0)
- expect(atomic.addAndGet(10)).toEqual(10)
- expect(atomic.get()).toEqual(10)
- expect(atomic.intValue).toEqual(10)
- expect(atomic.longValue).toEqual(10L)
- expect(atomic.floatValue).toEqual(10.0f)
- expect(atomic.doubleValue).toEqual(10)
- expect(atomic.compareAndSet(1, 20)).toEqual(false)
- expect(atomic.get()).toEqual(10)
- expect(atomic.compareAndSet(10, 20)).toEqual(true)
- expect(atomic.get()).toEqual(20)
- }
- }
- describe("java.util.concurrent.AtomicInteger") {
- it("Should have all the normal operations") {
- val atomic = new java.util.concurrent.atomic.AtomicInteger(10)
- expect(atomic.get()).toEqual(10)
- atomic.set(20)
- expect(atomic.get()).toEqual(20)
- expect(atomic.getAndIncrement()).toEqual(20)
- expect(atomic.get()).toEqual(21)
- expect(atomic.getAndDecrement()).toEqual(21)
- expect(atomic.get()).toEqual(20)
- expect(atomic.getAndSet(0)).toEqual(20)
- expect(atomic.get()).toEqual(0)
- expect(atomic.incrementAndGet()).toEqual(1)
- expect(atomic.get()).toEqual(1)
- expect(atomic.decrementAndGet()).toEqual(0)
- expect(atomic.get()).toEqual(0)
- expect(atomic.addAndGet(10)).toEqual(10)
- expect(atomic.get()).toEqual(10)
- expect(atomic.intValue).toEqual(10)
- expect(atomic.longValue).toEqual(10L)
- expect(atomic.floatValue).toEqual(10.0f)
- expect(atomic.doubleValue).toEqual(10)
- expect(atomic.compareAndSet(1, 20)).toEqual(false)
- expect(atomic.get()).toEqual(10)
- expect(atomic.compareAndSet(10, 20)).toEqual(true)
- expect(atomic.get()).toEqual(20)
- }
- }
- describe("java.util.concurrent.AtomicBoolean") {
- it("Should have all the normal operations") {
- val atomic = new java.util.concurrent.atomic.AtomicBoolean(true)
- expect(atomic.get()).toEqual(true)
- atomic.set(false)
- expect(atomic.get()).toEqual(false)
- expect(atomic.compareAndSet(true, true)).toEqual(false)
- expect(atomic.get()).toEqual(false)
- expect(atomic.compareAndSet(false, true)).toEqual(true)
- expect(atomic.get()).toEqual(true)
- expect(atomic.getAndSet(false)).toEqual(true)
- expect(atomic.get()).toEqual(false)
- }
- }
- describe("java.util.concurrent.AtomicReference") {
- it("Should have all the normal operations") {
- val thing1 = Foo(5)
- val thing1bis = Foo(5) // equals(), but not the same reference
- val thing2 = Foo(10)
-
- implicit def foo2js(foo: Foo): js.Any = foo.asInstanceOf[js.Any]
-
- // sanity
- expect(thing1 == thing1bis).toBeTruthy
- expect(thing1 == thing2).toBeFalsy
- expect(thing1).toBe(thing1)
- expect(thing1).not.toBe(thing1bis)
-
- // actual test
- val atomic = new java.util.concurrent.atomic.AtomicReference(thing1)
- expect(atomic.get()).toBe(thing1)
- atomic.set(thing2)
- expect(atomic.get()).toBe(thing2)
- expect(atomic.compareAndSet(thing1, thing1)).toEqual(false)
- expect(atomic.get()).toBe(thing2)
- expect(atomic.compareAndSet(thing2, thing1)).toEqual(true)
- expect(atomic.get()).toBe(thing1)
- expect(atomic.compareAndSet(thing1bis, thing2)).toEqual(false)
- expect(atomic.getAndSet(thing2)).toBe(thing1)
- expect(atomic.get()).toBe(thing2)
- }
- }
-
- case class Foo(i: Int)
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/BooleanTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/BooleanTest.scala
deleted file mode 100644
index 87c65e9..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/BooleanTest.scala
+++ /dev/null
@@ -1,62 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.lang.{Boolean => JBoolean}
-
-import org.scalajs.jasminetest.JasmineTest
-
-/**
- * tests the implementation of the java standard library Boolean
- */
-object BooleanTest extends JasmineTest {
-
- describe("java.lang.Boolean") {
-
- it("should provide `booleanValue`") {
- expect(JBoolean.TRUE.booleanValue()).toBe(true)
- expect(JBoolean.FALSE.booleanValue()).toBe(false)
- expect(() => (null: JBoolean).booleanValue()).toThrow
- }
-
- it("should provide `compareTo`") {
- def compare(x: Boolean, y: Boolean): Int =
- new JBoolean(x).compareTo(new JBoolean(y))
-
- expect(compare(false, false)).toEqual(0)
- expect(compare(false, true)).toBeLessThan(0)
- expect(compare(true, false)).toBeGreaterThan(0)
- expect(compare(true, true)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(false, false)).toEqual(0)
- expect(compare(false, true)).toBeLessThan(0)
- expect(compare(true, false)).toBeGreaterThan(0)
- expect(compare(true, true)).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Boolean): Unit = {
- expect(JBoolean.parseBoolean(s)).toEqual(v)
- expect(JBoolean.valueOf(s).booleanValue()).toEqual(v)
- expect(new JBoolean(s).booleanValue()).toEqual(v)
- }
-
- test("false", false)
- test("true", true)
- test("TrUe", true)
- test(null, false)
- test("truee", false)
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ByteTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ByteTest.scala
deleted file mode 100644
index b033c59..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ByteTest.scala
+++ /dev/null
@@ -1,64 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.lang.{Byte => JByte}
-
-import org.scalajs.jasminetest.JasmineTest
-
-/**
- * tests the implementation of the java standard library Byte
- */
-object ByteTest extends JasmineTest {
-
- describe("java.lang.Byte") {
-
- it("should provide `compareTo`") {
- def compare(x: Byte, y: Byte): Int =
- new JByte(x).compareTo(new JByte(y))
-
- expect(compare(0.toByte, 5.toByte)).toBeLessThan(0)
- expect(compare(10.toByte, 9.toByte)).toBeGreaterThan(0)
- expect(compare(-2.toByte, -1.toByte)).toBeLessThan(0)
- expect(compare(3.toByte, 3.toByte)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0.toByte, 5.toByte)).toBeLessThan(0)
- expect(compare(10.toByte, 9.toByte)).toBeGreaterThan(0)
- expect(compare(-2.toByte, -1.toByte)).toBeLessThan(0)
- expect(compare(3.toByte, 3.toByte)).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Byte): Unit = {
- expect(JByte.parseByte(s)).toEqual(v)
- expect(JByte.valueOf(s).byteValue()).toEqual(v)
- expect(new JByte(s).byteValue()).toEqual(v)
- }
-
- test("0", 0)
- test("5", 5)
- test("127", 127)
- test("-100", -100)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String): Unit =
- expect(() => JByte.parseByte(s)).toThrow
-
- test("abc")
- test("")
- test("200") // out of range
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/CharacterTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/CharacterTest.scala
deleted file mode 100644
index f206221..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/CharacterTest.scala
+++ /dev/null
@@ -1,672 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-import scala.scalajs.js
-
-object CharacterTest extends JasmineTest {
-
- describe("java.lang.Character") {
-
- it("should provide `isISOControl`") {
- val isoControlChars = (('\u0000' to '\u001F') ++ ('\u007F' to '\u009F')).map(_.toInt).toSet
- isoControlChars foreach { c =>
- expect(Character.isISOControl(c)).toEqual(true)
- }
-
- val randomInts = List.fill(100)(scala.util.Random.nextInt)
- ((-1000 to 1000) ++ randomInts).filterNot(isoControlChars) foreach { c =>
- expect(Character.isISOControl(c)).toEqual(false)
- }
- }
-
- it("should provide `digit`") {
- expect(Character.digit('a', 16)).toEqual(10)
- expect(Character.digit('}', 5)).toEqual(-1)
- expect(Character.digit('1', 50)).toEqual(-1)
- expect(Character.digit('1', 36)).toEqual(1)
- expect(Character.digit('Z', 36)).toEqual(35)
- expect(Character.digit('\uFF22', 20)).toEqual(11)
- }
-
- it("should provide isDigit") {
- expect(Character.isDigit('a')).toBeFalsy
- expect(Character.isDigit('0')).toBeTruthy
- expect(Character.isDigit('5')).toBeTruthy
- expect(Character.isDigit('9')).toBeTruthy
- expect(Character.isDigit('z')).toBeFalsy
- expect(Character.isDigit(' ')).toBeFalsy
- }
-
- it("should provide `compareTo`") {
- def compare(x: Char, y: Char): Int =
- new Character(x).compareTo(new Character(y))
-
- expect(compare('0', '5')).toBeLessThan(0)
- expect(compare('o', 'g')).toBeGreaterThan(0)
- expect(compare('A', 'a')).toBeLessThan(0)
- expect(compare('b', 'b')).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare('0', '5')).toBeLessThan(0)
- expect(compare('o', 'g')).toBeGreaterThan(0)
- expect(compare('A', 'a')).toBeLessThan(0)
- expect(compare('b', 'b')).toEqual(0)
- }
-
- it("should provide isIdentifierIgnorable") {
- for (c <- '\u0000' to '\u0008')
- expect(Character.isIdentifierIgnorable(c)).toBeTruthy
-
- for (c <- '\u000E' to '\u001B')
- expect(Character.isIdentifierIgnorable(c)).toBeTruthy
-
- for (c <- '\u007F' to '\u009F')
- expect(Character.isIdentifierIgnorable(c)).toBeTruthy
-
- // Exhaustive list of Cf category. Unicode 7.0.0
- expect(Character.isIdentifierIgnorable('\u00AD')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0600')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0601')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0602')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0603')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0604')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u0605')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u061C')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u06DD')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u070F')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u180E')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u200B')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u200C')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u200D')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u200E')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u200F')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u202A')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u202B')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u202C')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u202D')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u202E')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2060')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2061')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2062')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2063')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2064')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2066')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2067')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2068')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u2069')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206A')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206B')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206C')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206D')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206E')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\u206F')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\uFEFF')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\uFFF9')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\uFFFA')).toBeTruthy
- expect(Character.isIdentifierIgnorable('\uFFFB')).toBeTruthy
-
- // BUG in JDK? 17B4 should be "Mn", Java says "Cf"
- //expect(Character.isIdentifierIgnorable('\u17b4')).toBeTruthy
-
- // 100 randomly generated negatives
- expect(Character.isIdentifierIgnorable('\u745a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub445')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub23a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub029')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ufb5c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u1b67')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u943b')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ue766')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uad12')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub80b')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u7341')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ubc73')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uabb9')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub34b')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u1063')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u272f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3801')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u53a6')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u2ec2')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u540c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc85f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud2c8')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u551b')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc0a1')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud25a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u2b98')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u398b')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ubc77')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u54cc')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc9a0')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud10f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf7e1')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u0f29')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uafcd')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf187')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u6287')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uacb6')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uff99')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub59e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf630')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ufaec')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ua7d7')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3eab')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u54a5')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u393a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc621')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u766c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud64c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u8beb')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u44e2')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub6f6')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u58b6')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3bad')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3c28')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ufbfd')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u585f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u7227')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ucea7')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u2c82')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u686d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u120d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf3db')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u320a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud96e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u85eb')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9648')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u08a4')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9db7')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u82c7')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ufe12')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u0eaf')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u96dc')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3a2a')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc72e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3745')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ubcf9')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u5f66')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9be1')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud81d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3ca3')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3e82')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u7ce4')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u33ca')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ue725')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uef49')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ue2cf')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\udcf0')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u5f2e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u2a63')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ud2d2')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u8023')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ua957')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u10ba')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf85f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uc40d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u2509')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u0d8e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9db8')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u824d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u5670')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u6005')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub8de')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uff5c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\ub36d')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u0cf2')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u82f6')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9206')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u95e1')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u990f')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u9fc7')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\udffb')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u0ecb')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u7563')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uf0ff')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u6b2e')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u894c')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u8f06')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\uffa9')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u37b0')).toBeFalsy
- expect(Character.isIdentifierIgnorable('\u3e04')).toBeFalsy
-
- }
-
- it("should provide isUnicodeIdentifierStart") {
- // 100 randomly generated positives and 100 randomly generated negatives
-
- expect(Character.isUnicodeIdentifierStart('\ud6d5')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3f9c')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3a40')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u53af')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u1636')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4884')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ucba4')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u1ee4')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u6dec')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u10d4')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u631f')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3661')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u55f8')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub4ef')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ud509')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u65b5')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u316b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub270')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7f0f')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uff84')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u11cc')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u0294')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u51b1')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u9ae2')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u304a')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ud5c7')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3b4b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u5e42')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u51fc')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uc148')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uc1ae')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7372')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uc116')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u5d29')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u8753')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u50f8')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3f9d')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u1f44')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ucd43')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u9126')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u8d2e')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4f5c')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u66d7')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ua30b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u140b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub264')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7b35')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u15e4')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ubb37')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u34e3')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uac3e')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ubd0e')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub641')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u1580')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u30c1')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub0c8')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u8681')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7f14')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4142')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u56c1')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u0444')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u9964')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub5c0')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u43d8')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u479e')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u0853')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ube08')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u9346')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uf9c1')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u0e8a')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u212c')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u810c')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u8089')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u1331')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ua5f7')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u5e5e')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u613b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u34a7')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ud15b')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\uc1fc')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u92f1')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u3ae6')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ufceb')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7584')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ufe98')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ubb23')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7961')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4445')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4d5f')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u61cb')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u5176')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ub987')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u906a')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u4317')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u93ad')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u825a')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u7ff8')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u533a')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\u5617')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ufcc6')).toBeTruthy
- expect(Character.isUnicodeIdentifierStart('\ue398')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ueab6')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue7bc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf8ab')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue27f')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uebea')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ueedc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf091')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2785')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u287b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf042')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u20f9')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u23d6')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udc5b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ued16')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u1b6b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue7ba')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf7fa')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2125')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uea97')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue624')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ufbb8')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2730')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udb89')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue30d')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2e24')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf03e')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uda27')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u28fc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u9ffe')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ude19')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0b70')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uddfc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ued53')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue8cb')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udccc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u00a3')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0bed')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0c68')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf47b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0f96')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue9c3')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf784')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uef4b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udee1')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2f61')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf622')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u19f9')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ud86a')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ued83')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf7e4')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uecce')).toBeFalsy
-
- // BUG in JDK? A699 should be "Ll", Java says "Cn"
- // expect(Character.isUnicodeIdentifierStart('\ua699')).toBeFalsy
-
- expect(Character.isUnicodeIdentifierStart('\uaa5f')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udf24')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2e0e')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf322')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue137')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ued19')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u21ab')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue972')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udbf2')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf54c')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u4dd3')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2769')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue363')).toBeFalsy
-
- // BUG in JDK? 1BBB should be "Lo", Java says "Cn"
- // expect(Character.isUnicodeIdentifierStart('\u1bbb')).toBeFalsy
-
- expect(Character.isUnicodeIdentifierStart('\ueae7')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2bf3')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue704')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u1c7f')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf52b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue9e3')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u259b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf250')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf42f')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ue244')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u20d9')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ua881')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0ee6')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2203')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0fc7')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u07fc')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udb86')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2a70')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2bb7')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uecf0')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ude48')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0a3b')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u20b8')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf898')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u23e6')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ud8ba')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uda1e')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\udc12')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u2a06')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\u0888')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\ud9ec')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf81f')).toBeFalsy
- expect(Character.isUnicodeIdentifierStart('\uf817')).toBeFalsy
- }
-
- it("should provide isUnicodeIdentifierPart") {
- // 100 randomly generated positives and 100 randomly generated negatives
-
- expect(Character.isUnicodeIdentifierPart('\u48d3')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u0905')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8f51')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9bcb')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ud358')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u1538')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uffcf')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u83ec')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3a89')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ub63a')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ufe24')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u2d62')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u15ca')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4fa4')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u47d1')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u831c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u84e6')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u7783')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua03c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6ecf')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u147f')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u67a9')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8b6c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3410')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u2cc0')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua332')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9733')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5df3')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3fd7')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6611')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u55b4')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8bc8')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6f74')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6c97')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6a86')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6000')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u614f')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u206e')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua801')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9edf')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ub42c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u7fcd')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8a60')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u182f')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5d0a')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uaf9c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9d4b')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5088')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uc1a6')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ubbe4')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uad25')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4653')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8add')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3d1c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u80a8')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u810e')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uc1d2')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ub984')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9d13')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u37c2')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u13cd')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u53f9')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u98b7')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u57f3')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ub554')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u0176')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua318')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u9704')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8d52')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u940a')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u0fa5')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u38d1')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3b33')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u93bb')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u03bd')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4c88')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ud67d')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ubcbf')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3867')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4368')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8f2d')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u049a')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4c01')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5589')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5e71')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua1fd')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3a4a')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\uc111')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ub465')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u95af')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ubf2c')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8488')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u4317')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u6b77')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8995')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u7467')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u16b7')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u3ca0')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u5332')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\u8654')).toBeTruthy
- expect(Character.isUnicodeIdentifierPart('\ua8c8')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue3ca')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uebee')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u270e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf0ac')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue9ec')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u296a')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u33fd')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue5f4')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ueb01')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf38b')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2e6f')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uea69')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf155')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u0f0e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ueb80')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ud959')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue25e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf566')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue4a3')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uec44')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u3297')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u3214')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u1bfd')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u4dd0')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uea99')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u309b')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf592')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf4dd')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udfaf')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udd38')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf820')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uaacd')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uff5b')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ude36')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue33b')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udbce')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue1f6')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf78a')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ueb44')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uebd4')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u1df7')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2f10')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u1cbf')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2362')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uebeb')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2ede')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u221d')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2021')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udf41')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u05f5')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u24ab')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uee15')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf175')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf35c')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udc7b')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ud883')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf341')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ueec6')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2f57')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uff64')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue6a4')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uec34')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u22a5')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf5ac')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u3360')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u28b0')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf678')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue0e4')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u233f')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u0afa')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2013')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ud7af')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ud98e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ud8a5')).toBeFalsy
-
- // BUG in JDK? A79E should be "Lu", Java says "Cn"
- // expect(Character.isUnicodeIdentifierPart('\ua79e')).toBeFalsy
-
- expect(Character.isUnicodeIdentifierPart('\u1806')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue07a')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2748')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uabad')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uec5c')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue832')).toBeFalsy
-
- // BUG in JDK? 08A9 should be "Lo", Java says "Cn"
- // expect(Character.isUnicodeIdentifierPart('\u08a9')).toBeFalsy
-
- expect(Character.isUnicodeIdentifierPart('\ue4bd')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u208a')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf840')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf570')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uef1e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2bd4')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue385')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udc18')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u0af0')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u244a')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf01e')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\uf114')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\ue9c4')).toBeFalsy
-
- // BUG in JDK? AAF4 should be "Lm", Java says "Cn"
- // expect(Character.isUnicodeIdentifierPart('\uaaf4')).toBeFalsy
-
- expect(Character.isUnicodeIdentifierPart('\uf7b9')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\udd2f')).toBeFalsy
- expect(Character.isUnicodeIdentifierPart('\u2d2c')).toBeFalsy
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ClassTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ClassTest.scala
deleted file mode 100644
index 424edd6..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ClassTest.scala
+++ /dev/null
@@ -1,30 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-import scala.scalajs.js
-
-object ClassTest extends JasmineTest {
-
- describe("java.lang.Class") {
-
- it("should provide getSimpleName()") {
- expect(classOf[java.lang.Integer].getSimpleName()).toEqual("Integer")
- expect(classOf[java.lang.Class[_]].getSimpleName()).toEqual("Class")
- expect(classOf[scala.collection.Map[_, _]].getSimpleName()).toEqual("Map")
- expect(classOf[ClassTestClass#InnerClass].getSimpleName()).toEqual("InnerClass")
- }
-
- }
-
-}
-
-class ClassTestClass {
- class InnerClass
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DateTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DateTest.scala
deleted file mode 100644
index f62f926..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DateTest.scala
+++ /dev/null
@@ -1,87 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.util.Date
-
-import org.scalajs.jasminetest.JasmineTest
-
-/**
- * tests the implementation of the java standard library Date
- */
-object DateTest extends JasmineTest {
-
- describe("java.lang.Date") {
-
- it("should provide `compareTo`") {
- def compare(x: Date, y: Date): Int = {
- x.compareTo(y)
- }
-
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(98, 11, 5, 0, 0))).toBeLessThan(0)
- expect(compare(new Date(98, 11, 5, 0, 0), new Date(97, 11, 5, 0, 0))).toBeGreaterThan(0)
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(97, 11, 5))).toEqual(0)
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(97, 11, 5, 0, 1))).toBeLessThan(0)
- expect(compare(new Date(97, 11, 5), new Date(97, 11, 5, 0, 0))).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(98, 11, 5, 0, 0))).toBeLessThan(0)
- expect(compare(new Date(98, 11, 5, 0, 0), new Date(97, 11, 5, 0, 0))).toBeGreaterThan(0)
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(97, 11, 5))).toEqual(0)
- expect(compare(new Date(97, 11, 5, 0, 0), new Date(97, 11, 5, 0, 1))).toBeLessThan(0)
- expect(compare(new Date(97, 11, 5), new Date(97, 11, 5, 0, 0))).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Date): Unit =
- expect(new Date(s).compareTo(v)).toEqual(0)
-
- test("Nov 5 1997 5:23:27 GMT", new Date(Date.UTC(97, 10, 5, 5, 23, 27)))
- test("Nov 1 1997 GMT", new Date(Date.UTC(97,10,1, 0, 0, 0)))
- test("Jan 1 1970 18:11:01 GMT", new Date(Date.UTC(70,0,1,18,11,1)))
- }
-
- it("should provide after") {
- expect(new Date(97, 11, 5, 0, 0).after(new Date(98, 11, 5, 0, 0))).toBe(false)
- expect(new Date(99, 11, 5, 0, 0).after(new Date(98, 11, 5, 0, 0))).toBe(true)
- expect(new Date(99, 11, 5, 0, 0).after(new Date(99, 11, 5, 0, 0))).toBe(false)
- }
-
- it("should provide before") {
- expect(new Date(97, 11, 5, 0, 0).before(new Date(98, 11, 5, 0, 0))).toBe(true)
- expect(new Date(99, 11, 5, 0, 0).before(new Date(98, 11, 5, 0, 0))).toBe(false)
- expect(new Date(99, 11, 5, 0, 0).before(new Date(99, 11, 5, 0, 0))).toBe(false)
- }
-
- it("should provide clone") {
- def testClone(date: Date) = {
- val cloned = date.clone()
- date == cloned
- }
-
- expect(testClone(new Date(97, 11, 5, 0, 0))).toBe(true)
- expect(testClone(new Date(92, 14, 6, 2, 1))).toBe(true)
- expect(testClone(new Date(4, 1, 2, 3, 0, 0))).toBe(true)
- }
-
- it("should respond to getYear") {
- def testYear(year: Int) = {
- val date = new Date()
- date.setYear(year)
- expect(date.getYear).toEqual(year)
- }
- testYear(1940)
- testYear(1920)
- testYear(2030)
- }
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DoubleTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DoubleTest.scala
deleted file mode 100644
index 59c6e10..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/DoubleTest.scala
+++ /dev/null
@@ -1,217 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-import scala.scalajs.js
-
-import java.lang.{Double => JDouble}
-
-import scala.util.Try
-
-object DoubleTest extends JasmineTest {
-
- describe("java.lang.Double") {
-
- it("should provide proper `equals`") {
- expect(Double.box(0.0) == Double.box(-0.0)).toBeTruthy
- expect(Double.box(Double.NaN) == Double.box(Double.NaN)).toBeTruthy
- }
-
- it("hashCode") {
- def hashCodeNotInlined(x: Any): Int = {
- var y = x // do not inline
- y.hashCode
- }
-
- def test(x: Double, expected: Int): Unit = {
- expect(x.hashCode).toEqual(expected)
- expect(hashCodeNotInlined(x)).toEqual(expected)
- }
-
- test(0.0, 0)
- test(-0.0, 0)
- test(1234.0, 1234)
- test(1.5, 1073217536)
- test(Math.PI, 340593891)
- test(-54.0, -54)
-
- test(Double.MinPositiveValue, 1)
- test(Double.MinValue, 1048576)
- test(Double.MaxValue, -2146435072)
-
- test(Double.NaN, 2146959360)
- test(Double.PositiveInfinity, 2146435072)
- test(Double.NegativeInfinity, -1048576)
- }
-
- it("should provide `toString` with integer values when an integer") {
- expect(0.0.toString).toEqual("0")
- expect(-0.0.toString).toEqual("0")
- expect(Double.NaN.toString).toEqual("NaN")
- expect(Double.PositiveInfinity.toString).toEqual("Infinity")
- expect(Double.NegativeInfinity.toString).toEqual("-Infinity")
- expect(5.0.toString).toEqual("5")
- expect(-5.0.toString).toEqual("-5")
- expect(1.2.toString).toEqual("1.2")
- }
-
- it("should parse strings") {
- expect("0.0".toDouble).toEqual(0.0f)
- expect("NaN".toDouble.isNaN).toBeTruthy
- expect(Try("asdf".toDouble).isFailure).toBeTruthy
-
- def test(s: String, v: Double): Unit = {
- expect(JDouble.parseDouble(s)).toBeCloseTo(v)
- expect(JDouble.valueOf(s).doubleValue()).toBeCloseTo(v)
- expect(new JDouble(s).doubleValue()).toBeCloseTo(v)
- }
-
- test("0", 0.0)
- test("5.3", 5.3)
- test("127e2", 12700.0)
- test("127E-2", 1.27)
- test("1E+1", 10)
- test("-123.4", -123.4)
- test("65432.1", 65432.10)
- test("-87654.321", -87654.321)
- test("+.3f", 0.3)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String): Unit =
- expect(() => JDouble.parseDouble(s)).toThrow
-
- test("4.3.5")
- test("4e3.5")
- test("hello world")
- test("--4")
- test("4E-3.2")
- }
-
- it("should provide `compareTo`") {
- def compare(x: Double, y: Double): Int =
- new JDouble(x).compareTo(new JDouble(y))
-
- expect(compare(0.0, 5.5)).toBeLessThan(0)
- expect(compare(10.5, 10.2)).toBeGreaterThan(0)
- expect(compare(-2.1, -1.0)).toBeLessThan(0)
- expect(compare(3.14, 3.14)).toEqual(0)
-
- // From compareTo's point of view, NaN is equal to NaN
- expect(compare(Double.NaN, Double.NaN)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0.0, 5.5)).toBeLessThan(0)
- expect(compare(10.5, 10.2)).toBeGreaterThan(0)
- expect(compare(-2.1, -1.0)).toBeLessThan(0)
- expect(compare(3.14, 3.14)).toEqual(0)
-
- // From compareTo's point of view, NaN is equal to NaN
- expect(compare(Double.NaN, Double.NaN)).toEqual(0)
- }
-
- it("should provide isInfinite - #515") {
- expect(Double.PositiveInfinity.isInfinite).toBeTruthy
- expect(Double.NegativeInfinity.isInfinite).toBeTruthy
- expect((1.0/0).isInfinite).toBeTruthy
- expect((-1.0/0).isInfinite).toBeTruthy
- expect((0.0).isInfinite).toBeFalsy
- }
-
- it("isNaN") {
- def f(v: Double): Boolean = {
- var v2 = v // do not inline
- v2.isNaN
- }
-
- expect(f(Double.NaN)).toBeTruthy
-
- expect(f(Double.PositiveInfinity)).toBeFalsy
- expect(f(Double.NegativeInfinity)).toBeFalsy
- expect(f(1.0 / 0)).toBeFalsy
- expect(f(-1.0 / 0)).toBeFalsy
- expect(f(0.0)).toBeFalsy
- expect(f(3.0)).toBeFalsy
- expect(f(-1.5)).toBeFalsy
- }
-
- it("longBitsToDouble") {
- def isZero(v: Double, neg: Boolean): Boolean = {
- (v == 0.0) && (1 / v == (
- if (neg) Double.NegativeInfinity
- else Double.PositiveInfinity))
- }
-
- import JDouble.{longBitsToDouble => f}
-
- // Specials
- expect(f(0x7ff0000000000000L)).toEqual(Double.PositiveInfinity)
- expect(f(0xfff0000000000000L)).toEqual(Double.NegativeInfinity)
- expect(isZero(f(0x0000000000000000L), false)).toBeTruthy
- expect(isZero(f(0x8000000000000000L), true)).toBeTruthy
- expect(f(0x7ff8000000000000L).isNaN).toBeTruthy // canonical NaN
-
- // Non-canonical NaNs
- expect(f(0x7ff0000000000001L).isNaN).toBeTruthy // smallest positive NaN
- expect(f(0x7ff15ab515d3cca1L).isNaN).toBeTruthy // an arbitrary positive NaN
- expect(f(0x7fffffffffffffffL).isNaN).toBeTruthy // largest positive NaN
- expect(f(0xfff0000000000001L).isNaN).toBeTruthy // smallest negative NaN
- expect(f(0xfff15ab515d3cca1L).isNaN).toBeTruthy // an arbitrary negative NaN
- expect(f(0xffffffffffffffffL).isNaN).toBeTruthy // largest negative NaN
-
- // Normal forms
- expect(f(0x0010000000000000L)).toEqual(2.2250738585072014e-308) // smallest pos normal form
- expect(f(0x7fefffffffffffffL)).toEqual(1.7976931348623157e308) // largest pos normal form
- expect(f(0x4d124568bc6584caL)).toEqual(1.8790766677624813e63) // an arbitrary pos normal form
- expect(f(0x8010000000000000L)).toEqual(-2.2250738585072014e-308) // smallest neg normal form
- expect(f(0xffefffffffffffffL)).toEqual(-1.7976931348623157e308) // largest neg normal form
- expect(f(0xcd124568bc6584caL)).toEqual(-1.8790766677624813e63) // an arbitrary neg normal form
-
- // Subnormal forms
- expect(f(0x0000000000000001L)).toEqual(Double.MinPositiveValue) // smallest pos subnormal form
- expect(f(0x000fffffffffffffL)).toEqual(2.225073858507201e-308) // largest pos subnormal form
- expect(f(0x000c5d44ae45cb60L)).toEqual(1.719471609939382e-308) // an arbitrary pos subnormal form
- expect(f(0x8000000000000001L)).toEqual(-Double.MinPositiveValue) // smallest neg subnormal form
- expect(f(0x800fffffffffffffL)).toEqual(-2.225073858507201e-308) // largest neg subnormal form
- expect(f(0x800c5d44ae45cb60L)).toEqual(-1.719471609939382e-308) // an arbitrary neg subnormal form
- }
-
- it("doubleToLongBits") {
- import JDouble.{doubleToLongBits => f}
-
- // Specials
- expect(f(Double.PositiveInfinity) == 0x7ff0000000000000L).toBeTruthy
- expect(f(Double.NegativeInfinity) == 0xfff0000000000000L)
- expect(f(0.0) == 0x0000000000000000L).toBeTruthy
- expect(f(-0.0) == 0x8000000000000000L).toBeTruthy
- expect(f(Double.NaN) == 0x7ff8000000000000L).toBeTruthy // canonical NaN
-
- // Normal forms
- expect(f(2.2250738585072014e-308) == 0x0010000000000000L).toBeTruthy // smallest pos normal form
- expect(f(1.7976931348623157e308) == 0x7fefffffffffffffL).toBeTruthy // largest pos normal form
- expect(f(1.8790766677624813e63) == 0x4d124568bc6584caL).toBeTruthy // an arbitrary pos normal form
- expect(f(-2.2250738585072014e-308) == 0x8010000000000000L).toBeTruthy // smallest neg normal form
- expect(f(-1.7976931348623157e308) == 0xffefffffffffffffL).toBeTruthy // largest neg normal form
- expect(f(-1.8790766677624813e63) == 0xcd124568bc6584caL).toBeTruthy // an arbitrary neg normal form
-
- // Subnormal forms
- expect(f(Double.MinPositiveValue) == 0x0000000000000001L).toBeTruthy // smallest pos subnormal form
- expect(f(2.225073858507201e-308) == 0x000fffffffffffffL).toBeTruthy // largest pos subnormal form
- expect(f(1.719471609939382e-308) == 0x000c5d44ae45cb60L).toBeTruthy // an arbitrary pos subnormal form
- expect(f(-Double.MinPositiveValue) == 0x8000000000000001L).toBeTruthy // smallest neg subnormal form
- expect(f(-2.225073858507201e-308) == 0x800fffffffffffffL).toBeTruthy // largest neg subnormal form
- expect(f(-1.719471609939382e-308) == 0x800c5d44ae45cb60L).toBeTruthy // an arbitrary neg subnormal form
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FloatTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FloatTest.scala
deleted file mode 100644
index e45a34a..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FloatTest.scala
+++ /dev/null
@@ -1,221 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-import scala.scalajs.js
-
-import java.lang.{Float => JFloat}
-
-import scala.util.Try
-
-object FloatTest extends JasmineTest {
-
- describe("java.lang.Float") {
-
- it("should provide proper `equals`") {
- expect(Float.box(0.0f) == Float.box(-0.0f)).toBeTruthy
- expect(Float.box(Float.NaN) == Float.box(Float.NaN)).toBeTruthy
- }
-
- it("hashCode") {
- def hashCodeNotInlined(x: Any): Int = {
- var y = x // do not inline
- y.hashCode
- }
-
- def test(x: Float, expected: Int): Unit = {
- expect(x.hashCode).toEqual(expected)
- expect(hashCodeNotInlined(x)).toEqual(expected)
- }
-
- test(0.0f, 0)
- test(-0.0f, 0)
- test(1234.0f, 1234)
- test(1.5f, 1073217536)
- test(-54f, -54)
-
- test(Float.MinPositiveValue, 916455424)
- test(Float.MinValue, 670040063)
- test(Float.MaxValue, -1477443585)
-
- test(Float.NaN, 2146959360)
- test(Float.PositiveInfinity, 2146435072)
- test(Float.NegativeInfinity, -1048576)
- }
-
- it("should provide `toString` with integer values when an integer") {
- expect(0.0f.toString).toEqual("0")
- expect(-0.0f.toString).toEqual("0")
- expect(Float.NaN.toString).toEqual("NaN")
- expect(Float.PositiveInfinity.toString).toEqual("Infinity")
- expect(Float.NegativeInfinity.toString).toEqual("-Infinity")
- expect(5.0f.toString).toEqual("5")
- expect(-5.0f.toString).toEqual("-5")
-
- // We need to explicitly cut the string here, since floats are
- // represented by doubles (but the literal is emitted as
- // float). Therefore there may be some imprecision. This is
- // documented as semantic difference.
- expect(1.2f.toString.substring(0,3)).toEqual("1.2")
- }
-
- it("should parse strings") {
- expect("0.0".toFloat).toEqual(0.0f)
- expect("NaN".toFloat.isNaN).toBeTruthy
- expect(Try("asdf".toFloat).isFailure).toBeTruthy
-
- def test(s: String, v: Float): Unit = {
- expect(JFloat.parseFloat(s)).toBeCloseTo(v)
- expect(JFloat.valueOf(s).floatValue()).toBeCloseTo(v)
- expect(new JFloat(s).floatValue()).toBeCloseTo(v)
- }
-
- test("0", 0.0f)
- test("5.3", 5.3f)
- test("127e2", 12700.0f)
- test("127E-2", 1.27f)
- test("1E+1", 10f)
- test("-123.4", -123.4f)
- test("65432.1", 65432.10f)
- test("-87654.321", -87654.321f)
- test("+.3f", 0.3f)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String): Unit =
- expect(() => JFloat.parseFloat(s)).toThrow
-
- test("4.3.5")
- test("4e3.5")
- test("hello world")
- test("--4")
- test("4E-3.2")
- }
-
- it("should provide `compareTo`") {
- def compare(x: Float, y: Float): Int =
- new JFloat(x).compareTo(new JFloat(y))
-
- expect(compare(0.0f, 5.5f)).toBeLessThan(0)
- expect(compare(10.5f, 10.2f)).toBeGreaterThan(0)
- expect(compare(-2.1f, -1.0f)).toBeLessThan(0)
- expect(compare(3.14f, 3.14f)).toEqual(0)
-
- // From compareTo's point of view, NaN is equal to NaN
- expect(compare(Float.NaN, Float.NaN)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0.0f, 5.5f)).toBeLessThan(0)
- expect(compare(10.5f, 10.2f)).toBeGreaterThan(0)
- expect(compare(-2.1f, -1.0f)).toBeLessThan(0)
- expect(compare(3.14f, 3.14f)).toEqual(0)
-
- // From compareTo's point of view, NaN is equal to NaN
- expect(compare(Float.NaN, Float.NaN)).toEqual(0)
- }
-
- it("should provide isInfinite - #515") {
- expect(Float.PositiveInfinity.isInfinite).toBeTruthy
- expect(Float.NegativeInfinity.isInfinite).toBeTruthy
- expect((1f/0).isInfinite).toBeTruthy
- expect((-1f/0).isInfinite).toBeTruthy
- expect(0f.isInfinite).toBeFalsy
- }
-
- it("isNaN") {
- def f(v: Float): Boolean = {
- var v2 = v // do not inline
- v2.isNaN
- }
-
- expect(f(Float.NaN)).toBeTruthy
-
- expect(f(Float.PositiveInfinity)).toBeFalsy
- expect(f(Float.NegativeInfinity)).toBeFalsy
- expect(f(1f / 0)).toBeFalsy
- expect(f(-1f / 0)).toBeFalsy
- expect(f(0f)).toBeFalsy
- expect(f(3f)).toBeFalsy
- expect(f(-1.5f)).toBeFalsy
- }
-
- it("intBitsToFloat") {
- def isZero(v: Float, neg: Boolean): Boolean = {
- (v == 0.0f) && (1 / v == (
- if (neg) Float.NegativeInfinity
- else Float.PositiveInfinity))
- }
-
- import JFloat.{intBitsToFloat => f}
-
- // Specials
- expect(f(0x7f800000)).toEqual(Float.PositiveInfinity)
- expect(f(0xff800000)).toEqual(Float.NegativeInfinity)
- expect(isZero(f(0x00000000), false)).toBeTruthy
- expect(isZero(f(0x80000000), true)).toBeTruthy
- expect(f(0x7fc00000).isNaN).toBeTruthy // canonical NaN
-
- // Non-canonical NaNs
- expect(f(0x7f800001).isNaN).toBeTruthy // smallest positive NaN
- expect(f(0x7f915ab5).isNaN).toBeTruthy // an arbitrary positive NaN
- expect(f(0x7fffffff).isNaN).toBeTruthy // largest positive NaN
- expect(f(0xff800001).isNaN).toBeTruthy // smallest negative NaN
- expect(f(0xff915ab5).isNaN).toBeTruthy // an arbitrary negative NaN
- expect(f(0xffffffff).isNaN).toBeTruthy // largest negative NaN
-
- // Normal forms
- expect(f(0x00800000)).toEqual(1.17549435e-38f) // smallest pos normal form
- expect(f(0x7f7fffff)).toEqual(3.4028234e38f) // largest pos normal form
- expect(f(0x4d124568)).toEqual(1.53376384e8f) // an arbitrary pos normal form
- expect(f(0x80800000)).toEqual(-1.17549435e-38f) // smallest neg normal form
- expect(f(0xff7fffff)).toEqual(-3.4028234e38f) // largest neg normal form
- expect(f(0xcd124568)).toEqual(-1.53376384e8f) // an arbitrary neg normal form
-
- // Subnormal forms
- expect(f(0x00000001)).toEqual(Float.MinPositiveValue) // smallest pos subnormal form
- expect(f(0x007fffff)).toEqual(1.1754942e-38f) // largest pos subnormal form
- expect(f(0x007c5d44)).toEqual(1.1421059e-38f) // an arbitrary pos subnormal form
- expect(f(0x80000001)).toEqual(-Float.MinPositiveValue) // smallest neg subnormal form
- expect(f(0x807fffff)).toEqual(-1.1754942e-38f) // largest neg subnormal form
- expect(f(0x807c5d44)).toEqual(-1.1421059e-38f) // an arbitrary neg subnormal form
- }
-
- it("floatToIntBits") {
- import JFloat.{floatToIntBits => f}
-
- // Specials
- expect(f(Float.PositiveInfinity)).toEqual(0x7f800000)
- expect(f(Float.NegativeInfinity)).toEqual(0xff800000)
- expect(f(0.0f)).toEqual(0x00000000)
- expect(f(-0.0f)).toEqual(0x80000000)
- expect(f(Float.NaN)).toEqual(0x7fc00000) // canonical NaN
-
- // Normal forms
- expect(f(1.17549435e-38f)).toEqual(0x00800000) // smallest pos normal form
- expect(f(3.4028234e38f)).toEqual(0x7f7fffff) // largest pos normal form
- expect(f(1.53376384e8f)).toEqual(0x4d124568) // an arbitrary pos normal form
- expect(f(-1.17549435e-38f)).toEqual(0x80800000) // smallest neg normal form
- expect(f(-3.4028234e38f)).toEqual(0xff7fffff) // largest neg normal form
- expect(f(-1.53376384e8f)).toEqual(0xcd124568) // an arbitrary neg normal form
-
- // Subnormal forms
- expect(f(Float.MinPositiveValue)).toEqual(0x00000001) // smallest pos subnormal form
- expect(f(1.1754942e-38f)).toEqual(0x007fffff) // largest pos subnormal form
- expect(f(1.1421059e-38f)).toEqual(0x007c5d44) // an arbitrary pos subnormal form
- expect(f(-Float.MinPositiveValue)).toEqual(0x80000001) // smallest neg subnormal form
- expect(f(-1.1754942e-38f)).toEqual(0x807fffff) // largest neg subnormal form
- expect(f(-1.1421059e-38f)).toEqual(0x807c5d44) // an arbitrary neg subnormal form
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FormatterTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FormatterTest.scala
deleted file mode 100644
index e7a705c..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/FormatterTest.scala
+++ /dev/null
@@ -1,241 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-
-import java.util.{ Formatter, Formattable, FormattableFlags }
-
-import java.lang.{
- Double => JDouble,
- Float => JFloat,
- Integer => JInteger,
- Long => JLong,
- Byte => JByte,
- Short => JShort,
- Boolean => JBoolean,
- String => JString
-}
-
-
-object FormatterTest extends JasmineTest {
-
- class HelperClass
- class FormattableClass extends Formattable {
- var frm: Formatter = _
- var flags: Int = _
- var width: Int = _
- var precision: Int = _
- var calls = 0
- def formatTo(frm: Formatter, flags: Int, width: Int, precision: Int) = {
- this.calls += 1
- this.flags = flags
- this.width = width
- this.precision = precision
- frm.out().append("foobar")
- }
-
- def expectCalled(times: Int, flags: Int, width: Int, precision: Int) = {
- expect(this.calls).toEqual(times)
- expect(this.flags).toEqual(flags)
- expect(this.width).toEqual(width)
- expect(this.precision).toEqual(precision)
- }
-
- }
-
- def expectF(format: String, args: AnyRef*) = {
- val fmt = new Formatter()
- val res = fmt.format(format, args:_*).toString()
- fmt.close()
- expect(res)
- }
-
- def expectFC(format: String, flags: Int, width: Int, precision: Int) = {
- val fc = new FormattableClass
- val exp = expectF(format, fc)
- fc.expectCalled(1, flags, width, precision)
- exp
- }
-
- def expectThrow(format: String, args: AnyRef*) = {
- val fmt = new Formatter()
- expect(() => fmt.format(format, args:_*)).toThrow
- }
-
- describe("java.util.Formatter") {
-
- // Explicitly define these as `var`'s to avoid any compile-time constant folding
- var IntMax: Int = Int.MaxValue
- var IntMin: Int = Int.MinValue
- var ByteMax: Byte = Byte.MaxValue
- var ByteMin: Byte = Byte.MinValue
- var ShortMax: Short = Short.MaxValue
- var ShortMin: Short = Short.MinValue
-
- it("should provide 'b' conversion") {
- expectF("%b", null).toEqual("false")
- expectF("%b", true: JBoolean).toEqual(JString.valueOf(true))
- expectF("%b", false: JBoolean).toEqual(JString.valueOf(false))
- expectF("%b", new HelperClass).toEqual("true")
- }
-
- it("should provide 'h' conversion") {
- val x = new HelperClass
- expectF("%h", x).toEqual(Integer.toHexString(x.hashCode()))
- expectF("%H", x).toEqual(Integer.toHexString(x.hashCode()).toUpperCase())
- expectF("%h", null).toEqual("null")
- }
-
- it("should provide 's' conversion") {
- expectFC("%s", 0, -1, -1).toEqual("foobar")
- expectFC("%-s", FormattableFlags.LEFT_JUSTIFY, -1, -1).toEqual("foobar")
- expectFC("%-10s", FormattableFlags.LEFT_JUSTIFY, 10, -1).toEqual("foobar")
- expectFC("%#-10.2s", FormattableFlags.LEFT_JUSTIFY |
- FormattableFlags.ALTERNATE, 10, 2).toEqual("foobar")
- expectFC("%#10.2S", FormattableFlags.UPPERCASE |
- FormattableFlags.ALTERNATE, 10, 2).toEqual("foobar")
- expectF("%10s", "hello").toEqual(" hello")
- expectF("%-10s", "hello").toEqual("hello ")
- expectThrow("%#s", "hello")
- }
-
- it("should provide 'c' conversion") {
- expectF("%-5c", new Character('!')).toEqual("! ")
- }
-
- it("should provide 'd' conversion") {
- expectF("%d", new Integer(5)).toEqual("5")
- expectF("%05d", new Integer(5)).toEqual("00005")
- expectF("%5d", new Integer(-10)).toEqual(" -10")
- expectF("%05d", new Integer(-10)).toEqual("-0010")
- }
-
- it("should provide 'o' conversion") {
- expectF("%o", new JInteger(8)).toEqual("10")
- expectF("%05o", new JInteger(16)).toEqual("00020")
- expectF("%5o", new JInteger(-10)).toEqual("37777777766")
- expectF("%05o", new JInteger(-10)).toEqual("37777777766")
- expectF("%o", new JByte(8.toByte)).toEqual("10")
- expectF("%05o", new JByte(16.toByte)).toEqual("00020")
- expectF("%14o", new JByte(-10.toByte)).toEqual(" 37777777766")
- expectF("%05o", new JByte(-10.toByte)).toEqual("37777777766")
- expectF("%o", new JShort(8.toShort)).toEqual("10")
- expectF("%05o", new JShort(16.toShort)).toEqual("00020")
- expectF("%5o", new JShort(-10.toShort)).toEqual("37777777766")
- expectF("%015o",new JShort(-10.toShort)).toEqual("000037777777766")
- expectF("%05o", new JLong(-5L)).toEqual("1777777777777777777773")
- }
-
- it("should provide 'x' conversion") {
- expectF("%0#5x", new JInteger(5)).toEqual("0x005")
- expectF("%#5x", new JInteger(5)).toEqual(" 0x5")
- expectF("%#5X", new JInteger(5)).toEqual(" 0X5")
- expectF("%x", new JInteger(-3)).toEqual("fffffffd")
- expectF("%x", new JByte(-4.toByte)).toEqual("fffffffc")
- expectF("%0#5x", new JByte(5.toByte)).toEqual("0x005")
- expectF("%#5x", new JByte(5.toByte)).toEqual(" 0x5")
- expectF("%#5X", new JByte(5.toByte)).toEqual(" 0X5")
- expectF("%x", new JByte(-3.toByte)).toEqual("fffffffd")
- expectF("%0#5x", new JShort(5.toShort)).toEqual("0x005")
- expectF("%#5x", new JShort(5.toShort)).toEqual(" 0x5")
- expectF("%#5X", new JShort(5.toShort)).toEqual(" 0X5")
- expectF("%x", new JShort(-3.toShort)).toEqual("fffffffd")
- expectF("%x", new JLong(-5L)).toEqual("fffffffffffffffb")
- expectF("%X", new JLong(26L)).toEqual("1A")
- }
-
- it("should provide 'e' conversion") {
- expectF("%e", new JDouble(1000)).toEqual("1.000000e+03")
- expectF("%.0e", new JDouble(1.2e100)).toEqual("1e+100")
- // We use 1.51e100 in this test, since we seem to have a floating
- // imprecision at exactly 1.5e100 that yields to a rounding error
- // towards (1e+100 instead of 2e+100)
- expectF("%.0e", new JDouble(1.51e100)).toEqual("2e+100")
- expectF("%10.2e", new JDouble(1.2e100)).toEqual(" 1.20e+100")
- expectF("%012.4e", new JFloat(1.2e-21f)).toEqual("001.2000e-21")
- expectF("%012.4E", new JFloat(1.2e-21f)).toEqual("001.2000E-21")
- expectF("%(015.4e", new JFloat(-1.2e-21f)).toEqual("(0001.2000e-21)")
-
- // Tests with infinity and NaN
- expectF("%e", new JDouble(Double.PositiveInfinity)).toEqual("Infinity")
- expectF("%e", new JDouble(Double.NegativeInfinity)).toEqual("-Infinity")
- expectF("%010e", new JDouble(Double.PositiveInfinity)).toEqual(" Infinity")
- expectF("%-10e", new JDouble(Double.PositiveInfinity)).toEqual("Infinity ")
- expectF("%(e", new JDouble(Double.NegativeInfinity)).toEqual("(Infinity)")
- expectF("%010e", new JDouble(Double.NaN)).toEqual(" NaN")
- }
-
- it("should provide 'g' conversion") {
- expectF("%g", new JDouble(.5e-4)).toEqual("5.00000e-05")
- expectF("%g", new JDouble(3e-4)).toEqual("0.000300000")
- expectF("%.3g", new JDouble(3e-4)).toEqual("0.000300")
- expectF("%.2g", new JDouble(1e-3)).toEqual("0.0010")
- expectF("%g", new JDouble(3e5)).toEqual("300000")
- expectF("%.3g", new JDouble(3e5)).toEqual("3.00e+05")
- expectF("%04g", new JDouble(Double.NaN)).toEqual(" NaN")
- }
-
- it("should provide 'f' conversion") {
- expectF("%f", new JDouble(3.3)).toEqual("3.300000")
- expectF("%0(9.4f", new JDouble(-4.6)).toEqual("(04.6000)")
- expectF("%f", new JFloat(3e10f)).toEqual("30000001024.000000")
- expectF("%f", new JDouble(3e10)).toEqual("30000000000.000000")
- expectF("%04f", new JDouble(Double.NaN)).toEqual(" NaN")
- }
-
- it("should support '%%'") {
- expectF("%d%%%d", new JInteger(1), new JInteger(2)).toEqual("1%2")
- }
-
- it("should support '%n'") {
- expectF("%d%n%d", new JInteger(1), new JInteger(2)).toEqual("1\n2")
- }
-
- it("should survive `null` and `undefined`") {
- expectF("%s", null).toEqual("null")
- expectF("%s", js.undefined).toEqual("undefined")
- }
-
- it("should allow 'f' string interpolation to survive `null` and `undefined`") {
- expect(f"${null}%s").toEqual("null")
- expect(f"${js.undefined}%s").toEqual("undefined")
- }
-
- it("should allow positional arguments") {
- expectF("%2$d %1$d", new JInteger(1), new JInteger(2)).toEqual("2 1")
- expectF("%2$d %2$d %d", new JInteger(1), new JInteger(2)).toEqual("2 2 1")
- expectF("%2$d %<d %d", new JInteger(1), new JInteger(2)).toEqual("2 2 1")
- }
-
- it("should fail when called after close") {
- val f = new Formatter()
- f.close()
- expect(() => f.toString()).toThrow
- }
-
- it("should fail with bad format specifier") {
- expectThrow("hello world%")
- expectThrow("%%%")
- expectThrow("%q")
- expectThrow("%1")
- expectThrow("%_f")
- }
-
- it("should fail with not enough arguments") {
- expectThrow("%f")
- expectThrow("%d%d%d", new JInteger(1), new JInteger(1))
- expectThrow("%10$d", new JInteger(1))
- }
-
- }
-
-
-}
-
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/IntegerTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/IntegerTest.scala
deleted file mode 100644
index 5a01de4..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/IntegerTest.scala
+++ /dev/null
@@ -1,161 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-import scala.scalajs.js
-
-object IntegerTest extends JasmineTest {
-
- describe("java.lang.Integer") {
-
- // Explicitly define these as `var`'s to avoid any compile-time constant folding
- var MaxValue: Int = Int.MaxValue
- var MinValue: Int = Int.MinValue
-
- it("should provide `reverseBytes` used by scala.Enumeration") {
- expect(Integer.reverseBytes(0xdeadbeef)).toEqual(0xefbeadde)
- }
-
- it("should provide `rotateLeft`") {
- expect(Integer.rotateLeft(0x689cd401, 0)).toEqual(0x689cd401)
- expect(Integer.rotateLeft(0x689cd401, 1)).toEqual(0xd139a802)
- expect(Integer.rotateLeft(0x689cd401, 8)).toEqual(0x9cd40168)
- expect(Integer.rotateLeft(0x689cd401, 13)).toEqual(0x9a802d13)
- expect(Integer.rotateLeft(0x689cd401, 32)).toEqual(0x689cd401)
- expect(Integer.rotateLeft(0x689cd401, 33)).toEqual(0xd139a802)
- expect(Integer.rotateLeft(0x689cd401, 43)).toEqual(0xe6a00b44)
- expect(Integer.rotateLeft(0x689cd401, -1)).toEqual(0xb44e6a00)
- expect(Integer.rotateLeft(0x689cd401, -28)).toEqual(0x89cd4016)
- expect(Integer.rotateLeft(0x689cd401, -39)).toEqual(0x2d139a8)
- }
-
- it("should provide `rotateRight`") {
- expect(Integer.rotateRight(0x689cd401, 0)).toEqual(0x689cd401)
- expect(Integer.rotateRight(0x689cd401, 1)).toEqual(0xb44e6a00)
- expect(Integer.rotateRight(0x689cd401, 8)).toEqual(0x1689cd4)
- expect(Integer.rotateRight(0x689cd401, 13)).toEqual(0xa00b44e6)
- expect(Integer.rotateRight(0x689cd401, 32)).toEqual(0x689cd401)
- expect(Integer.rotateRight(0x689cd401, 33)).toEqual(0xb44e6a00)
- expect(Integer.rotateRight(0x689cd401, 43)).toEqual(0x802d139a)
- expect(Integer.rotateRight(0x689cd401, -1)).toEqual(0xd139a802)
- expect(Integer.rotateRight(0x689cd401, -28)).toEqual(0x1689cd40)
- expect(Integer.rotateRight(0x689cd401, -39)).toEqual(0x4e6a00b4)
- }
-
- it("should provide `bitCount` used by Map") {
- abstract sealed class Status
- case object Used extends Status
- case object Current extends Status
- case object OneMove extends Status
- case object MultipleMoves extends Status
- case object Other extends Status
-
- val map = Map(Used -> 0, Other -> 0, Current -> 0, MultipleMoves -> 1, OneMove -> 2)
-
- expect(map.size).toEqual(5)
- expect(map(MultipleMoves)).toEqual(1)
- }
-
- it("should provide `numberOfTrailingZeros`") {
- expect(Integer.numberOfTrailingZeros(0xa3c49000)).toEqual(12)
- expect(Integer.numberOfTrailingZeros(0x43f49020)).toEqual(5)
- expect(Integer.numberOfTrailingZeros(0x43c08000)).toEqual(15)
- expect(Integer.numberOfTrailingZeros(0)).toEqual(32)
- }
-
- it("should provide `toBinaryString` for values in range") {
- expect(Integer.toBinaryString(-1)).toEqual("11111111111111111111111111111111")
- expect(Integer.toBinaryString(-10001)).toEqual("11111111111111111101100011101111")
- expect(Integer.toBinaryString(MinValue)).toEqual("10000000000000000000000000000000")
- expect(Integer.toBinaryString(MaxValue)).toEqual("1111111111111111111111111111111")
- }
-
- it("should provide `toHexString` for values in range") {
- expect(Integer.toHexString(-1)).toEqual("ffffffff")
- expect(Integer.toHexString(-10001)).toEqual("ffffd8ef")
- expect(Integer.toHexString(MinValue)).toEqual("80000000")
- expect(Integer.toHexString(-2147000002)).toEqual("8007613e")
- expect(Integer.toHexString(MaxValue)).toEqual("7fffffff")
- }
-
- it("should provide `toOctalString` for values in range") {
- expect(Integer.toOctalString(-1)).toEqual("37777777777")
- expect(Integer.toOctalString(-10001)).toEqual("37777754357")
- expect(Integer.toOctalString(MinValue)).toEqual("20000000000")
- expect(Integer.toOctalString(MaxValue)).toEqual("17777777777")
- }
-
- it("should provide `compareTo`") {
- def compare(x: Int, y: Int): Int =
- new Integer(x).compareTo(new Integer(y))
-
- expect(compare(0, 5)).toBeLessThan(0)
- expect(compare(10, 9)).toBeGreaterThan(0)
- expect(compare(-2, -1)).toBeLessThan(0)
- expect(compare(3, 3)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0, 5)).toBeLessThan(0)
- expect(compare(10, 9)).toBeGreaterThan(0)
- expect(compare(-2, -1)).toBeLessThan(0)
- expect(compare(3, 3)).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Int, radix: Int = 10): Unit = {
- expect(Integer.parseInt(s, radix)).toEqual(v)
- expect(Integer.valueOf(s, radix).intValue()).toEqual(v)
- if (radix == 10)
- expect(new Integer(s).intValue()).toEqual(v)
- }
-
- test("0", 0)
- test("5", 5)
- test("127", 127)
- test("-100", -100)
- test("30000", 30000)
- test("-90000", -90000)
- test("Kona", 411787, 27)
- test("+42", 42)
- test("-0", 0)
- test("-FF", -255, 16)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String, radix: Int = 10): Unit =
- expect(() => Integer.parseInt(s, radix)).toThrow
-
- test("abc")
- test("5a")
- test("2147483648")
- test("99", 8)
- test("-")
- test("")
- }
-
- it("should parse strings in base 16") {
- def test(s: String, v: Int): Unit = {
- expect(Integer.parseInt(s, 16)).toEqual(v)
- expect(Integer.valueOf(s, 16).intValue()).toEqual(v)
- }
-
- test("0", 0x0)
- test("5", 0x5)
- test("ff", 0xff)
- test("-24", -0x24)
- test("30000", 0x30000)
- test("-90000", -0x90000)
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/LongTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/LongTest.scala
deleted file mode 100644
index 86783c3..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/LongTest.scala
+++ /dev/null
@@ -1,178 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.lang.{Long => JLong}
-
-import org.scalajs.jasminetest.JasmineTest
-
-/**
- * tests the implementation of the java standard library Long
- * requires jsinterop/LongTest to work to make sense
- */
-object LongTest extends JasmineTest {
-
- describe("java.lang.Long") {
- it("should provide `reverseBytes`") {
- expect(JLong.reverseBytes(0xf5ab689cd401ff14L) == 0x14ff01d49c68abf5L).toBeTruthy
- }
-
- it("should provide `rotateLeft`") {
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 0) == 0xf5ab689cd401ff14L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 1) == 0xeb56d139a803fe29L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 8) == 0xab689cd401ff14f5L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 13) == 0x6d139a803fe29eb5L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 64) == 0xf5ab689cd401ff14L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 65) == 0xeb56d139a803fe29L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, 80) == 0x689cd401ff14f5abL).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, -1) == 0x7ad5b44e6a00ff8aL).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, -56) == 0xab689cd401ff14f5L).toBeTruthy
- expect(JLong.rotateLeft(0xf5ab689cd401ff14L, -70) == 0x53d6ada2735007fcL).toBeTruthy
- }
-
- it("should provide `rotateRight`") {
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 0) == 0xf5ab689cd401ff14L).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 1) == 0x7ad5b44e6a00ff8aL).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 8) == 0x14f5ab689cd401ffL).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 13) == 0xf8a7ad5b44e6a00fL).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 64) == 0xf5ab689cd401ff14L).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 65) == 0x7ad5b44e6a00ff8aL).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, 80) == 0xff14f5ab689cd401L).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, -1) == 0xeb56d139a803fe29L).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, -56) == 0x14f5ab689cd401ffL).toBeTruthy
- expect(JLong.rotateRight(0xf5ab689cd401ff14L, -70) == 0x6ada2735007fc53dL).toBeTruthy
- }
-
- it("should implement bitCount") {
- expect(JLong.bitCount(0L)).toEqual(0)
- expect(JLong.bitCount(35763829229342837L)).toEqual(26)
- expect(JLong.bitCount(-350003829229342837L)).toEqual(32)
- }
-
- it("should provide `compareTo`") {
- def compare(x: Long, y: Long): Int =
- new JLong(x).compareTo(new JLong(y))
-
- expect(compare(0L, 5L)).toBeLessThan(0)
- expect(compare(10L, 9L)).toBeGreaterThan(0)
- expect(compare(-2L, -1L)).toBeLessThan(0)
- expect(compare(3L, 3L)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0L, 5L)).toBeLessThan(0)
- expect(compare(10L, 9L)).toBeGreaterThan(0)
- expect(compare(-2L, -1L)).toBeLessThan(0)
- expect(compare(3L, 3L)).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Long): Unit = {
- expect(JLong.parseLong(s)).toEqual(v)
- expect(JLong.valueOf(s).longValue()).toEqual(v)
- expect(new JLong(s).longValue()).toEqual(v)
- }
-
- test("0", 0L)
- test("5", 5L)
- test("127", 127L)
- test("-100", -100L)
- test("30000", 30000L)
- test("-90000", -90000L)
- test("4", 4L)
- test("-4", -4L)
- test("4000000000", 4000000000L)
- test("-18014398509482040", -18014398509482040L)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String): Unit =
- expect(() => JLong.parseLong(s)).toThrow
-
- test("abc")
- test("asdf")
- test("")
- }
-
- it("should parse strings in base 16") {
- def test(s: String, v: Long): Unit = {
- expect(JLong.parseLong(s, 16)).toEqual(v)
- expect(JLong.valueOf(s, 16).longValue()).toEqual(v)
- }
-
- test("0", 0x0L)
- test("5", 0x5L)
- test("ff", 0xffL)
- test("-24", -0x24L)
- test("30000", 0x30000L)
- test("-90000", -0x90000L)
- }
-
- it("should implement toString") {
- expect(Int.MaxValue.toLong.toString).toEqual("2147483647")
- expect((-50L).toString).toEqual("-50")
- expect((-1000000000L).toString).toEqual("-1000000000")
- expect((Int.MaxValue.toLong+1L).toString).toEqual("2147483648")
- expect(Int.MinValue.toLong.toString).toEqual("-2147483648")
- }
-
- it("should implement toBinaryString") {
- expect(JLong.toBinaryString( 0L)).toEqual("0")
- expect(JLong.toBinaryString( -1L)).toEqual("1111111111111111111111111111111111111111111111111111111111111111")
- expect(JLong.toBinaryString( 456324454L)).toEqual("11011001100101111010101100110")
- expect(JLong.toBinaryString( -456324454L)).toEqual("1111111111111111111111111111111111100100110011010000101010011010")
- expect(JLong.toBinaryString( 98765432158845L)).toEqual("10110011101001110011110011111111111101001111101")
- expect(JLong.toBinaryString(-49575304457780L)).toEqual("1111111111111111110100101110100101011001100101101001000111001100")
- expect(JLong.toBinaryString(Long.MinValue )).toEqual("1000000000000000000000000000000000000000000000000000000000000000")
- expect(JLong.toBinaryString(Long.MaxValue )).toEqual("111111111111111111111111111111111111111111111111111111111111111")
- }
-
- it("should implement toHexString") {
- expect(JLong.toHexString( 0L)).toEqual("0")
- expect(JLong.toHexString( -1L)).toEqual("ffffffffffffffff")
- expect(JLong.toHexString( 456324454L)).toEqual("1b32f566")
- expect(JLong.toHexString( -456324454L)).toEqual("ffffffffe4cd0a9a")
- expect(JLong.toHexString( 98765432158845L)).toEqual("59d39e7ffa7d")
- expect(JLong.toHexString(-49575304457780L)).toEqual("ffffd2e9599691cc")
- expect(JLong.toHexString(Long.MinValue )).toEqual("8000000000000000")
- expect(JLong.toHexString(Long.MaxValue )).toEqual("7fffffffffffffff")
- }
-
- it("should implement toOctalString") {
- expect(JLong.toOctalString( 0L)).toEqual("0")
- expect(JLong.toOctalString( -1L)).toEqual("1777777777777777777777")
- expect(JLong.toOctalString( 456324454L)).toEqual("3314572546")
- expect(JLong.toOctalString( -456324454L)).toEqual("1777777777774463205232")
- expect(JLong.toOctalString( 98765432158845L)).toEqual("2635163637775175")
- expect(JLong.toOctalString(-49575304457780L)).toEqual("1777776456453145510714")
- expect(JLong.toOctalString(Long.MinValue )).toEqual("1000000000000000000000")
- expect(JLong.toOctalString(Long.MaxValue )).toEqual("777777777777777777777")
- }
-
- it("should correctly compute trailing zeros") {
- expect(JLong.numberOfTrailingZeros(0xff10000000000000L)).toEqual(52)
- expect(JLong.numberOfTrailingZeros(0xff20000000000000L)).toEqual(53)
- expect(JLong.numberOfTrailingZeros(0xff40000000000000L)).toEqual(54)
- expect(JLong.numberOfTrailingZeros(0xff80000000000000L)).toEqual(55)
-
- expect(JLong.numberOfTrailingZeros(0x0000010000000000L)).toEqual(40)
- expect(JLong.numberOfTrailingZeros(0x0000020000000000L)).toEqual(41)
- expect(JLong.numberOfTrailingZeros(0x0000040000000000L)).toEqual(42)
- expect(JLong.numberOfTrailingZeros(0x0000080000000000L)).toEqual(43)
-
- expect(JLong.numberOfTrailingZeros(0x0000000000010000L)).toEqual(16)
- expect(JLong.numberOfTrailingZeros(0x0000000000020000L)).toEqual(17)
- expect(JLong.numberOfTrailingZeros(0x0000000000040000L)).toEqual(18)
- expect(JLong.numberOfTrailingZeros(0x0000000000080000L)).toEqual(19)
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MathTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MathTest.scala
deleted file mode 100644
index a3c887a..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MathTest.scala
+++ /dev/null
@@ -1,142 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-import java.lang.Math
-
-object MathTest extends JasmineTest {
-
- describe("java.lang.Math") {
-
- it("should respond to `cbrt`") {
- expect(1 / Math.cbrt(-0.0) < 0).toBeTruthy
- expect(Math.cbrt(27.0)).toEqual(3.0)
- expect(Math.cbrt(1000000.0)).toEqual(100.0)
- expect(Math.cbrt(1000000000.0)).toEqual(1000.0)
- expect(Math.cbrt(-1.0E24)).toEqual(-100000000.0)
- expect(Math.cbrt(-65890311319.0E24)).toEqual(-4039.0E8)
- }
-
- it("should respond to `log1p`") {
- expect(Math.log1p(-2.0).isNaN).toBeTruthy
- expect(Math.log1p(js.Number.NaN.toDouble).isNaN).toBeTruthy
- expect(Math.log1p(0.0)).toEqual(0.0)
- }
-
- it("should respond to `log10`") {
- expect(Math.log10(-230.0).isNaN).toBeTruthy
- expect(Math.log10(js.Number.NaN.toDouble).isNaN).toBeTruthy
- }
-
- it("should respond to `signum` for Double") {
- expect(Math.signum(234394.2198273)).toEqual(1.0)
- expect(Math.signum(-124937498.58)).toEqual(-1.0)
-
- expect(Math.signum(+0.0)).toEqual(0.0)
- expect(1 / Math.signum(+0.0) > 0).toBeTruthy
-
- expect(Math.signum(-0.0)).toEqual(-0.0)
- expect(1 / Math.signum(-0.0) < 0).toBeTruthy
-
- expect(Math.signum(js.Number.NaN.toDouble).isNaN).toBeTruthy
- }
-
- it("should respond to `signum` for Float") {
- expect(Math.signum(234394.2198273f)).toEqual(1.0f)
- expect(Math.signum(-124937498.58f)).toEqual(-1.0f)
-
- expect(Math.signum(+0.0f)).toEqual(0.0f)
- expect(1 / Math.signum(+0.0f) > 0).toBeTruthy
-
- expect(Math.signum(-0.0f)).toEqual(-0.0f)
- expect(1 / Math.signum(-0.0f) < 0).toBeTruthy
-
- expect(Math.signum(js.Number.NaN.toFloat).isNaN).toBeTruthy
- }
-
- it("should respond to `nextUp` for Double") {
- expect(Math.nextUp(Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- expect(Math.nextUp(Double.NegativeInfinity)).toEqual(-Double.MaxValue)
- expect(Math.nextUp(Double.MaxValue)).toEqual(Double.PositiveInfinity)
- expect(Math.nextUp(-Double.MaxValue)).toEqual(-1.7976931348623155e+308)
- expect(Math.nextUp(-Double.MinValue)).toEqual(Double.PositiveInfinity)
- expect(Math.nextUp(0.0)).toEqual(Double.MinValue)
- expect(Math.nextUp(-0.0)).toEqual(Double.MinValue)
- expect(Math.nextUp(9007199254740991.0)).toEqual(9007199254740992.0)
- expect(Math.nextUp(9007199254740992.0)).toEqual(9007199254740994.0)
- expect(Math.nextUp(1.0)).toEqual(1 + 2.2204460492503130808472633361816E-16)
- }
-
- it("should respond to `nextAfter` for Double") {
- expect(Math.nextAfter(1.0, js.Number.NaN.toDouble).isNaN).toBeTruthy
- expect(Math.nextAfter(js.Number.NaN.toDouble, 1.0).isNaN).toBeTruthy
- expect(Math.nextAfter(0.0, 0.0)).toEqual(0.0)
- expect(Math.nextAfter(0.0, -0.0)).toEqual(-0.0)
- expect(Math.nextAfter(-0.0, 0.0)).toEqual(0.0)
- expect(Math.nextAfter(-0.0, -0.0)).toEqual(-0.0)
- expect(Math.nextAfter(Double.MinValue, Double.NegativeInfinity)).toEqual(Double.NegativeInfinity)
- expect(Math.nextAfter(-Double.MinValue, Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- expect(Math.nextAfter(Double.PositiveInfinity, Double.NegativeInfinity)).toEqual(Double.MaxValue)
- expect(Math.nextAfter(Double.NegativeInfinity, Double.PositiveInfinity)).toEqual(-Double.MaxValue)
- expect(Math.nextAfter(Double.MaxValue, Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- expect(Math.nextAfter(-Double.MaxValue, Double.NegativeInfinity)).toEqual(Double.NegativeInfinity)
- expect(Math.nextAfter(1.0, 1.0)).toEqual(1.0)
- }
-
- it("should respond to `ulp` for Double") {
- expect(Math.ulp(3.4)).toEqual(4.440892098500626E-16)
- expect(Math.ulp(3.423E109)).toEqual(4.1718496795330275E93)
- expect(Math.ulp(0.0)).toEqual(Double.MinValue)
- }
-
- it("should respond to `hypot`") {
- expect(Math.hypot(0.0, 0.0)).toBeCloseTo(0.0)
- expect(Math.hypot(3.0, 4.0)).toBeCloseTo(5.0)
- expect(Math.hypot(3.0, js.Number.NaN.toDouble).isNaN).toBeTruthy
- expect(Math.hypot(Double.NegativeInfinity, 4.0)).toEqual(Double.PositiveInfinity)
- }
-
- it("should respond to `expm1`") {
- expect(1 / Math.expm1(-0.0) < 0).toBeTruthy
- expect(Math.expm1(-0.0)).toBeCloseTo(0.0)
- expect(Math.expm1(3.0)).toBeCloseTo(19.085536923187668)
- expect(Math.expm1(15.0)).toBeCloseTo(3269016.3724721107)
- expect(Math.expm1(1.8E10)).toEqual(Double.PositiveInfinity)
- expect(Math.expm1(Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- expect(Math.expm1(Double.NegativeInfinity)).toBeCloseTo(-1.0)
- expect(Math.expm1(4.9E-324)).toBeCloseTo(4.9E-324)
- }
-
- it("should respond to `sinh`") {
- expect(Math.sinh(-1234.56)).toEqual(Double.NegativeInfinity)
- expect(Math.sinh(1234.56)).toEqual(Double.PositiveInfinity)
- expect(Math.sinh(0.0)).toBeCloseTo(0.0)
- expect(Math.sinh(Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- }
-
- it("should respond to `cosh`") {
- expect(Math.cosh(-1234.56)).toEqual(Double.PositiveInfinity)
- expect(Math.cosh(1234.56)).toEqual(Double.PositiveInfinity)
- expect(Math.cosh(-0.0)).toBeCloseTo(1.0)
- expect(Math.cosh(Double.PositiveInfinity)).toEqual(Double.PositiveInfinity)
- }
-
- it("should respond to `tanh`") {
- expect(Math.tanh(-1234.56)).toBeCloseTo(-1.0)
- expect(Math.tanh(-120.56)).toBeCloseTo(-1.0)
- expect(Math.tanh(1234.56)).toBeCloseTo(1.0)
- expect(Math.tanh(0.0)).toBeCloseTo(0.0)
- expect(Math.tanh(Double.PositiveInfinity)).toBeCloseTo(1.0)
- expect(Math.tanh(Double.NegativeInfinity)).toBeCloseTo(-1.0)
- }
-
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MockByteArrayOutputStream.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MockByteArrayOutputStream.scala
deleted file mode 100644
index 3356a85..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/MockByteArrayOutputStream.scala
+++ /dev/null
@@ -1,47 +0,0 @@
-package scala.scalajs.testsuite.javalib
-
-import java.io._
-
-/** A ByteArrayOutputStream that exposes various hooks for testing purposes. */
-class MockByteArrayOutputStream extends ByteArrayOutputStream {
- private var _flushed: Boolean = true
- private var _closed: Boolean = false
-
- var throwing: Boolean = false
-
- def flushed: Boolean = _flushed
- def closed: Boolean = _closed
-
- private def maybeThrow(): Unit = {
- if (throwing)
- throw new IOException("MockByteArrayOutputStream throws")
- }
-
- private def writeOp[A](op: => A): A = {
- maybeThrow()
- _flushed = false
- op
- }
-
- override def flush(): Unit = {
- maybeThrow()
- super.flush()
- _flushed = true
- }
-
- override def close(): Unit = {
- maybeThrow()
- super.close()
- _closed = true
- }
-
- override def write(c: Int): Unit =
- writeOp(super.write(c))
-
- override def write(b: Array[Byte]): Unit =
- writeOp(super.write(b))
-
- override def write(b: Array[Byte], off: Int, len: Int): Unit =
- writeOp(super.write(b, off, len))
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ObjectTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ObjectTest.scala
deleted file mode 100644
index 3584454..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ObjectTest.scala
+++ /dev/null
@@ -1,72 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-
-import scala.scalajs.js
-
-object ObjectTest extends JasmineTest {
-
- describe("java.lang.Object") {
-
- it("should provide `equals`") {
- case class xy(x: Int, y: Int)
-
- val l = List(xy(1, 2), xy(2, 1))
- val xy12 = xy(1, 2)
-
- expect(l.contains(xy12)).toBeTruthy
- expect(l.exists(_ == xy12)).toBeTruthy // the workaround
- }
-
- it("everything but null should be an Object") {
- expect((() : Any).isInstanceOf[Object]).toBeTruthy
- expect((true : Any).isInstanceOf[Object]).toBeTruthy
- expect(('a' : Any).isInstanceOf[Object]).toBeTruthy
- expect((1.toByte : Any).isInstanceOf[Object]).toBeTruthy
- expect((658.toShort : Any).isInstanceOf[Object]).toBeTruthy
- expect((60000 : Any).isInstanceOf[Object]).toBeTruthy
- expect((12345678910112L: Any).isInstanceOf[Object]).toBeTruthy
- expect((6.5f : Any).isInstanceOf[Object]).toBeTruthy
- expect((12.4 : Any).isInstanceOf[Object]).toBeTruthy
- expect((new Object : Any).isInstanceOf[Object]).toBeTruthy
- expect(("hello" : Any).isInstanceOf[Object]).toBeTruthy
- expect((List(1) : Any).isInstanceOf[Object]).toBeTruthy
- expect((Array(1) : Any).isInstanceOf[Object]).toBeTruthy
- expect((Array(Nil) : Any).isInstanceOf[Object]).toBeTruthy
- expect((new js.Object : Any).isInstanceOf[Object]).toBeTruthy
- expect((js.Array(5) : Any).isInstanceOf[Object]).toBeTruthy
- }
-
- it("null should not be an Object") {
- expect((null: Any).isInstanceOf[Object]).toBeFalsy
- }
-
- it("everything should cast to Object successfully, including null") {
- expect(() => (() : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (true : Any).asInstanceOf[Object]).not.toThrow
- expect(() => ('a' : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (1.toByte : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (658.toShort : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (60000 : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (12345678910112L: Any).asInstanceOf[Object]).not.toThrow
- expect(() => (6.5f : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (12.4 : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (new Object : Any).asInstanceOf[Object]).not.toThrow
- expect(() => ("hello" : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (List(1) : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (Array(1) : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (Array(Nil) : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (new js.Object : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (js.Array(5) : Any).asInstanceOf[Object]).not.toThrow
- expect(() => (null : Any).asInstanceOf[Object]).not.toThrow
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/OutputStreamWriterTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/OutputStreamWriterTest.scala
deleted file mode 100644
index 7987a4c..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/OutputStreamWriterTest.scala
+++ /dev/null
@@ -1,134 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.io._
-
-import scala.scalajs.js
-import js.JSConverters._
-import org.scalajs.jasminetest.JasmineTest
-
-object OutputStreamWriterTest extends JasmineTest {
- private def newOSWriter(): (OutputStreamWriter, MockByteArrayOutputStream) = {
- val bos = new MockByteArrayOutputStream
- val osw = new OutputStreamWriter(bos)
- (osw, bos)
- }
-
- describe("java.io.OutputStreamWriter") {
- it("flush") {
- val (osw, bos) = newOSWriter()
- bos.write(1)
- osw.write("ABC")
- expect(bos.flushed).toBeFalsy
- osw.flush()
- expect(bos.flushed).toBeTruthy
- }
-
- it("close") {
- val (osw, bos) = newOSWriter()
- bos.write(1)
- osw.write("ABC")
- expect(bos.flushed).toBeFalsy
-
- osw.close()
- expect(bos.flushed).toBeTruthy
- expect(bos.closed).toBeTruthy
-
- // can double-close without error
- osw.close()
-
- // when closed, other operations cause error
- expect(() => osw.write('A')).toThrow
- expect(() => osw.write("never printed")).toThrow
- expect(() => osw.write(Array('a', 'b'))).toThrow
- expect(() => osw.append("hello", 1, 3)).toThrow
- expect(() => osw.flush()).toThrow
-
- // at the end of it all, bos is still what it was when it was closed
- expect(bos.toByteArray().toJSArray).toEqual(js.Array(1, 65, 66, 67))
- }
-
- def testW(body: OutputStreamWriter => Unit,
- expected: js.Array[Int], alreadyFlushed: Boolean = false): Unit = {
- val (osw, bos) = newOSWriter()
- body(osw)
- if (!alreadyFlushed) {
- expect(bos.size).toEqual(0) // write() methods should buffer
- osw.flush()
- }
- expect(bos.flushed).toBeTruthy
- expect(bos.toByteArray.toJSArray).toEqual(expected.map(_.toByte))
- }
-
- it("write(), ASCII repertoire") {
- // Pure ASCII
- testW(_.write('\n'), js.Array('\n'))
- testW(_.write("hello\n"), js.Array('h', 'e', 'l', 'l', 'o', '\n'))
- testW(_.write("hello\nworld", 3, 4), js.Array('l', 'o', '\n', 'w'))
- testW(_.write(Array('A', '\n')), js.Array('A', '\n'))
- testW(_.write(Array('A', 'B', '\n', 'C'), 1, 2), js.Array('B', '\n'))
- }
-
- it("write(), Unicode repertoire without surrogates") {
- testW(_.write('é'), js.Array(0xc3, 0xa9))
- testW(_.write("こんにちは"), js.Array(
- 0xe3, 0x81, 0x93, 0xe3, 0x82, 0x93, 0xe3, 0x81, 0xab, 0xe3, 0x81, 0xa1, 0xe3, 0x81, 0xaf))
- testW(_.write("Καλημέρα", 3, 4), js.Array(
- 0xce, 0xb7, 0xce, 0xbc, 0xce, 0xad, 0xcf, 0x81))
- }
-
- it("write(), surrogate pairs") {
- testW(_.write("\ud83d\udca9"), js.Array(0xf0, 0x9f, 0x92, 0xa9))
- testW(_.write("ab\ud83d\udca9cd", 1, 3), js.Array('b', 0xf0, 0x9f, 0x92, 0xa9))
- }
-
- it("write(), surrogate pairs spread across multiple writes") {
- testW({ osw => osw.write('\ud83d'); osw.write('\udca9') },
- js.Array(0xf0, 0x9f, 0x92, 0xa9))
-
- testW({ osw => osw.write('\ud83d'); osw.flush(); osw.write('\udca9') },
- js.Array(0xf0, 0x9f, 0x92, 0xa9))
-
- testW({ osw => osw.write("ab\ud83d"); osw.write('\udca9') },
- js.Array('a', 'b', 0xf0, 0x9f, 0x92, 0xa9))
-
- testW({ osw => osw.write("ab\ud83d"); osw.write("\udca9cd") },
- js.Array('a', 'b', 0xf0, 0x9f, 0x92, 0xa9, 'c', 'd'))
-
- testW({ osw => osw.write("ab\ud83dzz", 1, 2); osw.write("ww\udca9cd", 2, 2) },
- js.Array('b', 0xf0, 0x9f, 0x92, 0xa9, 'c'))
- }
-
- it("write(), malformed surrogates") {
- testW(_.write("\ud83da"), js.Array('?', 'a'))
- testW(_.write("\udca9"), js.Array('?'))
- }
-
- it("write(), malformed surrogates spread across multiple writes") {
- testW({ osw => osw.write('\ud83d'); osw.write('a') },
- js.Array('?', 'a'))
-
- testW({ osw => osw.write("ab\ud83d"); osw.write("\ud83d") },
- js.Array('a', 'b', '?'))
-
- testW({ osw => osw.write("ab\ud83d"); osw.write("\ud83dc") },
- js.Array('a', 'b', '?', '?', 'c'))
- }
-
- it("write(), malformed surrogates at end of input") {
- testW({ osw => osw.write('\ud83d'); osw.close() },
- js.Array('?'), alreadyFlushed = true)
-
- testW({ osw => osw.write("ab\ud83d"); osw.close() },
- js.Array('a', 'b', '?'), alreadyFlushed = true)
- }
-
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintStreamTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintStreamTest.scala
deleted file mode 100644
index 01c872b..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintStreamTest.scala
+++ /dev/null
@@ -1,296 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.io._
-
-import scala.scalajs.js
-import js.JSConverters._
-import org.scalajs.jasminetest.JasmineTest
-
-object PrintStreamTest extends JasmineTest {
- private def newPrintStream(
- autoFlush: Boolean = false): (MockPrintStream, MockByteArrayOutputStream) = {
- val bos = new MockByteArrayOutputStream
- val ps = new MockPrintStream(bos, autoFlush)
- (ps, bos)
- }
-
- describe("java.io.PrintStream") {
- it("flush") {
- val (ps, bos) = newPrintStream()
- ps.print("hello")
- expect(bos.flushed).toBeFalsy
- ps.flush()
- expect(bos.flushed).toBeTruthy
- }
-
- it("close") {
- val (ps, bos) = newPrintStream()
- ps.write(Array[Byte](1))
- expect(bos.flushed).toBeFalsy
-
- ps.close()
- expect(bos.flushed).toBeTruthy
- expect(bos.closed).toBeTruthy
- expect(ps.checkError()).toBeFalsy
-
- // can double-close without error
- ps.close()
- expect(ps.checkError()).toBeFalsy
- ps.clearError()
-
- // when closed, other operations cause error
- def expectCausesError(body: => Unit): Unit = {
- body
- expect(ps.checkError()).toBeTruthy
- ps.clearError()
- }
- expectCausesError(ps.print("never printed"))
- expectCausesError(ps.write(Array[Byte]('a', 'b')))
- expectCausesError(ps.append("hello", 1, 3))
- expectCausesError(ps.flush())
-
- // at the end of it all, bos is still what it was when it was closed
- expect(bos.toByteArray.toJSArray).toEqual(js.Array(1))
- }
-
- it("write, pass the bytes through") {
- def test(body: PrintStream => Unit, expected: js.Array[Int],
- testFlushed: Boolean = false): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = true)
- body(ps)
- if (testFlushed)
- expect(bos.flushed).toBeTruthy
- expect(ps.checkError()).toBeFalsy
- expect(bos.toByteArray.toJSArray).toEqual(expected.map(_.toByte))
- }
-
- test(_.write('a'), js.Array('a'))
- test(_.write('\n'), js.Array('\n'), testFlushed = true)
- test(_.write(Array[Byte]('A', '\n')),
- js.Array('A', '\n'), testFlushed = true)
- test(_.write(Array[Byte]('A', 'B', '\n', 'C'), 1, 2),
- js.Array('B', '\n'), testFlushed = true)
-
- test(_.write('é'.toByte), js.Array('é'))
- test(_.write(Array[Byte]('é'.toByte, 'à'.toByte)), js.Array('é', 'à'))
- }
-
- it("print") {
- def test(body: PrintStream => Unit, expected: String,
- testFlushed: Boolean = false): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = true)
- body(ps)
- if (testFlushed)
- expect(bos.flushed).toBeTruthy
- expect(ps.checkError()).toBeFalsy
- expect(bos.toString()).toBe(expected)
- }
-
- test(_.print(true), "true")
- test(_.print('Z'), "Z")
- test(_.print('\n'), "\n", testFlushed = true)
- test(_.print(5), "5")
- test(_.print(1234567891011L), "1234567891011")
- test(_.print(1.5f), "1.5")
- test(_.print(Math.PI), "3.141592653589793")
- test(_.print(Array('A', '\n')), "A\n", testFlushed = true)
- test(_.print("hello\n"), "hello\n", testFlushed = true)
- test(_.print(null: String), "null")
- test(_.print((1, 2)), "(1,2)")
- test(_.print(null: AnyRef), "null")
- }
-
- it("print encodes in UTF-8") {
- def test(body: PrintStream => Unit, expected: js.Array[Int]): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = false)
- body(ps)
- expect(ps.checkError()).toBeFalsy
- expect(bos.toByteArray.toJSArray).toEqual(expected.map(_.toByte))
- }
-
- test(_.print('é'), js.Array(0xc3, 0xa9))
- test(_.print("こんにちは"), js.Array(
- 0xe3, 0x81, 0x93, 0xe3, 0x82, 0x93, 0xe3, 0x81, 0xab, 0xe3, 0x81, 0xa1, 0xe3, 0x81, 0xaf))
- test(_.print("ημέρ"), js.Array(
- 0xce, 0xb7, 0xce, 0xbc, 0xce, 0xad, 0xcf, 0x81))
-
- test(_.print("\ud83d\udca9"), js.Array(0xf0, 0x9f, 0x92, 0xa9))
- test(_.print("b\ud83d\udca9c"), js.Array('b', 0xf0, 0x9f, 0x92, 0xa9, 'c'))
-
- test({ osw => osw.print("ab\ud83d"); osw.print('\udca9') },
- js.Array('a', 'b', 0xf0, 0x9f, 0x92, 0xa9))
-
- test({ osw => osw.print("ab\ud83d"); osw.print("\udca9cd") },
- js.Array('a', 'b', 0xf0, 0x9f, 0x92, 0xa9, 'c', 'd'))
-
- // Start of malformed sequences
-
- test(_.print("\ud83da"), js.Array('?', 'a'))
- test(_.print("\udca9"), js.Array('?'))
-
- test({ osw => osw.print('\ud83d'); osw.print('a') },
- js.Array('?', 'a'))
-
- test({ osw => osw.print("ab\ud83d"); osw.print("\ud83d") },
- js.Array('a', 'b', '?'))
-
- test({ osw => osw.print("ab\ud83d"); osw.print("\ud83dc") },
- js.Array('a', 'b', '?', '?', 'c'))
-
- test({ osw => osw.print('\ud83d'); osw.close() },
- js.Array('?'))
-
- test({ osw => osw.print("ab\ud83d"); osw.close() },
- js.Array('a', 'b', '?'))
- }
-
- for (autoFlush <- Seq(true, false)) {
- val title =
- if (autoFlush) "println forwards and flushes when autoFlush is true"
- else "println forwards, does not flush when autoFlush is false"
- it(title) {
- def test(body: PrintStream => Unit, expected: String): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = autoFlush)
- body(ps)
- if (autoFlush) expect(bos.flushed).toBeTruthy
- else expect(bos.flushed).toBeFalsy
- expect(ps.checkError()).toBeFalsy
- expect(bos.toString()).toBe(expected)
- }
-
- test(_.println(), "\n")
- test(_.println(true), "true\n")
- test(_.println('Z'), "Z\n")
- test(_.println('\n'), "\n\n")
- test(_.println(5), "5\n")
- test(_.println(1234567891011L), "1234567891011\n")
- test(_.println(1.5f), "1.5\n")
- test(_.println(Math.PI), "3.141592653589793\n")
- test(_.println(Array('A', '\n')), "A\n\n")
- test(_.println("hello\n"), "hello\n\n")
- test(_.println(null: String), "null\n")
- test(_.println((1, 2)), "(1,2)\n")
- test(_.println(null: AnyRef), "null\n")
- }
- }
-
- for (autoFlush <- Seq(true, false)) {
- val title =
- if (autoFlush) "printf/format, which flushes when autoFlush is true"
- else "printf/format, does not flush when autoFlush is false"
- it(title) {
- def test(body: PrintStream => Unit, expected: String): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = autoFlush)
- body(ps)
- if (autoFlush) expect(bos.flushed).toBeTruthy
- else expect(bos.flushed).toBeFalsy
- expect(ps.checkError()).toBeFalsy
- expect(bos.toString()).toBe(expected)
- }
-
- test(_.printf("%04d", Int.box(5)), "0005")
- test(_.format("%.5f", Double.box(Math.PI)), "3.14159")
- }
- }
-
- it("append") {
- def test(body: PrintStream => Unit, expected: String,
- testFlushed: Boolean = false): Unit = {
- val (ps, bos) = newPrintStream(autoFlush = true)
- body(ps)
- if (testFlushed)
- expect(bos.flushed).toBeTruthy
- expect(ps.checkError()).toBeFalsy
- expect(bos.toString()).toBe(expected)
- }
-
- test(_.append("hello\n"), "hello\n", testFlushed = true)
- test(_.append(null: CharSequence), "null")
- test(_.append("hello\nworld", 3, 6), "lo\n", testFlushed = true)
- test(_.append(null: CharSequence, 1, 2), "u")
- test(_.append('A'), "A")
- test(_.append('\n'), "\n", testFlushed = true)
- }
-
- it("traps all IOException and updates checkError") {
- def test(body: PrintStream => Unit): Unit = {
- val (ps, bos) = newPrintStream()
- bos.throwing = true
- body(ps)
- expect(ps.checkError()).toBeTruthy
- }
-
- test(_.flush())
- test(_.close())
-
- test(_.write('Z'))
- test(_.write(Array[Byte]('A', 'B')))
- test(_.write(Array[Byte]('A', 'B'), 1, 1))
-
- test(_.print(true))
- test(_.print('Z'))
- test(_.print('\n'))
- test(_.print(5))
- test(_.print(1234567891011L))
- test(_.print(1.5f))
- test(_.print(Math.PI))
- test(_.print(Array('A', '\n')))
- test(_.print("hello\n"))
- test(_.print(null: String))
- test(_.print((1, 2)))
- test(_.print(null: AnyRef))
-
- test(_.println())
- test(_.println(true))
- test(_.println('Z'))
- test(_.println('\n'))
- test(_.println(5))
- test(_.println(1234567891011L))
- test(_.println(1.5f))
- test(_.println(Math.PI))
- test(_.println(Array('A', '\n')))
- test(_.println("hello\n"))
- test(_.println(null: String))
- test(_.println((1, 2)))
- test(_.println(null: AnyRef))
-
- test(_.append("hello\n"))
- test(_.append(null: CharSequence))
- test(_.append("hello\nworld", 3, 6))
- test(_.append(null: CharSequence, 1, 2))
- test(_.append('A'))
- test(_.append('\n'))
- }
-
- it("write short-circuits pending high surrogates in print") {
- val (ps, bos) = newPrintStream()
- ps.print('A')
- expect(bos.toByteArray.toJSArray).toEqual(js.Array[Byte]('A'))
- ps.print('\ud83d')
- expect(bos.toByteArray.toJSArray).toEqual(js.Array[Byte]('A'))
- ps.flush()
- expect(bos.toByteArray.toJSArray).toEqual(js.Array[Byte]('A'))
- ps.write('Z')
- expect(bos.toByteArray.toJSArray).toEqual(js.Array[Byte]('A', 'Z'))
- ps.print('\udca9')
- expect(bos.toByteArray.toJSArray).toEqual(js.Array[Byte](
- 'A', 'Z', -16, -97, -110, -87))
- }
- }
-
- /** A PrintStream that exposes various hooks for testing purposes. */
- private class MockPrintStream(out: OutputStream,
- autoFlush: Boolean) extends PrintStream(out, autoFlush) {
- def this(out: OutputStream) = this(out, false)
-
- override def clearError(): Unit = super.clearError()
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintWriterTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintWriterTest.scala
deleted file mode 100644
index b2b3309..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/PrintWriterTest.scala
+++ /dev/null
@@ -1,287 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.language.implicitConversions
-
-import java.io._
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-
-object PrintWriterTest extends JasmineTest {
- private def newPrintWriter(
- autoFlush: Boolean = false): (MockPrintWriter, MockStringWriter) = {
- val sw = new MockStringWriter
- val pw = new MockPrintWriter(sw, autoFlush)
- (pw, sw)
- }
-
- describe("java.io.PrintWriter") {
- it("flush") {
- val (pw, sw) = newPrintWriter()
- pw.print("hello")
- expect(sw.flushed).toBeFalsy
- pw.flush()
- expect(sw.flushed).toBeTruthy
- }
-
- it("close") {
- val (pw, sw) = newPrintWriter()
- pw.write("begin")
- expect(sw.flushed).toBeFalsy
-
- pw.close()
- expect(sw.flushed).toBeTruthy
- expect(sw.closed).toBeTruthy
- expect(pw.checkError()).toBeFalsy
-
- // can double-close without error
- pw.close()
- expect(pw.checkError()).toBeFalsy
- pw.clearError()
-
- // when closed, other operations cause error
- def expectCausesError(body: => Unit): Unit = {
- body
- expect(pw.checkError()).toBeTruthy
- pw.clearError()
- }
- expectCausesError(pw.print("never printed"))
- expectCausesError(pw.write(Array('a', 'b')))
- expectCausesError(pw.append("hello", 1, 3))
- expectCausesError(pw.flush())
-
- // at the end of it all, sw is still what it was when it was closed
- expect(sw.toString()).toBe("begin")
- }
-
- it("write, does not flush even with \\n") {
- def test(body: PrintWriter => Unit, expected: String): Unit = {
- val (pw, sw) = newPrintWriter(autoFlush = true)
- body(pw)
- expect(sw.flushed).toBeFalsy
- expect(pw.checkError()).toBeFalsy
- expect(sw.toString()).toBe(expected)
- }
-
- test(_.write('\n'), "\n")
- test(_.write("hello\n"), "hello\n")
- test(_.write("hello\nworld", 3, 3), "lo\n")
- test(_.write(Array('A', '\n')), "A\n")
- test(_.write(Array('A', 'B', '\n', 'C'), 1, 2), "B\n")
- }
-
- it("print, does not flush even with \\n") {
- def test(body: PrintWriter => Unit, expected: String): Unit = {
- val (pw, sw) = newPrintWriter(autoFlush = true)
- body(pw)
- expect(sw.flushed).toBeFalsy
- expect(pw.checkError()).toBeFalsy
- expect(sw.toString()).toBe(expected)
- }
-
- test(_.print(true), "true")
- test(_.print('Z'), "Z")
- test(_.print('\n'), "\n")
- test(_.print(5), "5")
- test(_.print(1234567891011L), "1234567891011")
- test(_.print(1.5f), "1.5")
- test(_.print(Math.PI), "3.141592653589793")
- test(_.print(Array('A', '\n')), "A\n")
- test(_.print("hello\n"), "hello\n")
- test(_.print(null: String), "null")
- test(_.print((1, 2)), "(1,2)")
- test(_.print(null: AnyRef), "null")
- }
-
- for (autoFlush <- Seq(true, false)) {
- val title =
- if (autoFlush) "println forwards and flushes when autoFlush is true"
- else "println forwards, does not flush when autoFlush is false"
- it(title) {
- def test(body: PrintWriter => Unit, expected: String): Unit = {
- val (pw, sw) = newPrintWriter(autoFlush = autoFlush)
- body(pw)
- if (autoFlush) expect(sw.flushed).toBeTruthy
- else expect(sw.flushed).toBeFalsy
- expect(pw.checkError()).toBeFalsy
- expect(sw.toString()).toBe(expected)
- }
-
- test(_.println(), "\n")
- test(_.println(true), "true\n")
- test(_.println('Z'), "Z\n")
- test(_.println('\n'), "\n\n")
- test(_.println(5), "5\n")
- test(_.println(1234567891011L), "1234567891011\n")
- test(_.println(1.5f), "1.5\n")
- test(_.println(Math.PI), "3.141592653589793\n")
- test(_.println(Array('A', '\n')), "A\n\n")
- test(_.println("hello\n"), "hello\n\n")
- test(_.println(null: String), "null\n")
- test(_.println((1, 2)), "(1,2)\n")
- test(_.println(null: AnyRef), "null\n")
- }
- }
-
- for (autoFlush <- Seq(true, false)) {
- val title =
- if (autoFlush) "printf/format, which flushes when autoFlush is true"
- else "printf/format, does not flush when autoFlush is false"
- it(title) {
- def test(body: PrintWriter => Unit, expected: String): Unit = {
- val (pw, sw) = newPrintWriter(autoFlush = autoFlush)
- body(pw)
- if (autoFlush) expect(sw.flushed).toBeTruthy
- else expect(sw.flushed).toBeFalsy
- expect(pw.checkError()).toBeFalsy
- expect(sw.toString()).toBe(expected)
- }
-
- test(_.printf("%04d", Int.box(5)), "0005")
- test(_.format("%.5f", Double.box(Math.PI)), "3.14159")
- }
- }
-
- it("append, does not flush even with \\n") {
- def test(body: PrintWriter => Unit, expected: String): Unit = {
- val (pw, sw) = newPrintWriter(autoFlush = true)
- body(pw)
- expect(sw.flushed).toBeFalsy
- expect(pw.checkError()).toBeFalsy
- expect(sw.toString()).toBe(expected)
- }
-
- test(_.append("hello\n"), "hello\n")
- test(_.append(null: CharSequence), "null")
- test(_.append("hello\nworld", 3, 6), "lo\n")
- test(_.append(null: CharSequence, 1, 2), "u")
- test(_.append('A'), "A")
- test(_.append('\n'), "\n")
- }
-
- it("traps all IOException and updates checkError") {
- def test(body: PrintWriter => Unit): Unit = {
- val (pw, sw) = newPrintWriter()
- sw.throwing = true
- body(pw)
- expect(pw.checkError()).toBeTruthy
- }
-
- test(_.flush())
- test(_.close())
-
- test(_.write('Z'))
- test(_.write("booh"))
- test(_.write("booh", 1, 1))
- test(_.write(Array('A', 'B')))
- test(_.write(Array('A', 'B'), 1, 1))
-
- test(_.print(true))
- test(_.print('Z'))
- test(_.print('\n'))
- test(_.print(5))
- test(_.print(1234567891011L))
- test(_.print(1.5f))
- test(_.print(Math.PI))
- test(_.print(Array('A', '\n')))
- test(_.print("hello\n"))
- test(_.print(null: String))
- test(_.print((1, 2)))
- test(_.print(null: AnyRef))
-
- test(_.println())
- test(_.println(true))
- test(_.println('Z'))
- test(_.println('\n'))
- test(_.println(5))
- test(_.println(1234567891011L))
- test(_.println(1.5f))
- test(_.println(Math.PI))
- test(_.println(Array('A', '\n')))
- test(_.println("hello\n"))
- test(_.println(null: String))
- test(_.println((1, 2)))
- test(_.println(null: AnyRef))
-
- test(_.append("hello\n"))
- test(_.append(null: CharSequence))
- test(_.append("hello\nworld", 3, 6))
- test(_.append(null: CharSequence, 1, 2))
- test(_.append('A'))
- test(_.append('\n'))
- }
- }
-
- /** A PrintWriter that exposes various hooks for testing purposes. */
- private class MockPrintWriter(out: Writer,
- autoFlush: Boolean) extends PrintWriter(out, autoFlush) {
- def this(out: Writer) = this(out, false)
-
- override def clearError(): Unit = super.clearError()
- }
-
- /** A StringWriter that exposes various hooks for testing purposes. */
- private class MockStringWriter extends StringWriter {
- private var _flushed: Boolean = true
- private var _closed: Boolean = false
-
- var throwing: Boolean = false
-
- def flushed: Boolean = _flushed
- def closed: Boolean = _closed
-
- private def maybeThrow(): Unit = {
- if (throwing)
- throw new IOException("MockStringWriter throws")
- }
-
- private def writeOp[A](op: => A): A = {
- maybeThrow()
- _flushed = false
- op
- }
-
- override def flush(): Unit = {
- maybeThrow()
- super.flush()
- _flushed = true
- }
-
- override def close(): Unit = {
- maybeThrow()
- super.close()
- _closed = true
- }
-
- override def append(c: Char): StringWriter =
- writeOp(super.append(c))
-
- override def append(csq: CharSequence): StringWriter =
- writeOp(super.append(csq))
-
- override def append(csq: CharSequence, start: Int, end: Int): StringWriter =
- writeOp(super.append(csq, start, end))
-
- override def write(c: Int): Unit =
- writeOp(super.write(c))
-
- override def write(cbuf: Array[Char]): Unit =
- writeOp(super.write(cbuf))
-
- override def write(cbuf: Array[Char], off: Int, len: Int): Unit =
- writeOp(super.write(cbuf, off, len))
-
- override def write(str: String): Unit =
- writeOp(super.write(str))
-
- override def write(str: String, off: Int, len: Int): Unit =
- writeOp(super.write(str, off, len))
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RandomTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RandomTest.scala
deleted file mode 100644
index 1794d4a..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RandomTest.scala
+++ /dev/null
@@ -1,225 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-
-import java.util.Random
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-object RandomTest extends JasmineTest {
-
- describe("java.util.Random") {
-
- it("should produce bits according to spec with seed=10") {
- val random = new HackRandom(10)
-
- expect(random.next(10)).toBe(747)
- expect(random.next(1)).toBe(0)
- expect(random.next(6)).toBe(16)
- expect(random.next(20)).toBe(432970)
- expect(random.next(32)).toBe(254270492)
- }
-
- it("should produce bits according to spec with seed=-5") {
- val random = new HackRandom(-5)
-
- expect(random.next(10)).toBe(275)
- expect(random.next(1)).toBe(0)
- expect(random.next(6)).toBe(21)
- expect(random.next(20)).toBe(360349)
- expect(random.next(32)).toBe(1635930704)
- }
-
- it("should produce bits according to spec with seed=MaxLong") {
- val random = new HackRandom(Long.MaxValue)
-
- expect(random.next(10)).toBe(275)
- expect(random.next(1)).toBe(0)
- expect(random.next(6)).toBe(0)
- expect(random.next(20)).toBe(574655)
- expect(random.next(32)).toBe(-1451336087)
- }
-
- it("should produce bits according to spec with seed=MinInt") {
- val random = new HackRandom(Int.MinValue)
-
- expect(random.next(10)).toBe(388)
- expect(random.next(1)).toBe(0)
- expect(random.next(6)).toBe(25)
- expect(random.next(20)).toBe(352095)
- expect(random.next(32)).toBe(-2140124682)
- }
-
- it("should allow resetting the seed") {
- val random = new HackRandom(11)
- expect(random.next(10)).toBe(747)
- expect(random.next(1)).toBe(1)
- expect(random.next(6)).toBe(27)
-
- random.setSeed(11)
- expect(random.next(10)).toBe(747)
- expect(random.next(1)).toBe(1)
- expect(random.next(6)).toBe(27)
- }
-
- it("should reset nextNextGaussian when setting the seed") {
- val random = new Random(-1)
- expect(random.nextGaussian()).toBe(1.7853314409882288)
- random.setSeed(-1)
- expect(random.nextGaussian()).toBe(1.7853314409882288)
- }
-
- it("should correctly implement nextDouble") {
- val random = new Random(-45)
- expect(random.nextDouble()).toBe(0.27288421395636253)
- expect(random.nextDouble()).toBe(0.5523165360074201)
- expect(random.nextDouble()).toBe(0.5689979434708298)
- expect(random.nextDouble()).toBe(0.9961166166874871)
- expect(random.nextDouble()).toBe(0.5368984665202684)
- expect(random.nextDouble()).toBe(0.19849067496547423)
- expect(random.nextDouble()).toBe(0.6021019223595357)
- expect(random.nextDouble()).toBe(0.06132131151816378)
- expect(random.nextDouble()).toBe(0.7303867762743866)
- expect(random.nextDouble()).toBe(0.7426529384056163)
- }
-
- it("should correctly implement nextBoolean") {
- val random = new Random(4782934)
- expect(random.nextBoolean()).toBe(false)
- expect(random.nextBoolean()).toBe(true)
- expect(random.nextBoolean()).toBe(true)
- expect(random.nextBoolean()).toBe(false)
- expect(random.nextBoolean()).toBe(false)
- expect(random.nextBoolean()).toBe(false)
- expect(random.nextBoolean()).toBe(true)
- expect(random.nextBoolean()).toBe(false)
- }
-
- it("should correctly implement nextInt") {
- val random = new Random(-84638)
- expect(random.nextInt()).toBe(-1217585344)
- expect(random.nextInt()).toBe(1665699216)
- expect(random.nextInt()).toBe(382013296)
- expect(random.nextInt()).toBe(1604432482)
- expect(random.nextInt()).toBe(-1689010196)
- expect(random.nextInt()).toBe(1743354032)
- expect(random.nextInt()).toBe(454046816)
- expect(random.nextInt()).toBe(922172344)
- expect(random.nextInt()).toBe(-1890515287)
- expect(random.nextInt()).toBe(1397525728)
- }
-
- it("should correctly implement nextInt(n)") {
- val random = new Random(7)
- expect(random.nextInt(76543)).toBe(32736)
- expect(() => random.nextInt(0)).toThrow
- expect(random.nextInt(45)).toBe(29)
- expect(random.nextInt(945)).toBe(60)
- expect(random.nextInt(35694839)).toBe(20678044)
- expect(random.nextInt(35699)).toBe(23932)
- expect(random.nextInt(3699)).toBe(2278)
- expect(random.nextInt(10)).toBe(8)
- }
-
- it("should correctly implement nextInt(n) for powers of 2") {
- val random = new Random(-56938)
-
- expect(random.nextInt(32)).toBe(8)
- expect(random.nextInt(8)).toBe(3)
- expect(random.nextInt(128)).toBe(3)
- expect(random.nextInt(4096)).toBe(1950)
- expect(random.nextInt(8192)).toBe(3706)
- expect(random.nextInt(8192)).toBe(4308)
- expect(random.nextInt(8192)).toBe(3235)
- expect(random.nextInt(8192)).toBe(7077)
- expect(random.nextInt(8192)).toBe(2392)
- expect(random.nextInt(32)).toBe(31)
- }
-
- it("should correctly implement nextLong") {
- val random = new Random(205620432625028L)
- expect(random.nextLong()).toBe(3710537363280377478L)
- expect(random.nextLong()).toBe(4121778334981170700L)
- expect(random.nextLong()).toBe(289540773990891960L)
- expect(random.nextLong()).toBe(307008980197674441L)
- expect(random.nextLong()).toBe(7527069864796025013L)
- expect(random.nextLong()).toBe(-4563192874520002144L)
- expect(random.nextLong()).toBe(7619507045427546529L)
- expect(random.nextLong()).toBe(-7888117030898487184L)
- expect(random.nextLong()).toBe(-3499168703537933266L)
- expect(random.nextLong()).toBe(-1998975913933474L)
- }
-
- it("should correctly implement nextFloat") {
- val random = new Random(-3920005825473L)
- expect(random.nextFloat()).toBeCloseTo(0.059591234, 7)
- expect(random.nextFloat()).toBeCloseTo(0.7007871, 7)
- expect(random.nextFloat()).toBeCloseTo(0.39173192, 7)
- expect(random.nextFloat()).toBeCloseTo(0.0647918, 7)
- expect(random.nextFloat()).toBeCloseTo(0.9029677, 7)
- expect(random.nextFloat()).toBeCloseTo(0.18226051, 7)
- expect(random.nextFloat()).toBeCloseTo(0.94444054, 7)
- expect(random.nextFloat()).toBeCloseTo(0.008844078, 7)
- expect(random.nextFloat()).toBeCloseTo(0.08891684, 7)
- expect(random.nextFloat()).toBeCloseTo(0.06482434, 7)
- }
-
- it("should correctly implement nextBytes") {
- val random = new Random(7399572013373333L)
-
- def test(exps: Int*) = {
- val exp = js.Array(exps.map(_.toByte): _*)
- val buf = new Array[Byte](exp.length)
- random.nextBytes(buf)
- expect(buf.toJSArray).toEqual(exp)
- }
-
- test(62, 89, 68, -91, 10, 0, 85)
- test(-89, -76, 88, 121, -25, 47, 58, -8, 78, 20, -77, 84, -3,
- -33, 58, -9, 11, 57, -118, 40, -74, -86, 78, 123, 58)
- test(-77, 112, -116)
- test()
- test(-84, -96, 108)
- test(57, -106, 42, -100, -47, -84, 67, -48, 45)
- }
-
- it("should correctly implement nextGaussian") {
- val random = new Random(2446004)
- expect(random.nextGaussian()).toBe(-0.5043346938630431)
- expect(random.nextGaussian()).toBe(-0.3250983270156675)
- expect(random.nextGaussian()).toBe(-0.23799457294994966)
- expect(random.nextGaussian()).toBe(0.4164610631507695)
- expect(random.nextGaussian()).toBe(0.22086348814760687)
- expect(random.nextGaussian()).toBe(-0.706833209972521)
- expect(random.nextGaussian()).toBe(0.6730758289772553)
- expect(random.nextGaussian()).toBe(0.2797393696191283)
- expect(random.nextGaussian()).toBe(-0.2979099632667685)
- expect(random.nextGaussian()).toBe(0.37443415981434314)
- expect(random.nextGaussian()).toBe(0.9584801742918951)
- expect(random.nextGaussian()).toBe(1.1762179112229345)
- expect(random.nextGaussian()).toBe(0.8736960092848826)
- expect(random.nextGaussian()).toBe(0.12301554931271008)
- expect(random.nextGaussian()).toBe(-0.6052081187207353)
- expect(random.nextGaussian()).toBe(-0.2015925608755316)
- expect(random.nextGaussian()).toBe(-1.0071216119742104)
- expect(random.nextGaussian()).toBe(0.6734222041441913)
- expect(random.nextGaussian()).toBe(0.3990565555091522)
- expect(random.nextGaussian()).toBe(2.0051627385915154)
- }
-
- }
-
- /** Helper class to access next */
- class HackRandom(seed: Long) extends Random(seed) {
- override def next(bits: Int): Int = super.next(bits)
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReadersTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReadersTest.scala
deleted file mode 100644
index f970141..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReadersTest.scala
+++ /dev/null
@@ -1,244 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.annotation.tailrec
-
-import java.io._
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-import org.scalajs.jasminetest.JasmineTest
-
-/** Tests for our implementation of java.io._ reader classes */
-object ReadersTest extends JasmineTest {
-
- describe("java.io.StringReader") {
- val str = "asdf"
- def newReader = new StringReader(str)
-
- it("should provide read()") {
- val r = newReader
-
- for (c <- str) {
- expect(r.read().toChar).toEqual(c)
- }
-
- expect(r.read()).toEqual(-1)
- }
-
- it("should provide read(buf: Array[Char], off: Int, len: Int)") {
- val r = newReader
- val buf = new Array[Char](10)
-
- expect(r.read(buf, 2, 8)).toBe(4)
- expect(buf.map(_.toInt).toJSArray).toEqual(
- js.Array[Int](0,0,'a','s','d','f',0,0,0,0))
- }
-
- it("should provide read(java.nio.CharBuffer)") {
- val r = newReader
- val buf0 = java.nio.CharBuffer.allocate(25)
- buf0.position(3)
- val buf = buf0.slice()
- buf.position(4)
- buf.limit(14)
-
- expect(r.read(buf)).toBe(4)
- expect(buf.position()).toBe(8)
- buf.flip()
- expect(buf.toString().map(_.toInt).toJSArray).toEqual(
- js.Array[Int](0, 0, 0, 0, 'a', 's', 'd', 'f'))
- }
-
- it("should provide ready") {
- val r = newReader
-
- for (c <- str) {
- expect(r.ready()).toBeTruthy
- expect(r.read().toChar).toEqual(c)
- }
-
- expect(r.ready()).toBeFalsy
- expect(r.read()).toEqual(-1)
- }
-
- it("should provide mark/reset") {
- val r = newReader
- r.mark(str.length)
-
- for (c <- str) {
- expect(r.read().toChar).toEqual(c)
- }
- expect(r.read()).toEqual(-1)
-
- r.reset()
-
- for (c <- str) {
- expect(r.read().toChar).toEqual(c)
- }
- expect(r.read()).toEqual(-1)
- }
-
- it("should provide skip") {
- val r = newReader
-
- expect(r.read()).toEqual('a')
- expect(r.skip(2L).toInt).toBe(2)
-
- expect(r.read()).toEqual('f')
- expect(r.read()).toEqual(-1)
- }
-
- it("should provide close") {
- val r = newReader
-
- r.close()
- expect(() => r.read()).toThrow
- }
-
- it("should support marking") {
- expect(newReader.markSupported).toBeTruthy
- }
- }
-
- describe("java.io.BufferedReader") {
- val str = "line1\nline2\r\n\nline4\rline5"
- def newReader = new BufferedReader(new StringReader(str), 3)
-
- it("should provide read()") {
- val r = newReader
-
- for (c <- str) {
- expect(r.read().toChar).toEqual(c)
- }
- expect(r.read()).toEqual(-1)
- }
-
- it("should provide read(cbuf)") {
- var read = 0
- val r = newReader
- val buf = new Array[Char](15)
-
- // twice to force filling internal buffer
- for (_ <- 0 to 1) {
- val len = r.read(buf)
- expect(len).toBeGreaterThan(0)
-
- for (i <- 0 until len)
- expect(buf(i)).toEqual(str.charAt(i+read))
-
- read += len
- }
- }
-
- it("should provide read(cbuf, off, len)") {
- var read = 0
- val r = newReader
- val buf = new Array[Char](15)
-
- // twice to force filling internal buffer
- for (_ <- 0 to 1) {
- val len = r.read(buf, 1, 10)
- expect(len).toBeGreaterThan(0)
- expect(len).toBeLessThan(11)
-
- for (i <- 0 until len)
- expect(buf(i+1)).toEqual(str.charAt(i+read))
-
- read += len
- }
- }
-
- it("should provide mark/reset") {
- val r = newReader
- expect(r.read()).toEqual('l')
-
- // force moving and resizing buffer
- r.mark(10)
-
- for (i <- 0 until 10) {
- expect(r.read()).toEqual(str.charAt(i+1))
- }
-
- r.reset()
-
- for (i <- 1 until str.length) {
- expect(r.read()).toEqual(str.charAt(i))
- }
- }
-
- it("should provide readLine") {
- val r = newReader
-
- expect(r.readLine()).toEqual("line1")
- expect(r.readLine()).toEqual("line2")
- expect(r.readLine()).toEqual("")
- expect(r.readLine()).toEqual("line4")
- expect(r.readLine()).toEqual("line5")
- expect(r.readLine()).toEqual(null)
- }
-
- it("should readLine on an empty stream") {
- val r = new BufferedReader(new StringReader(""))
-
- expect(r.readLine()).toEqual(null)
- }
-
- it("should readline with empty lines only") {
- val r = new BufferedReader(new StringReader("\n\r\n\r\r\n"), 1)
-
- for (_ <- 1 to 4)
- expect(r.readLine()).toEqual("")
-
- expect(r.readLine()).toEqual(null)
- }
-
- it("should support marking") {
- expect(newReader.markSupported).toBeTruthy
- }
- }
-
- describe("java.io.InputStreamReader") {
-
- it("should read UTF8") {
-
- val buf = Array[Byte](72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100,
- 46, -29, -127, -109, -29, -126, -109, -29, -127, -85, -29, -127, -95,
- -29, -127, -81, -26, -105, -91, -26, -100, -84, -24, -86, -98, -29,
- -126, -110, -24, -86, -83, -29, -126, -127, -29, -127, -66, -29, -127,
- -103, -29, -127, -117, -29, -128, -126)
-
- val r = new InputStreamReader(new ByteArrayInputStream(buf))
-
- def expectRead(str: String) = {
- val buf = new Array[Char](str.length)
- @tailrec
- def readAll(readSoFar: Int): Int = {
- if (readSoFar == buf.length) readSoFar
- else {
- val newlyRead = r.read(buf, readSoFar, buf.length - readSoFar)
- if (newlyRead == -1) readSoFar
- else readAll(readSoFar + newlyRead)
- }
- }
- expect(readAll(0)).toBe(str.length)
- expect(new String(buf)).toEqual(str)
- }
-
- expectRead("Hello World.")
- expectRead("こんにちは")
- expectRead("日本語を読めますか。")
- expect(r.read()).toBe(-1)
-
- }
-
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReferenceTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReferenceTest.scala
deleted file mode 100644
index cf0fd0c..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ReferenceTest.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-
-object ReferenceTest extends JasmineTest {
-
- describe("java.land.ref.Reference") {
-
- it("Should have all the normal operations") {
- val s = "string"
- val ref = new java.lang.ref.WeakReference(s)
- expect(ref.get).toEqual(s)
- expect(ref.enqueue).toEqual(false)
- expect(ref.isEnqueued).toEqual(false)
- ref.clear
- // can't use `expect` because it tries to be clever and .toString things,
- // which makes it blow up when you pass in null
- assert(ref.get == null)
- }
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RegexTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RegexTest.scala
deleted file mode 100644
index a27584a..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/RegexTest.scala
+++ /dev/null
@@ -1,397 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-import org.scalajs.jasminetest.JasmineTest
-
-import java.util.regex.Pattern
-
-object RegexTest extends JasmineTest {
-
- describe("java.util.regex.Pattern") {
-
- it("should respond to `matches`") {
- expect(Pattern.matches("[Scal]*\\.js", "Scala.js")).toBeTruthy
- expect(Pattern.matches(".[cal]*\\.j.", "Scala.js")).toBeTruthy
- expect(Pattern.matches(".*\\.js", "Scala.js")).toBeTruthy
- expect(Pattern.matches("S[a-z]*", "Scala.js")).toBeFalsy
- }
-
- it("should respond to `matches` with flags") {
- matches("scala.js", "Scala.js")
- matches("SCALA.JS", "Scala.js")
- matches("waz*up", "WAZZZZZZZZZZZUP")
-
- def matches(regex: String, input: String): Unit = {
- val result = Pattern.compile(regex, Pattern.CASE_INSENSITIVE).matcher(input)
- expect(result.matches()).toBeTruthy
- }
- }
-
- it("should respond to `split`") {
- val result = Pattern.compile("[aj]").split("Scala.js")
- val expected = js.Array("Sc", "l", ".", "s")
- expect(result.length).toEqual(4)
- expect(result.toJSArray).toEqual(expected)
-
- // Tests from JavaDoc
- split("boo:and:foo", ":", Array("boo", "and", "foo"))
- split("boo:and:foo", "o", Array("b", "", ":and:f"))
-
- // Splitting the empty string must return 1 element - #987
- split("", "a", Array(""))
- split("", "\\*", Array(""))
- split("", "\n", Array(""))
- split("", "", Array(""))
-
- // Should remove leading empty match under some conditions - #1171
- // These tests are "measured" on the JVM since the spec is unclear
- split("abc", "(?=a)", Array("abc"))
- split("abc", "(?=b)", Array("a", "bc"))
- split("abc", "(?=a)|b", Array("", "a", "c"))
- split("abc", "", Array("", "a", "b", "c"))
- split("abc", "(?=a)|(?=b)", Array("", "a", "bc"))
- split("abc", "(?=a)|(?=a)", Array("abc"))
- split("abc", "(?=a|b)", Array("", "a", "bc"))
- split("abc", "(?=a|d)", Array("abc"))
- split("abc", "^d*", Array("abc"))
- split("abc", "d*", Array("", "a", "b", "c"))
- split("a", "", Array("", "a"))
- split("a", "^d*", Array("a"))
- split("a", "d*", Array("", "a"))
- split("a", "(?=a)", Array("a"))
- split("ab", "a", Array("", "b"))
-
- def split(input: String, regex: String, expected: Array[String]): Unit = {
- val result = Pattern.compile(regex).split(input)
- expect(result.toJSArray).toEqual(expected.toJSArray)
- }
- }
-
- it("should respond to `split` with limit") {
- // Tests from JavaDoc
- splitWithLimit("boo:and:foo", ":", 2, Array("boo", "and:foo"))
- splitWithLimit("boo:and:foo", ":", 5, Array("boo", "and", "foo"))
- splitWithLimit("boo:and:foo", ":", -2, Array("boo", "and", "foo"))
- splitWithLimit("boo:and:foo", "o", 5, Array("b", "", ":and:f", "", ""))
- splitWithLimit("boo:and:foo", "o", -2, Array("b", "", ":and:f", "", ""))
- splitWithLimit("boo:and:foo", "o", 0, Array("b", "", ":and:f"))
-
- // Splitting the empty string must return 1 element - #987
- splitWithLimit("", "a", 0, Array(""))
- splitWithLimit("", "\\*", 5, Array(""))
- splitWithLimit("", "\n", -2, Array(""))
- splitWithLimit("", "", 1, Array(""))
-
- // Should remove leading empty match under some conditions - #1171
- splitWithLimit("abc", "", 2, Array("", "abc"))
- splitWithLimit("abc", "(?=a)", 2, Array("abc"))
- splitWithLimit("ab", "a", 1, Array("ab"))
-
- def splitWithLimit(input: String, regex: String, limit: Int, expected: Array[String]): Unit = {
- val result = Pattern.compile(regex).split(input, limit)
- expect(result.toJSArray).toEqual(expected.toJSArray)
- }
- }
-
- it("should respond to `flags`") {
- val pattern0 = Pattern.compile("a")
- val pattern1 = Pattern.compile("a", 0)
- val flags2 = Pattern.CASE_INSENSITIVE | Pattern.DOTALL
- val pattern2 = Pattern.compile("a", flags2)
-
- expect(pattern0.flags).toEqual(0)
- expect(pattern1.flags).toEqual(0)
- expect(pattern2.flags).toEqual(flags2)
- }
-
- it("should respond to `pattern` and `toString`") {
- def checkPatternAndToString(regex: String): Unit = {
- val pattern0 = Pattern.compile(regex)
- expect(pattern0.pattern).toEqual(regex)
- expect(pattern0.toString).toEqual(regex)
-
- val pattern1 = Pattern.compile(regex, Pattern.CASE_INSENSITIVE)
- expect(pattern1.pattern).toEqual(regex)
- expect(pattern1.toString).toEqual(regex)
- }
-
- checkPatternAndToString("a*b+c")
- checkPatternAndToString("\\S[(a1]a.js")
- }
-
- it("should respond to `quote`") {
- val splitWithQuote = Pattern.compile(Pattern.quote("$1&$2")).split("Scala$1&$2.js")
- val splitNoQuote = Pattern.compile("$1&$2").split("Scala$1&$2.js")
- expect(splitWithQuote.mkString).toEqual("Scala.js")
- expect(splitNoQuote.mkString).toEqual("Scala$1&$2.js")
- }
-
- }
-
- describe("java.util.regex.Matcher") {
-
- it("should respond to `find`") {
- val matcher = Pattern.compile("a").matcher("Scala.js")
-
- expect(matcher.find()).toBeTruthy
- expect(matcher.find()).toBeTruthy
- expect(matcher.find()).toBeFalsy
- expect(matcher.find(4)).toBeTruthy
- expect(matcher.find()).toBeFalsy
- }
-
- it("should respond to `start`, `end`, `group`, and `toMatchResult`") {
- val matcher = Pattern.compile("\\s(([A-Za-z]{5}(hum)?).js)\\s").matcher("Write Scala.js everyday!")
-
- def checkGroup0(start: Int, end: Int, group: String) =
- checkGroup(start, 5, end, 15, group, " Scala.js ")
-
- def checkGroup1(start: Int, end: Int, group: String) =
- checkGroup(start, 6, end, 14, group, "Scala.js")
-
- def checkGroup2(start: Int, end: Int, group: String) =
- checkGroup(start, 6, end, 11, group, "Scala")
-
- def checkGroup3(start: Int, end: Int, group: String) =
- checkGroup(start, -1, end, -1, group, null)
-
- def checkGroup(start: Int, startExpected: Int, end: Int, endExpected: Int,
- group: String, groupExpected: String): Unit = {
- expect(start).toEqual(startExpected)
- expect(end).toEqual(endExpected)
- expect(group).toEqual(groupExpected)
- }
-
- expect(matcher.find()).toBeTruthy
- expect(matcher.groupCount).toEqual(3)
- checkGroup0(matcher.start, matcher.end, matcher.group)
- checkGroup0(matcher.start(0), matcher.end(0), matcher.group(0))
- checkGroup1(matcher.start(1), matcher.end(1), matcher.group(1))
- checkGroup2(matcher.start(2), matcher.end(2), matcher.group(2))
- checkGroup3(matcher.start(3), matcher.end(3), matcher.group(3))
-
- val matchResult = matcher.toMatchResult
- expect(matchResult.groupCount).toEqual(3)
- checkGroup0(matchResult.start, matchResult.end, matchResult.group)
- checkGroup0(matchResult.start(0), matchResult.end(0), matchResult.group(0))
- checkGroup1(matchResult.start(1), matchResult.end(1), matchResult.group(1))
- checkGroup2(matchResult.start(2), matchResult.end(2), matchResult.group(2))
- checkGroup3(matchResult.start(3), matchResult.end(3), matchResult.group(3))
- }
-
- it("should respond to `matches`") {
- val matcher0 = Pattern.compile("S[a-z]+").matcher("Scala")
- val matcher1 = Pattern.compile("S[a-z]+").matcher("Scala.js")
-
- expect(matcher0.matches()).toBeTruthy
- expect(matcher1.matches()).toBeFalsy
- }
-
- it("should respond to `reset`") {
- val matcher = Pattern.compile("S[a-z]+").matcher("Scalable")
-
- expect(matcher.find()).toBeTruthy
- expect(matcher.find()).toBeFalsy
- matcher.reset()
- expect(matcher.find()).toBeTruthy
- }
-
- it("should respond to `reset(String)`") {
- val matcher = Pattern.compile("S[a-z]+").matcher("Scalable")
-
- expect(matcher.matches()).toBeTruthy
- matcher.reset("Scala.js")
- expect(matcher.matches()).toBeFalsy
- }
-
- it("should respond to `usePattern`") {
- val patternNoDots = Pattern.compile("S[a-z]+")
- val patternWithDots = Pattern.compile("S[a-z.]+")
-
- val matcher0 = patternNoDots.matcher("Scala.js")
- expect(matcher0.matches()).toBeFalsy
- matcher0.usePattern(patternWithDots)
- expect(matcher0.matches()).toBeTruthy
-
- val matcher1 = patternWithDots.matcher("Scala.js")
- expect(matcher1.matches()).toBeTruthy
- matcher1.usePattern(patternNoDots)
- expect(matcher1.matches()).toBeFalsy
- }
-
- it("should respond to `lookingAt`") {
- val matcher0 = Pattern.compile("S[a-z]+").matcher("Scala")
- val matcher1 = Pattern.compile("S[a-z]+").matcher("Scala.js")
- val matcher2 = Pattern.compile("[a-z]+").matcher("Scala.js")
-
- expect(matcher0.lookingAt()).toBeTruthy
- expect(matcher1.lookingAt()).toBeTruthy
- expect(matcher2.lookingAt()).toBeFalsy
-
- val matcher3 = Pattern.compile("S[a-z]+").matcher("Scala.js")
- expect(matcher3.find()).toBeTruthy
- expect(matcher3.lookingAt()).toBeTruthy
- }
-
- it("should respond to `hitEnd`") {
- val matcher0 = Pattern.compile("S[a-z]*").matcher("Scala.js")
- expect(matcher0.find()).toBeTruthy
- expect(matcher0.hitEnd).toBeFalsy
- expect(matcher0.find()).toBeFalsy
- expect(matcher0.hitEnd).toBeTruthy
-
- val matcher1 = Pattern.compile("[A-Za-z]+").matcher("Scala.js")
- expect(matcher1.find()).toBeTruthy
- expect(matcher1.hitEnd).toBeFalsy
- expect(matcher1.group).toBe("Scala")
- expect(matcher1.find()).toBeTruthy
- expect(matcher1.hitEnd).toBeTruthy
- expect(matcher1.group).toBe("js")
- expect(matcher1.lookingAt()).toBeTruthy
- expect(matcher1.group).toBe("Scala")
- expect(matcher1.hitEnd).toBeFalsy
- }
-
- it("should respond to `region`") {
- val matcher0 = Pattern.compile("S[a-z]+").matcher("A Scalable Solution")
-
- val region0to3 = matcher0.region(0, 3)
- expect(region0to3.regionStart).toBe(0)
- expect(region0to3.regionEnd).toBe(3)
- expect(region0to3.find()).toBeFalsy
-
- val region0to15 = matcher0.region(0, 15)
- expect(region0to15.regionStart).toBe(0)
- expect(region0to15.regionEnd).toBe(15)
- expect(region0to15.find()).toBeTruthy
- expect(region0to15.group).toEqual("Scalable")
-
- val region2to7 = region0to15.region(2, 7)
- expect(region2to7.regionStart).toBe(2)
- expect(region2to7.regionEnd).toBe(7)
- expect(region2to7.find()).toBeTruthy
- expect(region2to7.group).toEqual("Scala")
-
- val region5toEnd = matcher0.region(5, matcher0.regionEnd)
- expect(region5toEnd.regionStart).toBe(5)
- expect(region5toEnd.regionEnd).toBe(19)
- expect(region5toEnd.find()).toBeTruthy
- expect(region5toEnd.group).toEqual("Solution")
-
- val matcher1 = Pattern.compile("0[xX][A-Fa-f0-9]{3}$").matcher("In CSS, 0xc4fe is not a color")
-
- val region5to13 = matcher1.region(5, 13)
- expect(region5to13.regionStart).toBe(5)
- expect(region5to13.regionEnd).toBe(13)
- expect(region5to13.find()).toBeTruthy
- expect(region5to13.group).toEqual("0xc4f")
-
- val region5to20 = matcher1.region(5, 20)
- expect(region5to20.regionStart).toBe(5)
- expect(region5to20.regionEnd).toBe(20)
- expect(region5to20.find()).toBeFalsy
- }
-
- it("should respond to `appendReplacement` and `appendTail`") {
- // From the JavaDoc
- val matcher = Pattern.compile("cat").matcher("one cat two cats in the yard")
- val sb = new StringBuffer
-
- while (matcher.find()) {
- matcher.appendReplacement(sb, "dog")
- }
- matcher.appendTail(sb)
-
- expect(sb.toString).toBe("one dog two dogs in the yard")
- }
-
- it("should respond to `replaceAll`") {
- // From the JavaDoc
- val matcher = Pattern.compile("a*b").matcher("aabfooaabfooabfoob")
- expect(matcher.replaceAll("-")).toBe("-foo-foo-foo-")
- }
-
- it("should respond to `replaceFirst`") {
- // From the JavaDoc
- val matcher = Pattern.compile("dog").matcher("zzzdogzzzdogzzz")
- expect(matcher.replaceFirst("cat")).toBe("zzzcatzzzdogzzz")
- }
-
- it("should throw exception if match accessors are called before `find`") {
- def checkInvalidAccess(block: => Unit): Unit = {
- val exception: Throwable = try {
- block
- throw new Error("No exception thrown")
- } catch {
- case e: Throwable => e
- }
-
- expect(exception.getClass.getName).toBe("java.lang.IllegalStateException")
- expect(exception.getMessage).toBe("No match available")
- }
-
- val matcher = Pattern.compile("(Sc([a-z]*))").matcher("Scala.js")
-
- checkInvalidAccess { matcher.start }
- checkInvalidAccess { matcher.end }
- checkInvalidAccess { matcher.group }
- checkInvalidAccess { matcher.group(42) }
-
- val matchResult = matcher.toMatchResult
-
- checkInvalidAccess { matchResult.start }
- checkInvalidAccess { matchResult.end }
- checkInvalidAccess { matchResult.group }
- checkInvalidAccess { matchResult.group(42) }
- }
-
- it("should correctly handle zero-length matches") {
- val pat = Pattern.compile("a*?")
- val mat = pat.matcher("aaaaa")
- for (i <- 0 to 5) {
- expect(mat.find()).toBeTruthy
- expect(mat.start).toEqual(i)
- expect(mat.end).toEqual(i)
- }
-
- // Make sure we don't suddenly re-match
- for (i <- 0 to 5) {
- expect(mat.find()).toBeFalsy
- }
- }
-
- it("should support in-pattern flags - #997") {
- val p0 = Pattern.compile("(?i)abc")
-
- expect(p0.flags() & Pattern.CASE_INSENSITIVE).not.toBe(0)
-
- val m0 = p0.matcher("abcABC")
-
- expect(m0.find()).toBeTruthy
- expect(m0.group()).toEqual("abc")
- expect(m0.find()).toBeTruthy
- expect(m0.group()).toEqual("ABC")
- expect(m0.find()).toBeFalsy
-
- val p1 = Pattern.compile("(?-i)abc", Pattern.CASE_INSENSITIVE)
-
- expect(p1.flags() & Pattern.CASE_INSENSITIVE).toBe(0)
-
- val m1 = p1.matcher("abcABC")
-
- expect(m1.find()).toBeTruthy
- expect(m1.group()).toEqual("abc")
- expect(m1.find()).toBeFalsy
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ShortTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ShortTest.scala
deleted file mode 100644
index e59f2e9..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ShortTest.scala
+++ /dev/null
@@ -1,66 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.lang.{Short => JShort}
-
-import org.scalajs.jasminetest.JasmineTest
-
-/**
- * tests the implementation of the java standard library Short
- */
-object ShortTest extends JasmineTest {
-
- describe("java.lang.Short") {
-
- it("should provide `compareTo`") {
- def compare(x: Short, y: Short): Int =
- new JShort(x).compareTo(new JShort(y))
-
- expect(compare(0.toShort, 5.toShort)).toBeLessThan(0)
- expect(compare(10.toShort, 9.toShort)).toBeGreaterThan(0)
- expect(compare(-2.toShort, -1.toShort)).toBeLessThan(0)
- expect(compare(3.toShort, 3.toShort)).toEqual(0)
- }
-
- it("should be a Comparable") {
- def compare(x: Any, y: Any): Int =
- x.asInstanceOf[Comparable[Any]].compareTo(y)
-
- expect(compare(0.toShort, 5.toShort)).toBeLessThan(0)
- expect(compare(10.toShort, 9.toShort)).toBeGreaterThan(0)
- expect(compare(-2.toShort, -1.toShort)).toBeLessThan(0)
- expect(compare(3.toShort, 3.toShort)).toEqual(0)
- }
-
- it("should parse strings") {
- def test(s: String, v: Short): Unit = {
- expect(JShort.parseShort(s)).toEqual(v)
- expect(JShort.valueOf(s).shortValue()).toEqual(v)
- expect(new JShort(s).shortValue()).toEqual(v)
- }
-
- test("0", 0)
- test("5", 5)
- test("127", 127)
- test("-100", -100)
- test("30000", 30000)
- }
-
- it("should reject invalid strings when parsing") {
- def test(s: String): Unit =
- expect(() => JShort.parseShort(s)).toThrow
-
- test("abc")
- test("")
- test("60000") // out of range
- test("-90000") // out of range
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StackTraceElementTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StackTraceElementTest.scala
deleted file mode 100644
index b02a889..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StackTraceElementTest.scala
+++ /dev/null
@@ -1,29 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-
-import org.scalajs.jasminetest.JasmineTest
-
-object StackTraceElementTest extends JasmineTest {
-
- describe("java.lang.StackTraceElement") {
- it("should use the magic columnNumber field in its toString") {
- val st = new StackTraceElement("MyClass", "myMethod", "myFile.scala", 1)
- st.asInstanceOf[js.Dynamic].columnNumber = 5
- expect(st.toString).toEqual("MyClass.myMethod(myFile.scala:1:5)")
- }
-
- it("should leave toString unmodified without magic columnNumber") {
- val st = new StackTraceElement("MyClass", "myMethod", "myFile.scala", 1)
- expect(st.toString).toEqual("MyClass.myMethod(myFile.scala:1)")
- }
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StreamsTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StreamsTest.scala
deleted file mode 100644
index 6975614..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StreamsTest.scala
+++ /dev/null
@@ -1,308 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import java.io._
-
-import scala.language.implicitConversions
-
-import scala.scalajs.js
-
-import org.scalajs.jasminetest.JasmineTest
-
-/** Tests for our implementation of java.io._ stream classes */
-object StreamsTest extends JasmineTest with CommonStreamsTests {
-
- // Need to define this again, otherwise conversion on function
- // triggers for Seqs
- override implicit def traversable2array[T](
- a: TraversableOnce[T]): js.Array[T] = super.traversable2array(a)
-
- describe("java.io.InputStream") {
-
- class DummyInputStream(val length: Int) extends InputStream {
- private var i: Int = 0
- def read(): Int = if (i < length) { i += 1; i } else -1
- }
-
- it("should provide a default implementation of `read` to an array") {
- val stream = new DummyInputStream(200)
-
- val buf = new Array[Byte](50)
-
- // Should read first 50 bytes (next: 51)
- expect(stream.read(buf)).toBe(50)
- expect(buf).toEqual((1 to 50))
-
- // Should read another 20 (next: 71)
- expect(stream.read(buf, 10, 20)).toBe(20)
- expect(buf).toEqual((1 to 10) ++ (51 to 70) ++ (31 to 50))
-
- // Test some Exception conditions
- expect(() => stream.read(null, 0, 10)).toThrow
- expect(() => stream.read(buf, -1, 10)).toThrow
- expect(() => stream.read(buf, 0, -1)).toThrow
- expect(() => stream.read(buf, 10, 100)).toThrow
- // Buffer should be unmodified
- expect(buf).toEqual((1 to 10) ++ (51 to 70) ++ (31 to 50))
-
- // Should read nothing (next: 71)
- expect(stream.read(buf, 10, 0)).toBe(0)
- expect(buf).toEqual((1 to 10) ++ (51 to 70) ++ (31 to 50))
-
- // Skip 40 bytes (next: 111)
- expect(stream.skip(40)).toBe(40)
-
- // Read 50 bytes, should wrap (next: 161)
- expect(stream.read(buf)).toBe(50)
- expect(buf).toEqual((111 to 127) ++ (-128 to -96))
-
- // Read 45 bytes, should read 40 (next: EOF)
- expect(stream.read(buf, 5, 45)).toBe(40)
- expect(buf).toEqual((111 to 115) ++ (-95 to -56) ++ (-100 to -96))
-
- // Read 50 bytes, should read nothing
- expect(stream.read(buf)).toBe(-1)
- expect(stream.read(buf, 0, 0)).toBe(0)
- expect(buf).toEqual((111 to 115) ++ (-95 to -56) ++ (-100 to -96))
- }
-
- it("should provide a default implementation of `skip`") {
- val stream = new DummyInputStream(10)
-
- expect(stream.skip(5)).toBe(5)
- expect(stream.read()).toBe(6)
- expect(stream.skip(1)).toBe(1)
- expect(stream.read()).toBe(8)
- expect(stream.skip(-5)).toBe(0)
- expect(stream.read()).toBe(9)
- expect(stream.skip(0)).toBe(0)
- expect(stream.read()).toBe(10)
- expect(stream.skip(10)).toBe(0)
- }
-
- }
-
- describe("java.io.ByteArrayInputStream") {
- byteArrayInputStreamLikeTests(seq =>
- new ByteArrayInputStream(seq.map(_.toByte).toArray))
- }
-
- describe("java.io.ByteArrayOutputStream") {
-
- it("should support simple write(x: Int)") {
- val out = new ByteArrayOutputStream()
-
- for (i <- 0 to 9)
- out.write(i)
-
- expect(out.toByteArray).toEqual(js.Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
- }
-
- it("should support simple write(x: Array[Byte])") {
- val out = new ByteArrayOutputStream()
- val arr = Array[Byte](0, 1, 2, 3, 4, 5)
-
- out.write(arr, 1, 4)
- out.write(arr)
-
- expect(out.toByteArray).toEqual(js.Array(1, 2, 3, 4, 0, 1, 2, 3, 4, 5))
- }
-
- it("should support write(x: Array[Byte]) with buffer resize") {
- val out = new ByteArrayOutputStream(16)
- val arr = Array[Byte](0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
-
- out.write(arr)
- out.write(arr)
-
- expect(out.toByteArray).toEqual(arr ++ arr)
- }
-
- it("should support toString (with UTF8)") {
- val buf = Array[Byte](72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100,
- 46, -29, -127, -109, -29, -126, -109, -29, -127, -85, -29, -127, -95,
- -29, -127, -81, -26, -105, -91, -26, -100, -84, -24, -86, -98, -29,
- -126, -110, -24, -86, -83, -29, -126, -127, -29, -127, -66, -29, -127,
- -103, -29, -127, -117, -29, -128, -126)
-
- val out = new ByteArrayOutputStream()
- out.write(buf)
-
- expect(out.toString).toEqual("Hello World.こんにちは日本語を読めますか。")
- }
-
- it("should support reset()") {
- val out = new ByteArrayOutputStream()
- for (i <- 0 to 9) out.write(i)
- out.reset()
- for (i <- 0 to 9) out.write(i)
-
- expect(out.toByteArray).toEqual(js.Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
- }
-
- }
-
-}
-
-/** tests also used by typedarray.ArrayBufferInputStreamTests */
-trait CommonStreamsTests extends JasmineTest {
-
- implicit def traversable2array[T](a: TraversableOnce[T]): js.Array[T] = {
- import js.JSConverters._
- a.toJSArray
- }
-
- implicit def array2array[T](a: Array[T]): js.Array[T] = {
- import js.JSConverters._
- a.toJSArray
- }
-
- def byteArrayInputStreamLikeTests(mkStream: Seq[Int] => InputStream): Unit = {
- val length = 50
- def newStream = mkStream(1 to length)
-
- it("should provide `read()`") {
- val stream = newStream
-
- for (i <- 1 to length)
- expect(stream.read()).toBe(i)
-
- for (_ <- 1 to 5)
- expect(stream.read()).toBe(-1)
- }
-
- it("should provide `read(buf)`") {
- val stream = newStream
- val buf = new Array[Byte](10)
-
- expect(stream.read(buf)).toBe(10)
- expect(buf).toEqual(1 to 10)
-
- expect(stream.skip(35)).toBe(35)
-
- expect(stream.read(buf)).toBe(5)
- expect(buf).toEqual((46 to 50) ++ (6 to 10))
-
- expect(stream.read(buf)).toBe(-1)
- expect(stream.read()).toBe(-1)
- }
-
- it("should provide full-argument `read`") {
- val stream = newStream
- val buf = new Array[Byte](20)
-
- expect(stream.read(buf, 10, 5)).toBe(5)
- expect(buf).toEqual(Seq.fill(10)(0) ++ (1 to 5) ++ Seq.fill(5)(0))
-
- expect(stream.read(buf, 0, 20)).toBe(20)
- expect(buf).toEqual(6 to 25)
-
- expect(stream.read(buf, 10, 0)).toBe(0)
- expect(buf).toEqual(6 to 25)
-
- expect(() => stream.read(buf, -1, 0)).toThrow
- expect(() => stream.read(buf, 0, -1)).toThrow
- expect(() => stream.read(buf, 100, 0)).toThrow
- expect(() => stream.read(buf, 10, 100)).toThrow
- expect(buf).toEqual(6 to 25)
-
- expect(stream.skip(20)).toBe(20)
-
- expect(stream.read(buf, 0, 10)).toBe(5)
- expect(buf).toEqual((46 to 50) ++ (11 to 25))
-
- expect(stream.read(buf, 0, 10)).toBe(-1)
- expect(stream.read(buf, 0, 0)).toBe(0)
- expect(buf).toEqual((46 to 50) ++ (11 to 25))
-
- }
-
- it("should provide `available`") {
- val stream = newStream
-
- def mySkip(n: Int) = for (_ <- 1 to n) expect(stream.read()).not.toBe(-1)
- def check(n: Int) = expect(stream.available).toBe(n)
-
- check(50)
- mySkip(5)
- check(45)
- expect(stream.skip(10)).toBe(10)
- check(35)
- mySkip(30)
- check(5)
- expect(stream.skip(20)).toBe(5)
- check(0)
- }
-
- it("should provide `skip`") {
- val stream = newStream
-
- expect(stream.skip(7)).toBe(7)
-
- for (i <- 8 to 32)
- expect(stream.read()).toBe(i)
-
- expect(stream.skip(0)).toBe(0)
- expect(stream.read()).toBe(33)
- expect(stream.skip(-4)).toBe(0)
- expect(stream.read()).toBe(34)
-
- expect(stream.skip(30)).toBe(16)
- expect(stream.skip(30)).toBe(0)
- }
-
- it("should return true from `markSupported`") {
- expect(newStream.markSupported).toBe(true)
- }
-
- it("should provide no-op `close`") {
- val stream = newStream
-
- for (i <- 1 to length) {
- stream.close()
- expect(stream.read()).toBe(i)
- }
- }
-
- it("should provide `mark`/`reset`") {
- val stream = newStream
-
- def read(range: Range) = for (i <- range) expect(stream.read()).toBe(i)
-
- read(1 to 10)
- stream.reset() // mark must be 0 at creation
- read(1 to 5)
- stream.mark(length)
- read(6 to 22)
- stream.reset()
- read(6 to 20)
- stream.reset()
- read(6 to 25)
- stream.reset()
- expect(stream.skip(40)).toBe(40)
- stream.mark(length)
- read(46 to 50)
- stream.reset()
- read(46 to 50)
- stream.mark(length)
- expect(stream.read()).toBe(-1)
- stream.reset()
- expect(stream.read()).toBe(-1)
- }
-
- it("should return positive integers when calling read") {
- val stream = mkStream(Seq(-1, -2, -3))
- expect(stream.read()).toBe(255)
- expect(stream.read()).toBe(254)
- expect(stream.read()).toBe(253)
- expect(stream.read()).toBe(-1)
- }
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringBufferTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringBufferTest.scala
deleted file mode 100644
index a034ce6..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringBufferTest.scala
+++ /dev/null
@@ -1,219 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.reflect.{classTag, ClassTag}
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-
-object StringBufferTest extends JasmineTest {
-
- def shouldThrow[T : ClassTag](fn: => Unit) =
- try {
- fn
- expect("exception").toBe("thrown")
- } catch {
- case e: T =>
- case x: Throwable => expect(x.toString).toBe(classTag[T].runtimeClass.getSimpleName)
- }
-
- describe("java.lang.StringBuffer") {
-
- def newBuf = new java.lang.StringBuffer
- def initBuf(str: String) = new java.lang.StringBuffer(str)
-
- it("should respond to `append`") {
- expect(newBuf.append("asdf").toString).toEqual("asdf")
- expect(newBuf.append(null: AnyRef).toString).toEqual("null")
- expect(newBuf.append(null: String).toString).toEqual("null")
- expect(newBuf.append(null: CharSequence,0,2).toString).toEqual("nu")
- expect(newBuf.append(js.undefined).toString).toEqual("undefined")
- expect(newBuf.append(true).toString).toEqual("true")
- expect(newBuf.append('a').toString).toEqual("a")
- expect(newBuf.append(Array('a','b','c','d')).toString).toEqual("abcd")
- expect(newBuf.append(Array('a','b','c','d'), 1, 2).toString).toEqual("bc")
- expect(newBuf.append(4.toByte).toString).toEqual("4")
- expect(newBuf.append(304.toShort).toString).toEqual("304")
- expect(newBuf.append(100000).toString).toEqual("100000")
- expect(newBuf.append(2.5f).toString).toEqual("2.5")
- expect(newBuf.append(3.5).toString).toEqual("3.5")
- }
-
- it("should respond to `insert`") {
- expect(newBuf.insert(0, "asdf").toString).toEqual("asdf")
- expect(newBuf.insert(0, null: AnyRef).toString).toEqual("null")
- expect(newBuf.insert(0, null: String).toString).toEqual("null")
- expect(newBuf.insert(0, null: CharSequence,0,2).toString).toEqual("nu")
- expect(newBuf.insert(0, js.undefined).toString).toEqual("undefined")
- expect(newBuf.insert(0, true).toString).toEqual("true")
- expect(newBuf.insert(0, 'a').toString).toEqual("a")
- expect(newBuf.insert(0, Array('a','b','c','d')).toString).toEqual("abcd")
- expect(newBuf.insert(0, Array('a','b','c','d'), 1, 2).toString).toEqual("bc")
- expect(newBuf.insert(0, 4.toByte).toString).toEqual("4")
- expect(newBuf.insert(0, 304.toShort).toString).toEqual("304")
- expect(newBuf.insert(0, 100000).toString).toEqual("100000")
- expect(newBuf.insert(0, 2.5f).toString).toEqual("2.5")
- expect(newBuf.insert(0, 3.5).toString).toEqual("3.5")
-
- expect(initBuf("adef").insert(1, "bc")).toEqual("abcdef")
- expect(initBuf("abcd").insert(4, "ef")).toEqual("abcdef")
- expect(initBuf("adef").insert(1, Array('b','c'))).toEqual("abcdef")
- expect(initBuf("adef").insert(1, initBuf("bc"))).toEqual("abcdef")
- expect(initBuf("abef").insert(2, Array('a','b','c','d','e'), 2, 2)).toEqual("abcdef")
- expect(initBuf("abef").insert(2, initBuf("abcde"), 2, 4)).toEqual("abcdef")
-
- shouldThrow[StringIndexOutOfBoundsException](initBuf("abcd").insert(5, "whatever"))
- shouldThrow[StringIndexOutOfBoundsException](initBuf("abcd").insert(-1, "whatever"))
- }
-
- it("should respond to `deleteCharAt`") {
- expect(initBuf("0123").deleteCharAt(1).toString).toEqual("023")
- expect(initBuf("0123").deleteCharAt(0).toString).toEqual("123")
- expect(initBuf("0123").deleteCharAt(3).toString).toEqual("012")
- shouldThrow[StringIndexOutOfBoundsException](initBuf("0123").deleteCharAt(-1))
- shouldThrow[StringIndexOutOfBoundsException](initBuf("0123").deleteCharAt(4))
- }
-
- it("should respond to `replace`") {
- expect(initBuf("0123").replace(1,3,"bc").toString).toEqual("0bc3")
- expect(initBuf("0123").replace(0,4,"abcd").toString).toEqual("abcd")
- expect(initBuf("0123").replace(0,10,"abcd").toString).toEqual("abcd")
- expect(initBuf("0123").replace(3,10,"defg").toString).toEqual("012defg")
- expect(initBuf("0123").replace(0,1,"xxxx").toString).toEqual("xxxx123")
- expect(initBuf("0123").replace(1,1,"xxxx").toString).toEqual("0xxxx123")
-
- shouldThrow[StringIndexOutOfBoundsException](initBuf("0123").replace(-1,3,"x"))
- shouldThrow[StringIndexOutOfBoundsException](initBuf("0123").replace(4,5,"x"))
- }
-
- it("should respond to `setCharAt`") {
- val buf = newBuf
- buf.append("foobar")
-
- buf.setCharAt(2, 'x')
- expect(buf.toString).toEqual("foxbar")
-
- buf.setCharAt(5, 'h')
- expect(buf.toString).toEqual("foxbah")
-
- expect(() => buf.setCharAt(-1, 'h')).toThrow
- expect(() => buf.setCharAt(6, 'h')).toThrow
- }
-
- it("should properly setLength") {
- val buf = newBuf
- buf.append("foobar")
-
- expect(() => buf.setLength(-3)).toThrow
-
- expect({ buf.setLength(3); buf.toString }).toEqual("foo")
- expect({ buf.setLength(6); buf.toString }).toEqual("foo\u0000\u0000\u0000")
- }
-
- }
-
- describe("java.lang.StringBuilder") {
-
- def newBuilder = new java.lang.StringBuilder
- def initBuilder(str: String) = new java.lang.StringBuilder(str)
-
- it("should respond to `append`") {
- expect(newBuilder.append("asdf").toString).toEqual("asdf")
- expect(newBuilder.append(null: AnyRef).toString).toEqual("null")
- expect(newBuilder.append(null: String).toString).toEqual("null")
- expect(newBuilder.append(null: CharSequence,0,2).toString).toEqual("nu")
- expect(newBuilder.append(js.undefined).toString).toEqual("undefined")
- expect(newBuilder.append(true).toString).toEqual("true")
- expect(newBuilder.append('a').toString).toEqual("a")
- expect(newBuilder.append(Array('a','b','c','d')).toString).toEqual("abcd")
- expect(newBuilder.append(Array('a','b','c','d'), 1, 2).toString).toEqual("bc")
- expect(newBuilder.append(4.toByte).toString).toEqual("4")
- expect(newBuilder.append(304.toShort).toString).toEqual("304")
- expect(newBuilder.append(100000).toString).toEqual("100000")
- expect(newBuilder.append(2.5f).toString).toEqual("2.5")
- expect(newBuilder.append(3.5).toString).toEqual("3.5")
- }
-
- it("should respond to `insert`") {
- expect(newBuilder.insert(0, "asdf").toString).toEqual("asdf")
- expect(newBuilder.insert(0, null: AnyRef).toString).toEqual("null")
- expect(newBuilder.insert(0, null: String).toString).toEqual("null")
- expect(newBuilder.insert(0, null: CharSequence,0,2).toString).toEqual("nu")
- expect(newBuilder.insert(0, js.undefined).toString).toEqual("undefined")
- expect(newBuilder.insert(0, true).toString).toEqual("true")
- expect(newBuilder.insert(0, 'a').toString).toEqual("a")
- expect(newBuilder.insert(0, Array('a','b','c','d')).toString).toEqual("abcd")
- expect(newBuilder.insert(0, Array('a','b','c','d'), 1, 2).toString).toEqual("bc")
- expect(newBuilder.insert(0, 4.toByte).toString).toEqual("4")
- expect(newBuilder.insert(0, 304.toShort).toString).toEqual("304")
- expect(newBuilder.insert(0, 100000).toString).toEqual("100000")
- expect(newBuilder.insert(0, 2.5f).toString).toEqual("2.5")
- expect(newBuilder.insert(0, 3.5).toString).toEqual("3.5")
-
- expect(initBuilder("adef").insert(1, "bc")).toEqual("abcdef")
- expect(initBuilder("abcd").insert(4, "ef")).toEqual("abcdef")
- expect(initBuilder("adef").insert(1, Array('b','c'))).toEqual("abcdef")
- expect(initBuilder("adef").insert(1, initBuilder("bc"))).toEqual("abcdef")
- expect(initBuilder("abef").insert(2, Array('a','b','c','d','e'), 2, 2)).toEqual("abcdef")
- expect(initBuilder("abef").insert(2, initBuilder("abcde"), 2, 4)).toEqual("abcdef")
-
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("abcd").insert(5, "whatever"))
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("abcd").insert(-1, "whatever"))
- }
-
- it("should allow string interpolation to survive `null` and `undefined`") {
- expect(s"${null}").toEqual("null")
- expect(s"${js.undefined}").toEqual("undefined")
- }
-
- it("should respond to `deleteCharAt`") {
- expect(initBuilder("0123").deleteCharAt(1).toString).toEqual("023")
- expect(initBuilder("0123").deleteCharAt(0).toString).toEqual("123")
- expect(initBuilder("0123").deleteCharAt(3).toString).toEqual("012")
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("0123").deleteCharAt(-1))
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("0123").deleteCharAt(4))
- }
-
- it("should respond to `replace`") {
- expect(initBuilder("0123").replace(1,3,"bc").toString).toEqual("0bc3")
- expect(initBuilder("0123").replace(0,4,"abcd").toString).toEqual("abcd")
- expect(initBuilder("0123").replace(0,10,"abcd").toString).toEqual("abcd")
- expect(initBuilder("0123").replace(3,10,"defg").toString).toEqual("012defg")
- expect(initBuilder("0123").replace(0,1,"xxxx").toString).toEqual("xxxx123")
- expect(initBuilder("0123").replace(1,1,"xxxx").toString).toEqual("0xxxx123")
-
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("0123").replace(-1,3,"x"))
- shouldThrow[StringIndexOutOfBoundsException](initBuilder("0123").replace(4,5,"x"))
- }
-
- it("should respond to `setCharAt`") {
- val b = newBuilder
- b.append("foobar")
-
- b.setCharAt(2, 'x')
- expect(b.toString).toEqual("foxbar")
-
- b.setCharAt(5, 'h')
- expect(b.toString).toEqual("foxbah")
-
- expect(() => b.setCharAt(-1, 'h')).toThrow
- expect(() => b.setCharAt(6, 'h')).toThrow
- }
-
- it("should properly setLength") {
- val b = newBuilder
- b.append("foobar")
-
- expect(() => b.setLength(-3)).toThrow
-
- expect({ b.setLength(3); b.toString }).toEqual("foo")
- expect({ b.setLength(6); b.toString }).toEqual("foo\u0000\u0000\u0000")
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringTest.scala
deleted file mode 100644
index a49e521..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/StringTest.scala
+++ /dev/null
@@ -1,237 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-import org.scalajs.jasminetest.JasmineTest
-
-object StringTest extends JasmineTest {
-
- describe("java.lang.String") {
-
- it("should respond to `length`") {
- expect("Scala.js".length).toEqual(8)
- expect("".length).toEqual(0)
- }
-
- it("should respond to `intern`") {
- val s = "Scala.js"
- expect(s.intern).toEqual(s)
- }
-
- it("should respond to `equals`") {
- expect("Scala.js".equals("Scala.js")).toBeTruthy
- expect("Scala.js".equals("Java")).toBeFalsy
- }
-
- it("should respond to `equalsIgnoreCase`") {
- expect("Scala.JS".equalsIgnoreCase("Scala.js")).toBeTruthy
- expect("åløb".equalsIgnoreCase("ÅLØb")).toBeTruthy
- expect("Scala.js".equalsIgnoreCase("Java")).toBeFalsy
- expect("Scala.js".equalsIgnoreCase(null)).toBeFalsy
- }
-
- it("should respond to `compareTo`") {
- expect("Scala.js".compareTo("Scala")).toBeGreaterThan(0)
- expect("Scala.js".compareTo("Scala.js")).toBe(0)
- expect("Scala.js".compareTo("banana")).toBeLessThan(0)
- }
-
- it("should respond to `compareToIgnoreCase`") {
- expect("Scala.JS".compareToIgnoreCase("Scala.js")).toBe(0)
- expect("Scala.JS".compareToIgnoreCase("scala")).toBeGreaterThan(0)
- expect("åløb".compareToIgnoreCase("ÅLØB")).toBe(0)
- expect("Java".compareToIgnoreCase("Scala")).toBeLessThan(0)
- }
-
- it("should respond to `isEmpty`") {
- expect("Scala.js".isEmpty).toBeFalsy
- expect("".isEmpty).toBeTruthy
- }
-
- it("should respond to `contains`") {
- expect("Scala.js".contains("Scala")).toBeTruthy
- expect("Scala.js".contains("Scala.js")).toBeTruthy
- expect("ananas".contains("na")).toBeTruthy
- expect("Scala.js".contains("scala")).toBeFalsy
- }
-
- it("should respond to `startWith`") {
- expect("Scala.js".startsWith("Scala")).toBeTruthy
- expect("Scala.js".startsWith("Scala.js")).toBeTruthy
- expect("Scala.js".startsWith("scala")).toBeFalsy
- expect("ananas".startsWith("an")).toBeTruthy
- }
-
- it("should respond to `endsWith`") {
- expect("Scala.js".endsWith("js")).toBeTruthy
- expect("Scala.js".endsWith("Scala.js")).toBeTruthy
- expect("Scala.js".endsWith("JS")).toBeFalsy
- expect("banana".endsWith("na")).toBeTruthy
- }
-
- it("should respond to `indexOf(String)`") {
- expect("Scala.js".indexOf("js")).toBe(6)
- expect("Scala.js".indexOf("Scala.js")).toBe(0)
- expect("ananas".indexOf("na")).toBe(1)
- expect("Scala.js".indexOf("Java")).toBe(-1)
- }
-
- it("should respond to `indexOf(int)`") {
- expect("abc\uD834\uDF06def\uD834\uDF06def".indexOf(0x61)).toEqual(0)
- expect("abc\uD834\uDF06def\uD834\uDF06def".indexOf(0x1D306)).toEqual(3)
- expect("abc\uD834\uDF06def\uD834\uDF06def".indexOf(0xD834)).toEqual(3)
- expect("abc\uD834\uDF06def\uD834\uDF06def".indexOf(0xDF06)).toEqual(4)
- expect("abc\uD834\uDF06def\uD834\uDF06def".indexOf(0x64)).toEqual(5)
- }
-
- it("should respond to `lastIndexOf(String)`") {
- expect("Scala.js".lastIndexOf("Scala.js")).toBe(0)
- expect("ananas".lastIndexOf("na")).toBe(3)
- expect("Scala.js".lastIndexOf("Java")).toBe(-1)
- }
-
- it("should respond to `lastIndexOf(int)`") {
- expect("abc\uD834\uDF06def\uD834\uDF06def".lastIndexOf(0x61)).toEqual(0)
- expect("abc\uD834\uDF06def\uD834\uDF06def".lastIndexOf(0x1D306)).toEqual(8)
- expect("abc\uD834\uDF06def\uD834\uDF06def".lastIndexOf(0xD834)).toEqual(8)
- expect("abc\uD834\uDF06def\uD834\uDF06def".lastIndexOf(0xDF06)).toEqual(9)
- expect("abc\uD834\uDF06def\uD834\uDF06def".lastIndexOf(0x64)).toEqual(10)
- }
-
- it("should respond to `toUpperCase`") {
- expect("Scala.js".toUpperCase()).toBe("SCALA.JS")
- }
-
- it("should respond to `toLowerCase`") {
- expect("Scala.js".toLowerCase()).toBe("scala.js")
- }
-
- it("should respond to `charAt`") {
- expect("Scala.js".charAt(5)).toBe('.')
- expect("Scala.js".charAt(6)).not.toBe('.')
- }
-
- when("compliant-asinstanceofs").
- it("charAt() should throw with out-of-bound indices") {
- // Type Strings both as CharSequence and String. One will invoke the
- // helper, the other directly the method on RuntimeString.
- expect(() => ("Scala.js": CharSequence).charAt(-3)).toThrow
- expect(() => ("Scala.js": CharSequence).charAt(20)).toThrow
- expect(() => "Scala.js".charAt(-3)).toThrow
- expect(() => "Scala.js".charAt(20)).toThrow
- }
-
- it("should respond to `codePointAt`") {
- // String that starts with a BMP symbol
- expect("abc\uD834\uDF06def".codePointAt(0)).toEqual(0x61)
- expect("abc\uD834\uDF06def".codePointAt(3)).toEqual(0x1D306)
- expect("abc\uD834\uDF06def".codePointAt(4)).toEqual(0xDF06)
- expect("abc\uD834\uDF06def".codePointAt(5)).toEqual(0x64)
-
- // String that starts with an astral symbol
- expect("\uD834\uDF06def".codePointAt(0)).toEqual(0x1D306)
- expect("\uD834\uDF06def".codePointAt(1)).toEqual(0xDF06)
-
- // Lone high surrogates
- expect("\uD834abc".codePointAt(0)).toEqual(0xD834)
-
- // Lone low surrogates
- expect("\uDF06abc".codePointAt(0)).toEqual(0xDF06)
- }
-
- it("should respond to `subSequence`") {
- expect("Scala.js".subSequence(0, 5)).toBe("Scala")
- expect("Scala.js".subSequence(6, 8)).toBe("js")
- expect("Scala.js".subSequence(3, 5)).toBe("la")
- expect("Scala.js".subSequence(3, 3)).toBe("")
- }
-
- it("should respond to `replace`") {
- expect("Scala.js".replace(".js", "")).toBe("Scala")
- expect("Scala.js".replace("JS", "")).toBe("Scala.js")
- expect("aa".replace('a', 'b')).toBe("bb") // #25
- }
-
- it("should respond to `matches`") {
- expect("Scala.js".matches(".*js")).toBeTruthy
- expect("Scala.js".matches(".*JS")).toBeFalsy
- }
-
- it("should respond to `split`") {
- expect("Scala.js".split("a").toJSArray).toEqual(js.Array("Sc", "l", ".js"))
- expect("asdf".split("").toJSArray).toEqual(js.Array("","a","s","d","f"))
- expect("asdf".split("", -1).toJSArray).toEqual(js.Array("","a","s","d","f", ""))
- }
-
- it("should respond to `split` with char as argument") {
- expect("Scala.js".split('.').toJSArray).toEqual(js.Array("Scala","js"))
- for (i <- 0 to 32) {
- val c = i.toChar
- expect(s"blah${c}blah${c}blah${c}blah".split(c).toJSArray).toEqual(
- js.Array("blah", "blah", "blah", "blah"))
- }
- }
-
- it("should respond to `toCharArray`") {
- expect("Scala.js".toCharArray()(5)).toEqual('.')
- }
-
- it("should respond to `hashCode`") {
- expect("a`jkxzcbfaslkjfbkj,289oinkasdf".hashCode()).toEqual(-1395193631)
- expect("-34".hashCode()).toEqual(44878)
- expect("".hashCode()).toEqual(0)
- }
-
- it("should respond to `getChars`") {
- val trg = new Array[Char](10)
- "asdf_foo".getChars(2, 6, trg, 3)
- val exp = Array(0,0,0,'d','f','_','f',0,0,0)
-
- for ((i,e) <- trg zip exp) {
- expect(i).toEqual(e)
- }
- }
-
-
- it("should respond to `concat`") {
- expect("asdf".concat("fdsa")).toEqual("asdffdsa")
- }
-
- it("should respond to constructors") {
- val charArray =
- Array('a', 'b', 'c', 'd', '\uD834', '\uDF06', 'e', 'f', 'g', 'h', 'i')
- val codePointArray =
- Array(65, 0x1D306, 67, 68, 0xD834, 69, 72, 0xDF06)
-
- expect(new String()).toEqual("")
- expect(new String(charArray)).toEqual("abcd\uD834\uDF06efghi")
- expect(new String(charArray, 3, 5)).toEqual("d\uD834\uDF06ef")
- expect(new String(codePointArray, 1, 5)).toEqual("\uD834\uDF06CD\uD834E")
- expect(new String("foo")).toEqual("foo")
- expect(new String(new StringBuffer("buffer-foo"))).toEqual("buffer-foo")
- expect(new String(new java.lang.StringBuilder("builder-foo"))
- ).toEqual("builder-foo")
- }
-
- it("should provide `format`") {
- expect(String.format("%d", new Integer(5))).toEqual("5")
- expect(String.format("%05d", new Integer(5))).toEqual("00005")
- expect(String.format("%0#5x", new Integer(5))).toEqual("0x005")
- expect(String.format("%#5x", new Integer(5))).toEqual(" 0x5")
- expect(String.format("%#5X", new Integer(5))).toEqual(" 0X5")
- expect(String.format("%5d", new Integer(-10))).toEqual(" -10")
- expect(String.format("%05d", new Integer(-10))).toEqual("-0010")
- expect(String.format("%x", new Integer(-3))).toEqual("fffffffd")
- expect(String.format("%x", new java.lang.Byte(-4.toByte))).toEqual("fffffffc")
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/SystemTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/SystemTest.scala
deleted file mode 100644
index 4435e00..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/SystemTest.scala
+++ /dev/null
@@ -1,118 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import language.implicitConversions
-
-import scala.scalajs.js
-import scala.scalajs.js.JSConverters._
-
-import org.scalajs.jasminetest.JasmineTest
-
-object SystemTest extends JasmineTest {
-
- // Just in here, we allow ourselves to do this
- implicit def array2jsArray[T](arr: Array[T]): js.Array[T] = arr.toJSArray
-
- describe("java.lang.System") {
-
- it("should respond to `arraycopy`") {
- val object0 = Array[Any]("[", "b", "c", "d", "e", "f", "]")
- val object1 = Array[Any](() => true, 1, "2", '3', 4.0, true, object0)
-
- System.arraycopy(object1, 1, object0, 1, 5)
- expect(object0.mkString).toEqual("[1234true]")
-
- val string0 = Array("a", "b", "c", "d", "e", "f")
- val string1 = Array("1", "2", "3", "4")
-
- System.arraycopy(string1, 0, string0, 3, 3)
- expect(string0.mkString).toEqual("abc123")
-
- val ab01Chars = Array("ab".toCharArray, "01".toCharArray)
- val chars = new Array[Array[Char]](32)
- System.arraycopy(ab01Chars, 0, chars, 0, 2)
- for (i <- Seq(0, 2, 4, 8, 16)) {
- System.arraycopy(chars, i / 4, chars, i, i)
- }
-
- expect(chars.filter(_ == null).length).toEqual(12)
- expect(chars.filter(_ != null).map(_.mkString).mkString).
- toEqual("ab01ab0101ab01ab0101ab0101ab01ab0101ab01")
- }
-
- it("should respond to `arraycopy` with range overlaps for the same array") {
- val array = new Array[Int](10)
-
- for (i <- 1 to 6) {
- array(i) = i
- }
-
- expect(array).toEqual(Array(0, 1, 2, 3, 4, 5, 6, 0, 0, 0))
- System.arraycopy(array, 0, array, 3, 7)
- expect(array).toEqual(Array(0, 1, 2, 0, 1, 2, 3, 4, 5, 6))
-
- System.arraycopy(array, 0, array, 1, 0)
- expect(array).toEqual(Array(0, 1, 2, 0, 1, 2, 3, 4, 5, 6))
-
- System.arraycopy(array, 0, array, 1, 9)
- expect(array).toEqual(Array(0, 0, 1, 2, 0, 1, 2, 3, 4, 5))
-
- System.arraycopy(array, 1, array, 0, 9)
- expect(array).toEqual(Array(0, 1, 2, 0, 1, 2, 3, 4, 5, 5))
-
- System.arraycopy(array, 0, array, 0, 10)
- expect(array).toEqual(Array(0, 1, 2, 0, 1, 2, 3, 4, 5, 5))
-
- val reversed = array.reverse
- System.arraycopy(reversed, 5, array, 5, 5)
- expect(array).toEqual(Array(0, 1, 2, 0, 1, 1, 0, 2, 1, 0))
- }
-
- it("should provide identityHashCode") {
- /* This test is more restrictive than the spec, but we know our
- * implementation will always pass the test.
- */
- class HasIDHashCode
-
- val x1 = new HasIDHashCode
- val x2 = new HasIDHashCode
- val x1FirstHash = x1.hashCode()
- expect(x1.hashCode()).toEqual(x1FirstHash)
- expect(x1.hashCode()).not.toEqual(x2.hashCode())
- expect(x1.hashCode()).toEqual(x1FirstHash)
-
- expect(System.identityHashCode(x1)).toEqual(x1FirstHash)
- expect(System.identityHashCode(x2)).toEqual(x2.hashCode())
- }
-
- it("identityHashCode should by-pass .hashCode()") {
- val list1 = List(1, 3, 5)
- val list2 = List(1, 3, 5)
- expect(list1 == list2).toBeTruthy
- expect(list1.hashCode()).toEqual(list2.hashCode())
- expect(System.identityHashCode(list1)).not.toEqual(System.identityHashCode(list2))
- }
-
- it("identityHashCode(null)") {
- expect(System.identityHashCode(null)).toEqual(0)
- }
-
- it("identityHashCode of values implemented as JS primitives") {
- expect(System.identityHashCode("foo")).toEqual("foo".hashCode())
- expect(System.identityHashCode("")).toEqual("".hashCode())
-
- expect(System.identityHashCode(false)).toEqual(false.hashCode())
- expect(System.identityHashCode(true)).toEqual(true.hashCode())
-
- expect(System.identityHashCode(5)).toEqual(5.hashCode())
- expect(System.identityHashCode(789456)).toEqual(789456.hashCode())
- }
-
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ThrowablesTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ThrowablesTest.scala
deleted file mode 100644
index 7e53975..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/ThrowablesTest.scala
+++ /dev/null
@@ -1,90 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import org.scalajs.jasminetest.JasmineTest
-
-object ThrowablesTest extends JasmineTest {
- describe("java.lang.Throwables, java.util.Throwables") {
-
- it("should define all java.lang and java.util Errors/Exceptions") {
- new ArithmeticException()
- new ArrayIndexOutOfBoundsException()
- new ArrayStoreException()
- new ClassCastException()
- new ClassNotFoundException()
- new CloneNotSupportedException()
- // Needs an instance of java.lang.Enum.
- // import scala.language.existentials
- // new EnumConstantNotPresentException(null.asInstanceOf[Class[_ <: Enum[T] forSome { type T <: Enum[T] }]], null)
- new Exception()
- new IllegalAccessException()
- new IllegalArgumentException()
- new IllegalMonitorStateException()
- new IllegalStateException()
- new IllegalThreadStateException()
- new IndexOutOfBoundsException()
- new InstantiationException()
- new InterruptedException()
- new NegativeArraySizeException()
- new NoSuchFieldException()
- new NoSuchMethodException()
- new NullPointerException()
- new NumberFormatException()
- new RuntimeException()
- new SecurityException()
- new StringIndexOutOfBoundsException()
- new TypeNotPresentException(null, null)
- new UnsupportedOperationException()
- new AbstractMethodError()
- new AssertionError()
- new ClassCircularityError()
- new ClassFormatError()
- new Error()
- new ExceptionInInitializerError()
- new IllegalAccessError()
- new IncompatibleClassChangeError()
- new InstantiationError()
- new InternalError()
- new LinkageError()
- new NoClassDefFoundError()
- new NoSuchFieldError()
- new NoSuchMethodError()
- new OutOfMemoryError()
- new StackOverflowError()
- new UnknownError()
- new UnsatisfiedLinkError()
- new UnsupportedClassVersionError()
- new VerifyError()
- new VirtualMachineError() {}
-
- import java.util._
- new ServiceConfigurationError("")
- new ConcurrentModificationException()
- new DuplicateFormatFlagsException("")
- new EmptyStackException()
- new FormatFlagsConversionMismatchException("", '\u0000')
- new FormatterClosedException()
- new IllegalFormatCodePointException(0)
- new IllegalFormatConversionException('\u0000', new Object().getClass)
- new IllegalFormatFlagsException("")
- new IllegalFormatPrecisionException(0)
- new IllegalFormatWidthException(0)
- new InputMismatchException()
- // Needs java.io.IOException.
- // new InvalidPropertiesFormatException("")
- new MissingFormatArgumentException("")
- new MissingFormatWidthException("")
- new MissingResourceException(null, null, null)
- new NoSuchElementException()
- new TooManyListenersException()
- new UnknownFormatConversionException("")
- new UnknownFormatFlagsException("")
- }
- }
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/TimeUnitTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/TimeUnitTest.scala
deleted file mode 100644
index 79cd8a8..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/TimeUnitTest.scala
+++ /dev/null
@@ -1,135 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-import java.util.concurrent.TimeUnit
-
-object TimeUnitTest extends JasmineTest {
-
- describe("java.util.concurrent.TimeUnit") {
-
- it("should respond to `toNanos`") {
- expect(TimeUnit.NANOSECONDS.toNanos(42L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toNanos(42L)).toEqual(42000L)
- expect(TimeUnit.MILLISECONDS.toNanos(42L)).toEqual(42000000L)
- expect(TimeUnit.SECONDS.toNanos(42L)).toEqual(42000000000L)
- expect(TimeUnit.MINUTES.toNanos(42L)).toEqual(2520000000000L)
- expect(TimeUnit.HOURS.toNanos(42L)).toEqual(151200000000000L)
- expect(TimeUnit.DAYS.toNanos(42L)).toEqual(3628800000000000L)
- }
-
- it("should respond to `toMicros`") {
- expect(TimeUnit.NANOSECONDS.toMicros(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toMicros(42123L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toMicros(42L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toMicros(42L)).toEqual(42000L)
- expect(TimeUnit.SECONDS.toMicros(42L)).toEqual(42000000L)
- expect(TimeUnit.MINUTES.toMicros(42L)).toEqual(2520000000L)
- expect(TimeUnit.HOURS.toMicros(42L)).toEqual(151200000000L)
- expect(TimeUnit.DAYS.toMicros(42L)).toEqual(3628800000000L)
- }
-
- it("should respond to `toMillis`") {
- expect(TimeUnit.NANOSECONDS.toMillis(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toMillis(42000123L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toMillis(42L)).toEqual(0L)
- expect(TimeUnit.MICROSECONDS.toMillis(42123L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toMillis(42L)).toEqual(42L)
- expect(TimeUnit.SECONDS.toMillis(42L)).toEqual(42000L)
- expect(TimeUnit.MINUTES.toMillis(42L)).toEqual(2520000L)
- expect(TimeUnit.HOURS.toMillis(42L)).toEqual(151200000L)
- expect(TimeUnit.DAYS.toMillis(42L)).toEqual(3628800000L)
- }
-
- it("should respond to `toSeconds`") {
- expect(TimeUnit.NANOSECONDS.toSeconds(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toSeconds(42000000123L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toSeconds(42L)).toEqual(0L)
- expect(TimeUnit.MICROSECONDS.toSeconds(42000123L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toSeconds(42L)).toEqual(0L)
- expect(TimeUnit.MILLISECONDS.toSeconds(42123L)).toEqual(42L)
- expect(TimeUnit.SECONDS.toSeconds(42L)).toEqual(42L)
- expect(TimeUnit.MINUTES.toSeconds(42L)).toEqual(2520L)
- expect(TimeUnit.HOURS.toSeconds(42L)).toEqual(151200L)
- expect(TimeUnit.DAYS.toSeconds(42L)).toEqual(3628800L)
- }
-
- it("should respond to `toMinutes`") {
- expect(TimeUnit.NANOSECONDS.toMinutes(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toMinutes(2520000007380L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toMinutes(42L)).toEqual(0L)
- expect(TimeUnit.MICROSECONDS.toMinutes(2520007380L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toMinutes(42L)).toEqual(0L)
- expect(TimeUnit.MILLISECONDS.toMinutes(2520738L)).toEqual(42L)
- expect(TimeUnit.SECONDS.toMinutes(42L)).toEqual(0L)
- expect(TimeUnit.SECONDS.toMinutes(2520L)).toEqual(42L)
- expect(TimeUnit.MINUTES.toMinutes(42L)).toEqual(42L)
- expect(TimeUnit.HOURS.toMinutes(42L)).toEqual(2520L)
- expect(TimeUnit.DAYS.toMinutes(42L)).toEqual(60480L)
- }
-
- it("should respond to `toHours`") {
- expect(TimeUnit.NANOSECONDS.toHours(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toHours(151200000442800L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toHours(42L)).toEqual(0L)
- expect(TimeUnit.MICROSECONDS.toHours(151200442800L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toHours(42L)).toEqual(0L)
- expect(TimeUnit.MILLISECONDS.toHours(151244280L)).toEqual(42L)
- expect(TimeUnit.SECONDS.toHours(42L)).toEqual(0L)
- expect(TimeUnit.SECONDS.toHours(151200L)).toEqual(42L)
- expect(TimeUnit.MINUTES.toHours(42L)).toEqual(0L)
- expect(TimeUnit.MINUTES.toHours(2520L)).toEqual(42L)
- expect(TimeUnit.HOURS.toHours(42L)).toEqual(42L)
- expect(TimeUnit.DAYS.toHours(42L)).toEqual(1008L)
- }
-
- it("should respond to `toDays`") {
- expect(TimeUnit.NANOSECONDS.toDays(42L)).toEqual(0L)
- expect(TimeUnit.NANOSECONDS.toDays(3628800010627200L)).toEqual(42L)
- expect(TimeUnit.MICROSECONDS.toDays(42L)).toEqual(0L)
- expect(TimeUnit.MICROSECONDS.toDays(3628810627200L)).toEqual(42L)
- expect(TimeUnit.MILLISECONDS.toDays(42L)).toEqual(0L)
- expect(TimeUnit.MILLISECONDS.toDays(3629862720L)).toEqual(42L)
- expect(TimeUnit.SECONDS.toDays(42L)).toEqual(0L)
- expect(TimeUnit.SECONDS.toDays(3628800L)).toEqual(42L)
- expect(TimeUnit.MINUTES.toDays(42L)).toEqual(0L)
- expect(TimeUnit.MINUTES.toDays(60480L)).toEqual(42L)
- expect(TimeUnit.HOURS.toDays(42L)).toEqual(1L)
- expect(TimeUnit.HOURS.toDays(1008L)).toEqual(42L)
- expect(TimeUnit.DAYS.toDays(42L)).toEqual(42L)
- }
-
- it("should respond to `values`") {
- val values = TimeUnit.values()
- expect(values.length).toEqual(7)
- expectTimeUnit(values(0), TimeUnit.NANOSECONDS)
- expectTimeUnit(values(1), TimeUnit.MICROSECONDS)
- expectTimeUnit(values(2), TimeUnit.MILLISECONDS)
- expectTimeUnit(values(3), TimeUnit.SECONDS)
- expectTimeUnit(values(4), TimeUnit.MINUTES)
- expectTimeUnit(values(5), TimeUnit.HOURS)
- expectTimeUnit(values(6), TimeUnit.DAYS)
- }
-
- it("should respond to `valueOf`") {
- expectTimeUnit(TimeUnit.valueOf("NANOSECONDS"), TimeUnit.NANOSECONDS)
- expectTimeUnit(TimeUnit.valueOf("MICROSECONDS"), TimeUnit.MICROSECONDS)
- expectTimeUnit(TimeUnit.valueOf("MILLISECONDS"), TimeUnit.MILLISECONDS)
- expectTimeUnit(TimeUnit.valueOf("SECONDS"), TimeUnit.SECONDS)
- expectTimeUnit(TimeUnit.valueOf("MINUTES"), TimeUnit.MINUTES)
- expectTimeUnit(TimeUnit.valueOf("HOURS"), TimeUnit.HOURS)
- expectTimeUnit(TimeUnit.valueOf("DAYS"), TimeUnit.DAYS)
- }
-
- }
-
- def expectTimeUnit(actual: TimeUnit, expected: TimeUnit): Unit =
- expect(actual.asInstanceOf[js.Any]).toEqual(expected.asInstanceOf[js.Any])
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/URITest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/URITest.scala
deleted file mode 100644
index 65a049f..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/URITest.scala
+++ /dev/null
@@ -1,312 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-
-import java.net.URI
-
-object URITest extends JasmineTest {
-
- def expectURI(uri: URI, isAbsolute: Boolean, isOpaque: Boolean)(
- authority: String = null, fragment: String = null,
- host: String = null, path: String = null, port: Int = -1,
- query: String = null, scheme: String = null, userInfo: String = null,
- schemeSpecificPart: String = null)(rawAuthority: String = authority,
- rawFragment: String = fragment, rawPath: String = path,
- rawQuery: String = query, rawUserInfo: String = userInfo,
- rawSchemeSpecificPart: String = schemeSpecificPart): Unit = {
-
- expect(uri.getAuthority()).toBe(authority)
- expect(uri.getFragment()).toBe(fragment)
- expect(uri.getHost()).toBe(host)
- expect(uri.getPath()).toBe(path)
- expect(uri.getPort()).toBe(port)
- expect(uri.getQuery()).toBe(query)
- expect(uri.getRawAuthority()).toBe(rawAuthority)
- expect(uri.getRawFragment()).toBe(rawFragment)
- expect(uri.getRawPath()).toBe(rawPath)
- expect(uri.getRawQuery()).toBe(rawQuery)
- expect(uri.getRawSchemeSpecificPart()).toBe(rawSchemeSpecificPart)
- expect(uri.getRawUserInfo()).toBe(rawUserInfo)
- expect(uri.getScheme()).toBe(scheme)
- expect(uri.getSchemeSpecificPart()).toBe(schemeSpecificPart)
- expect(uri.getUserInfo()).toBe(userInfo)
- expect(uri.isAbsolute()).toBe(isAbsolute)
- expect(uri.isOpaque()).toBe(isOpaque)
-
- }
-
- describe("java.net.URI") {
-
- it("should parse vanilla absolute URIs") {
- expectURI(new URI("http://java.sun.com/j2se/1.3/"), true, false)(
- scheme = "http",
- host = "java.sun.com",
- path = "/j2se/1.3/",
- authority = "java.sun.com",
- schemeSpecificPart = "//java.sun.com/j2se/1.3/")()
- }
-
- it("should parse absolute URIs with IPv6") {
- val uri = new URI("http://hans@[ffff::0:128.4.5.3]:345/~hans/")
- expectURI(uri, true, false)(
- scheme = "http",
- host = "[ffff::0:128.4.5.3]",
- userInfo = "hans",
- port = 345,
- path = "/~hans/",
- authority = "hans@[ffff::0:128.4.5.3]:345",
- schemeSpecificPart = "//hans@[ffff::0:128.4.5.3]:345/~hans/"
- )()
- }
-
- it("should parse absolute URIs without authority") {
- expectURI(new URI("file:/~/calendar"), true, false)(
- scheme = "file",
- path = "/~/calendar",
- schemeSpecificPart = "/~/calendar")()
- }
-
- it("should parse absolute URIs with empty authority") {
- expectURI(new URI("file:///~/calendar"), true, false)(
- authority = "",
- scheme = "file",
- path = "/~/calendar",
- schemeSpecificPart = "///~/calendar")()
- }
-
- it("should parse opaque URIs") {
- expectURI(new URI("mailto:java-net@java.sun.com"), true, true)(
- scheme = "mailto",
- schemeSpecificPart = "java-net@java.sun.com")()
-
- expectURI(new URI("news:comp.lang.java"), true, true)(
- scheme = "news",
- schemeSpecificPart = "comp.lang.java")()
-
- expectURI(new URI("urn:isbn:096139210x"), true, true)(
- scheme = "urn",
- schemeSpecificPart = "isbn:096139210x")()
- }
-
- it("should parse relative URIs") {
- expectURI(new URI("docs/guide/collections/designfaq.html#28"), false, false)(
- path = "docs/guide/collections/designfaq.html",
- fragment = "28",
- schemeSpecificPart = "docs/guide/collections/designfaq.html#28"
- )()
- expectURI(new URI("../../../demo/jfc/SwingSet2/src/SwingSet2.java"), false, false)(
- path = "../../../demo/jfc/SwingSet2/src/SwingSet2.java",
- schemeSpecificPart = "../../../demo/jfc/SwingSet2/src/SwingSet2.java"
- )()
- }
-
- it("should parse relative URIs with IPv4") {
- expectURI(new URI("//123.5.6.3:45/bar"), false, false)(
- authority = "123.5.6.3:45",
- host = "123.5.6.3",
- port = 45,
- path = "/bar",
- schemeSpecificPart = "//123.5.6.3:45/bar"
- )()
- }
-
- it("should parse relative URIs with registry-based authority") {
- expectURI(new URI("//foo:bar"), false, false)(
- authority = "foo:bar",
- schemeSpecificPart = "//foo:bar"
- )()
- }
-
- it("should parse relative URIs with escapes") {
- expectURI(new URI("//ma%5dx:secret@example.com:8000/foo"), false, false)(
- authority = "ma]x:secret@example.com:8000",
- userInfo = "ma]x:secret",
- host = "example.com",
- port = 8000,
- path = "/foo",
- schemeSpecificPart = "//ma]x:secret@example.com:8000/foo")(
- rawUserInfo = "ma%5dx:secret",
- rawAuthority = "ma%5dx:secret@example.com:8000",
- rawSchemeSpecificPart = "//ma%5dx:secret@example.com:8000/foo")
- }
-
- it("should parse relative URIs with fragment only") {
- expectURI(new URI("#foo"), false, false)(
- fragment = "foo",
- path = "",
- schemeSpecificPart = "#foo"
- )()
- }
-
- it("should provide compareTo") {
- val x = new URI("http://example.com/asdf%6a")
- val y = new URI("http://example.com/asdf%6A")
- val z = new URI("http://example.com/asdfj")
- val rel = new URI("/foo/bar")
-
- expect(x.compareTo(y)).toBeGreaterThan(0)
- expect(x.compareTo(z)).toBeLessThan(0)
- expect(y.compareTo(z)).toBeLessThan(0)
- expect(x.compareTo(x)).toBe(0)
- expect(y.compareTo(y)).toBe(0)
- expect(z.compareTo(z)).toBe(0)
- expect(x.compareTo(rel)).toBeGreaterThan(0)
- expect(y.compareTo(rel)).toBeGreaterThan(0)
- expect(z.compareTo(rel)).toBeGreaterThan(0)
- expect(rel.compareTo(rel)).toBe(0)
- }
-
- it("should provide equals") {
- val x = new URI("http://example.com/asdf%6a")
- val y = new URI("http://example.com/asdf%6A")
- val z = new URI("http://example.com/asdfj")
-
- expect(x == y).toBeTruthy
- expect(x == z).toBeFalsy
- expect(y == z).toBeFalsy
- expect(x == x).toBeTruthy
- expect(y == y).toBeTruthy
- expect(z == z).toBeTruthy
-
- expect(new URI("foo:helloWorld%6b%6C") == new URI("foo:helloWorld%6C%6b"))
- }
-
- it("should provide normalize") {
- expectURI(new URI("http://example.com/../asef/../../").normalize, true, false)(
- scheme = "http",
- host = "example.com",
- authority = "example.com",
- path = "/../../",
- schemeSpecificPart = "//example.com/../../")()
- expectURI(new URI("http://example.com/../as/./ef/foo/../../").normalize, true, false)(
- scheme = "http",
- host = "example.com",
- authority = "example.com",
- path = "/../as/",
- schemeSpecificPart = "//example.com/../as/")()
- expectURI(new URI("bar/../fo:o/./bar").normalize, false, false)(
- path = "./fo:o/bar",
- schemeSpecificPart = "./fo:o/bar")()
- expectURI(new URI("bar/..//fo:o//./bar").normalize, false, false)(
- path = "./fo:o/bar",
- schemeSpecificPart = "./fo:o/bar")()
-
- val x = new URI("http://www.example.com/foo/bar")
- expect(x.normalize eq x).toBeTruthy
- }
-
- it("should provide resolve - JavaDoc examples") {
- val base = "http://java.sun.com/j2se/1.3/"
- val relative1 = "docs/guide/collections/designfaq.html#28"
- val resolved1 =
- "http://java.sun.com/j2se/1.3/docs/guide/collections/designfaq.html#28"
- val relative2 = "../../../demo/jfc/SwingSet2/src/SwingSet2.java"
- val resolved2 =
- "http://java.sun.com/j2se/1.3/demo/jfc/SwingSet2/src/SwingSet2.java"
-
- expect(new URI(base).resolve(relative1).toString).toEqual(resolved1)
- expect(new URI(resolved1).resolve(relative2).toString).toEqual(resolved2)
- }
-
- it("should provide resolve - RFC2396 examples") {
- val base = new URI("http://a/b/c/d;p?q")
- def resTest(ref: String, trg: String) =
- expect(base.resolve(ref).toString).toEqual(trg)
-
- // Normal examples
- resTest("g:h" , "g:h")
- resTest("g" , "http://a/b/c/g")
- resTest("./g" , "http://a/b/c/g")
- resTest("g/" , "http://a/b/c/g/")
- resTest("/g" , "http://a/g")
- resTest("//g" , "http://g")
- resTest("?y" , "http://a/b/c/?y")
- resTest("g?y" , "http://a/b/c/g?y")
- resTest("#s" , "http://a/b/c/d;p?q#s")
- resTest("g#s" , "http://a/b/c/g#s")
- resTest("g?y#s" , "http://a/b/c/g?y#s")
- resTest(";x" , "http://a/b/c/;x")
- resTest("g;x" , "http://a/b/c/g;x")
- resTest("g;x?y#s", "http://a/b/c/g;x?y#s")
- resTest("." , "http://a/b/c/")
- resTest("./" , "http://a/b/c/")
- resTest(".." , "http://a/b/")
- resTest("../" , "http://a/b/")
- resTest("../g" , "http://a/b/g")
- resTest("../.." , "http://a/")
- resTest("../../" , "http://a/")
- resTest("../../g", "http://a/g")
-
- // Abnormal examples
- resTest("../../../g" , "http://a/../g")
- resTest("../../../../g", "http://a/../../g")
- resTest("/./g" , "http://a/./g")
- resTest("/../g" , "http://a/../g")
- resTest("g." , "http://a/b/c/g.")
- resTest(".g" , "http://a/b/c/.g")
- resTest("g.." , "http://a/b/c/g..")
- resTest("..g" , "http://a/b/c/..g")
- resTest("./../g" , "http://a/b/g")
- resTest("./g/." , "http://a/b/c/g/")
- resTest("g/./h" , "http://a/b/c/g/h")
- resTest("g/../h" , "http://a/b/c/h")
- resTest("g;x=1/./y" , "http://a/b/c/g;x=1/y")
- resTest("g;x=1/../y" , "http://a/b/c/y")
- resTest("g?y/./x" , "http://a/b/c/g?y/./x")
- resTest("g?y/../x" , "http://a/b/c/g?y/../x")
- resTest("g#s/./x" , "http://a/b/c/g#s/./x")
- resTest("g#s/../x" , "http://a/b/c/g#s/../x")
- resTest("http:g" , "http:g")
- }
-
- it("should provide normalize - examples derived from RFC relativize") {
- expectURI(new URI("http://a/b/c/..").normalize, true, false)(
- scheme = "http",
- host = "a",
- authority = "a",
- path = "/b/",
- schemeSpecificPart = "//a/b/")()
-
- expectURI(new URI("http://a/b/c/.").normalize, true, false)(
- scheme = "http",
- host = "a",
- authority = "a",
- path = "/b/c/",
- schemeSpecificPart = "//a/b/c/")()
- }
-
- it("should provide relativize") {
- val x = new URI("http://f%4Aoo@asdf/a")
- val y = new URI("http://fJoo@asdf/a/b/")
- val z = new URI("http://f%4aoo@asdf/a/b/")
- expect(x.relativize(y) eq y).toBeTruthy
- expect(x.relativize(z).toString()).toEqual("b/")
-
- def relTest(base: String, trg: String, exp: String) =
- expect(new URI(base).relativize(new URI(trg)).toString()).toEqual(exp)
-
- relTest("http://a.ch/a", "http://a.ch/a/b", "b")
- relTest("http://a.ch/a/", "http://a.ch/a/b", "b")
- relTest("https://a.ch/a", "http://a.ch/a/b", "http://a.ch/a/b")
- relTest("/a/b/c", "/a/b/c/d/e", "d/e")
- relTest("/a/b/c/", "/a/b/c/d/e", "d/e")
- relTest("/a/b/c/", "/a/b/c/foo:e/d", "foo:e/d") // see bug JDK-7037120
- relTest("../a/b", "../a/b/c", "c")
- }
-
- it("should provide hashCode") {
- expect(new URI("http://example.com/asdf%6a").hashCode).toEqual(
- new URI("http://example.com/asdf%6A").hashCode)
- }
-
- }
-
-}
diff --git a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala
deleted file mode 100644
index b22fe02..0000000
--- a/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala
+++ /dev/null
@@ -1,180 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js Test Suite **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-package scala.scalajs.testsuite.javalib
-
-import scala.scalajs.js
-import org.scalajs.jasminetest.JasmineTest
-
-import java.util.UUID
-
-object UUIDTest extends JasmineTest {
- describe("java.util.UUID") {
- it("constructor") {
- val uuid = new UUID(0xf81d4fae7dec11d0L, 0xa76500a0c91e6bf6L)
- expect(uuid.getMostSignificantBits() == 0xf81d4fae7dec11d0L).toBeTruthy
- expect(uuid.getLeastSignificantBits() == 0xa76500a0c91e6bf6L).toBeTruthy
- expect(uuid.variant()).toEqual(2)
- expect(uuid.version()).toEqual(1)
- expect(uuid.timestamp() == 0x1d07decf81d4faeL).toBeTruthy
- expect(uuid.clockSequence()).toEqual(0x2765)
- expect(uuid.node() == 0xA0C91E6BF6L).toBeTruthy
- }
-
- it("getLeastSignificantBits") {
- expect(new UUID(0L, 0L).getLeastSignificantBits() == 0L).toBeTruthy
- expect(new UUID(0L, Long.MinValue).getLeastSignificantBits() == Long.MinValue).toBeTruthy
- expect(new UUID(0L, Long.MaxValue).getLeastSignificantBits() == Long.MaxValue).toBeTruthy
- }
-
- it("getMostSignificantBits") {
- expect(new UUID(0L, 0L).getMostSignificantBits() == 0L).toBeTruthy
- expect(new UUID(Long.MinValue, 0L).getMostSignificantBits() == Long.MinValue).toBeTruthy
- expect(new UUID(Long.MaxValue, 0L).getMostSignificantBits() == Long.MaxValue).toBeTruthy
- }
-
- it("version") {
- expect(new UUID(0L, 0L).version()).toEqual(0)
- expect(new UUID(0x0000000000001000L, 0L).version()).toEqual(1)
- expect(new UUID(0x00000000000f2f00L, 0L).version()).toEqual(2)
- }
-
- it("variant") {
- expect(new UUID(0L, 0L).variant()).toEqual(0)
- expect(new UUID(0L, 0x7000000000000000L).variant()).toEqual(0)
- expect(new UUID(0L, 0x3ff0000000000000L).variant()).toEqual(0)
- expect(new UUID(0L, 0x1ff0000000000000L).variant()).toEqual(0)
-
- expect(new UUID(0L, 0x8000000000000000L).variant()).toEqual(2)
- expect(new UUID(0L, 0xb000000000000000L).variant()).toEqual(2)
- expect(new UUID(0L, 0xaff0000000000000L).variant()).toEqual(2)
- expect(new UUID(0L, 0x9ff0000000000000L).variant()).toEqual(2)
-
- expect(new UUID(0L, 0xc000000000000000L).variant()).toEqual(6)
- expect(new UUID(0L, 0xdf00000000000000L).variant()).toEqual(6)
- }
-
- it("timestamp") {
- expect(new UUID(0x0000000000001000L,
- 0x8000000000000000L).timestamp() == 0L).toBeTruthy
- expect(new UUID(0x7777777755551333L,
- 0x8000000000000000L).timestamp() == 0x333555577777777L).toBeTruthy
-
- expect(() => new UUID(0x0000000000000000L, 0x8000000000000000L).timestamp()).toThrow
- expect(() => new UUID(0x0000000000002000L, 0x8000000000000000L).timestamp()).toThrow
- }
-
- it("clockSequence") {
- expect(new UUID(0x0000000000001000L, 0x8000000000000000L).clockSequence()).toEqual(0)
- expect(new UUID(0x0000000000001000L, 0x8fff000000000000L).clockSequence()).toEqual(0x0fff)
- expect(new UUID(0x0000000000001000L, 0xBfff000000000000L).clockSequence()).toEqual(0x3fff)
-
- expect(() => new UUID(0x0000000000000000L, 0x8000000000000000L).clockSequence()).toThrow
- expect(() => new UUID(0x0000000000002000L, 0x8000000000000000L).clockSequence()).toThrow
- }
-
- it("node") {
- expect(new UUID(0x0000000000001000L, 0x8000000000000000L).node() == 0L).toBeTruthy
- expect(new UUID(0x0000000000001000L, 0x8000ffffffffffffL).node() == 0xffffffffffffL).toBeTruthy
-
- expect(() => new UUID(0x0000000000000000L, 0x8000000000000000L).node()).toThrow
- expect(() => new UUID(0x0000000000002000L, 0x8000000000000000L).node()).toThrow
- }
-
- it("compareTo") {
- val uuid0101 = new UUID(1L, 1L)
- val uuid0111 = new UUID(1L, 0x100000001L)
- val uuid1000 = new UUID(0x100000000L, 0L)
-
- expect(uuid0101.compareTo(uuid0101)).toEqual(0)
- expect(uuid0111.compareTo(uuid0111)).toEqual(0)
- expect(uuid1000.compareTo(uuid1000)).toEqual(0)
-
- expect(uuid0101.compareTo(uuid0111)).toBeLessThan(0)
- expect(uuid0101.compareTo(uuid1000)).toBeLessThan(0)
- expect(uuid0111.compareTo(uuid1000)).toBeLessThan(0)
-
- expect(uuid0111.compareTo(uuid0101)).toBeGreaterThan(0)
- expect(uuid1000.compareTo(uuid0101)).toBeGreaterThan(0)
- expect(uuid1000.compareTo(uuid0111)).toBeGreaterThan(0)
- }
-
- it("hashCode") {
- expect(new UUID(0L, 0L).hashCode()).toEqual(0)
- expect(new UUID(123L, 123L).hashCode()).toEqual(new UUID(123L, 123L).hashCode())
- }
-
- it("equals") {
- val uuid1 = new UUID(0L, 0L)
- expect(uuid1.equals(uuid1)).toBeTruthy
- expect(uuid1.equals(null)).toBeFalsy
- expect(uuid1.equals("something else")).toBeFalsy
-
- val uuid2 = new UUID(0L, 0L)
- expect(uuid1.equals(uuid2)).toBeTruthy
-
- val uuid3 = new UUID(0xf81d4fae7dec11d0L, 0xa76500a0c91e6bf6L)
- val uuid4 = new UUID(0xf81d4fae7dec11d0L, 0xa76500a0c91e6bf6L)
- expect(uuid3.equals(uuid4)).toBeTruthy
- expect(uuid3.equals(uuid1)).toBeFalsy
-
- expect(uuid3.equals(new UUID(0x781d4fae7dec11d0L, 0xa76500a0c91e6bf6L))).toBeFalsy
- expect(uuid3.equals(new UUID(0xf81d4fae7dec11d1L, 0xa76500a0c91e6bf6L))).toBeFalsy
- expect(uuid3.equals(new UUID(0xf81d4fae7dec11d0L, 0xa76530a0c91e6bf6L))).toBeFalsy
- expect(uuid3.equals(new UUID(0xf81d4fae7dec11d0L, 0xa76500a0c91e6cf6L))).toBeFalsy
- }
-
- it("toString") {
- expect(new UUID(0xf81d4fae7dec11d0L,
- 0xa76500a0c91e6bf6L).toString()).toEqual("f81d4fae-7dec-11d0-a765-00a0c91e6bf6")
- expect(new UUID(0x0000000000001000L,
- 0x8000000000000000L).toString()).toEqual("00000000-0000-1000-8000-000000000000")
- }
-
- it("randomUUID") {
- val uuid = UUID.randomUUID()
- expect(uuid.variant()).toEqual(2)
- expect(uuid.version()).toEqual(4)
- }
-
- it("fromString") {
- val uuid1 = UUID.fromString("f81d4fae-7dec-11d0-a765-00a0c91e6bf6")
- expect(uuid1.equals(new UUID(0xf81d4fae7dec11d0L, 0xa76500a0c91e6bf6L))).toBeTruthy
- expect(uuid1.getMostSignificantBits() == 0xf81d4fae7dec11d0L).toBeTruthy
- expect(uuid1.getLeastSignificantBits() == 0xa76500a0c91e6bf6L).toBeTruthy
- expect(uuid1.variant()).toEqual(2)
- expect(uuid1.version()).toEqual(1)
- expect(uuid1.timestamp() == 130742845922168750L).toBeTruthy
- expect(uuid1.clockSequence()).toEqual(10085)
- expect(uuid1.node() == 690568981494L).toBeTruthy
-
- val uuid2 = UUID.fromString("00000000-0000-1000-8000-000000000000")
- expect(uuid2.equals(new UUID(0x0000000000001000L, 0x8000000000000000L)))
- expect(uuid2.getMostSignificantBits() == 0x0000000000001000L).toBeTruthy
- expect(uuid2.getLeastSignificantBits() == 0x8000000000000000L).toBeTruthy
- expect(uuid2.variant()).toEqual(2)
- expect(uuid2.version()).toEqual(1)
- expect(uuid2.timestamp() == 0L).toBeTruthy
- expect(uuid2.clockSequence()).toEqual(0)
- expect(uuid2.node() == 0L).toBeTruthy
-
- expect(() => UUID.fromString(null)).toThrow
- expect(() => UUID.fromString("")).toThrow
- expect(() => UUID.fromString("f81d4fae_7dec-11d0-a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec_11d0-a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec-11d0_a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec-11d0-a765_00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("-7dec-11d0-a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae--11d0-a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec--a765-00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec-11d0--00a0c91e6bf6")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec-11d0-a765-")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dec-11d0-a765")).toThrow
- expect(() => UUID.fromString("f81d4fae-7dZc-11d0-a765-00a0c91e6bf6")).toThrow
- }
- }
-}