From ccd6c4281fb0ddd0a74b79aa24f85834f5c9647a Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Mon, 10 Sep 2018 19:05:58 -0400 Subject: Add `@@ Trimmed` tag for Strings and Names to support by JSON readers (#211) --- src/test/scala/xyz/driver/core/JsonTest.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/test/scala/xyz/driver/core/JsonTest.scala') diff --git a/src/test/scala/xyz/driver/core/JsonTest.scala b/src/test/scala/xyz/driver/core/JsonTest.scala index 49098fa..9a079b2 100644 --- a/src/test/scala/xyz/driver/core/JsonTest.scala +++ b/src/test/scala/xyz/driver/core/JsonTest.scala @@ -53,6 +53,13 @@ class JsonTest extends WordSpec with Matchers with Inspectors { val parsedId: Id[JsonTest] @@ Irrelevant = format.read(writtenJson) parsedId shouldBe reference } + + "read and write correct JSON when there's an implicit conversion defined" in { + JsString(" some string ").convertTo[String @@ Trimmed] shouldBe "some string" + + val trimmed: String @@ Trimmed = " some string " + trimmed.toJson shouldBe JsString("some string") + } } "Json format for Name" should { @@ -66,6 +73,14 @@ class JsonTest extends WordSpec with Matchers with Inspectors { val parsedName = json.nameFormat.read(writtenJson) parsedName should be(referenceName) } + + "read and write correct JSON for Name @@ Trimmed" in { + trait Irrelevant + JsString(" some name ").convertTo[Name[Irrelevant] @@ Trimmed] shouldBe Name[Irrelevant]("some name") + + val trimmed: Name[Irrelevant] @@ Trimmed = Name(" some name ") + trimmed.toJson shouldBe JsString("some name") + } } "Json format for NonEmptyName" should { -- cgit v1.2.3