summaryrefslogtreecommitdiff
path: root/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala')
-rw-r--r--examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala180
1 files changed, 180 insertions, 0 deletions
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
new file mode 100644
index 0000000..b22fe02
--- /dev/null
+++ b/examples/scala-js/test-suite/src/test/scala/scala/scalajs/testsuite/javalib/UUIDTest.scala
@@ -0,0 +1,180 @@
+/* __ *\
+** ________ ___ / / ___ __ ____ 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
+ }
+ }
+}