summaryrefslogtreecommitdiff
path: root/src/test/scala/cc/spray/json/BasicFormatsSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/cc/spray/json/BasicFormatsSpec.scala')
-rw-r--r--src/test/scala/cc/spray/json/BasicFormatsSpec.scala70
1 files changed, 55 insertions, 15 deletions
diff --git a/src/test/scala/cc/spray/json/BasicFormatsSpec.scala b/src/test/scala/cc/spray/json/BasicFormatsSpec.scala
index fcae4bb..f873948 100644
--- a/src/test/scala/cc/spray/json/BasicFormatsSpec.scala
+++ b/src/test/scala/cc/spray/json/BasicFormatsSpec.scala
@@ -1,3 +1,19 @@
+/*
+ * Copyright (C) 2011 Mathias Doenitz
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package cc.spray.json
import org.specs2.mutable._
@@ -9,7 +25,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
42.toJson mustEqual JsNumber(42)
}
"convert a JsNumber to an Int" in {
- JsNumber(42).fromJson[Int] mustEqual 42
+ JsNumber(42).convertTo[Int] mustEqual 42
}
}
@@ -18,7 +34,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
42L.toJson mustEqual JsNumber(42L)
}
"convert a JsNumber to a Long" in {
- JsNumber(42L).fromJson[Long] mustEqual 42L
+ JsNumber(42L).convertTo[Long] mustEqual 42L
}
}
@@ -26,8 +42,20 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
"convert a Float to a JsNumber" in {
4.2f.toJson mustEqual JsNumber(4.2f)
}
+ "convert a Float.NaN to a JsNull" in {
+ Float.NaN.toJson mustEqual JsNull
+ }
+ "convert a Float.PositiveInfinity to a JsNull" in {
+ Float.PositiveInfinity.toJson mustEqual JsNull
+ }
+ "convert a Float.NegativeInfinity to a JsNull" in {
+ Float.NegativeInfinity.toJson mustEqual JsNull
+ }
"convert a JsNumber to a Float" in {
- JsNumber(4.2f).fromJson[Float] mustEqual 4.2f
+ JsNumber(4.2f).convertTo[Float] mustEqual 4.2f
+ }
+ "convert a JsNull to a Float" in {
+ JsNull.convertTo[Float].isNaN mustEqual Float.NaN.isNaN
}
}
@@ -35,8 +63,20 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
"convert a Double to a JsNumber" in {
4.2.toJson mustEqual JsNumber(4.2)
}
+ "convert a Double.NaN to a JsNull" in {
+ Double.NaN.toJson mustEqual JsNull
+ }
+ "convert a Double.PositiveInfinity to a JsNull" in {
+ Double.PositiveInfinity.toJson mustEqual JsNull
+ }
+ "convert a Double.NegativeInfinity to a JsNull" in {
+ Double.NegativeInfinity.toJson mustEqual JsNull
+ }
"convert a JsNumber to a Double" in {
- JsNumber(4.2).fromJson[Double] mustEqual 4.2
+ JsNumber(4.2).convertTo[Double] mustEqual 4.2
+ }
+ "convert a JsNull to a Double" in {
+ JsNull.convertTo[Double].isNaN mustEqual Double.NaN.isNaN
}
}
@@ -45,7 +85,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
42.asInstanceOf[Byte].toJson mustEqual JsNumber(42)
}
"convert a JsNumber to a Byte" in {
- JsNumber(42).fromJson[Byte] mustEqual 42
+ JsNumber(42).convertTo[Byte] mustEqual 42
}
}
@@ -54,7 +94,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
42.asInstanceOf[Short].toJson mustEqual JsNumber(42)
}
"convert a JsNumber to a Short" in {
- JsNumber(42).fromJson[Short] mustEqual 42
+ JsNumber(42).convertTo[Short] mustEqual 42
}
}
@@ -63,7 +103,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
BigDecimal(42).toJson mustEqual JsNumber(42)
}
"convert a JsNumber to a BigDecimal" in {
- JsNumber(42).fromJson[BigDecimal] mustEqual BigDecimal(42)
+ JsNumber(42).convertTo[BigDecimal] mustEqual BigDecimal(42)
}
}
@@ -72,7 +112,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
BigInt(42).toJson mustEqual JsNumber(42)
}
"convert a JsNumber to a BigInt" in {
- JsNumber(42).fromJson[BigInt] mustEqual BigInt(42)
+ JsNumber(42).convertTo[BigInt] mustEqual BigInt(42)
}
}
@@ -81,15 +121,15 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
().toJson mustEqual JsNumber(1)
}
"convert a JsNumber to Unit" in {
- JsNumber(1).fromJson[Unit] mustEqual ()
+ JsNumber(1).convertTo[Unit] mustEqual ()
}
}
"The BooleanJsonFormat" should {
"convert true to a JsTrue" in { true.toJson mustEqual JsTrue }
"convert false to a JsFalse" in { false.toJson mustEqual JsFalse }
- "convert a JsTrue to true" in { JsTrue.fromJson[Boolean] mustEqual true }
- "convert a JsFalse to false" in { JsFalse.fromJson[Boolean] mustEqual false }
+ "convert a JsTrue to true" in { JsTrue.convertTo[Boolean] mustEqual true }
+ "convert a JsFalse to false" in { JsFalse.convertTo[Boolean] mustEqual false }
}
"The CharJsonFormat" should {
@@ -97,7 +137,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
'c'.toJson mustEqual JsString("c")
}
"convert a JsString to a Char" in {
- JsString("c").fromJson[Char] mustEqual 'c'
+ JsString("c").convertTo[Char] mustEqual 'c'
}
}
@@ -106,7 +146,7 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
"Hello".toJson mustEqual JsString("Hello")
}
"convert a JsString to a String" in {
- JsString("Hello").fromJson[String] mustEqual "Hello"
+ JsString("Hello").convertTo[String] mustEqual "Hello"
}
}
@@ -115,8 +155,8 @@ class BasicFormatsSpec extends Specification with DefaultJsonProtocol {
'Hello.toJson mustEqual JsString("Hello")
}
"convert a JsString to a Symbol" in {
- JsString("Hello").fromJson[Symbol] mustEqual 'Hello
+ JsString("Hello").convertTo[Symbol] mustEqual 'Hello
}
}
-} \ No newline at end of file
+}