From b9c5163f5c33574e88a608f6d393ceb9128b8f1c Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Mon, 19 Nov 2012 13:49:10 -0800 Subject: Add broken test: \u0001 -> \u001 --- src/test/scala/spray/json/CompactPrinterSpec.scala | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/test/scala') diff --git a/src/test/scala/spray/json/CompactPrinterSpec.scala b/src/test/scala/spray/json/CompactPrinterSpec.scala index c00512d..add9fa6 100644 --- a/src/test/scala/spray/json/CompactPrinterSpec.scala +++ b/src/test/scala/spray/json/CompactPrinterSpec.scala @@ -50,6 +50,10 @@ class CompactPrinterSpec extends Specification { } "properly escape special chars in JsString" in { CompactPrinter(JsString("\"\\\b\f\n\r\t\u12AB")) mustEqual """"\"\\\b\f\n\r\t""" + "\\u12ab\"" + CompactPrinter(JsString("\u1000")) mustEqual "\"\\u1000\"" + CompactPrinter(JsString("\u0100")) mustEqual "\"\\u0100\"" + CompactPrinter(JsString("\u0010")) mustEqual "\"\\u0010\"" + CompactPrinter(JsString("\u0001")) mustEqual "\"\\u0001\"" // FIXME } "properly print a simple JsObject" in ( CompactPrinter(JsObject("key" -> JsNumber(42), "key2" -> JsString("value"))) -- cgit v1.2.3 From 7e791d2efd6899d03bf8c200ce29b51112d5465b Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Mon, 19 Nov 2012 13:50:26 -0800 Subject: Fix: \u0001 -> \u0001 --- src/main/scala/spray/json/JsonPrinter.scala | 1 + src/test/scala/spray/json/CompactPrinterSpec.scala | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src/test/scala') diff --git a/src/main/scala/spray/json/JsonPrinter.scala b/src/main/scala/spray/json/JsonPrinter.scala index 23529f3..258c881 100644 --- a/src/main/scala/spray/json/JsonPrinter.scala +++ b/src/main/scala/spray/json/JsonPrinter.scala @@ -67,6 +67,7 @@ trait JsonPrinter extends (JsValue => String) { case '\n' => sb.append("\\n") case '\r' => sb.append("\\r") case '\t' => sb.append("\\t") + case x if x <= 0xF => sb.append("\\u000").append(Integer.toHexString(x)) case x if x <= 0xFF => sb.append("\\u00").append(Integer.toHexString(x)) case x if x <= 0xFFF => sb.append("\\u0").append(Integer.toHexString(x)) case x => sb.append("\\u").append(Integer.toHexString(x)) diff --git a/src/test/scala/spray/json/CompactPrinterSpec.scala b/src/test/scala/spray/json/CompactPrinterSpec.scala index add9fa6..5485d7d 100644 --- a/src/test/scala/spray/json/CompactPrinterSpec.scala +++ b/src/test/scala/spray/json/CompactPrinterSpec.scala @@ -53,7 +53,7 @@ class CompactPrinterSpec extends Specification { CompactPrinter(JsString("\u1000")) mustEqual "\"\\u1000\"" CompactPrinter(JsString("\u0100")) mustEqual "\"\\u0100\"" CompactPrinter(JsString("\u0010")) mustEqual "\"\\u0010\"" - CompactPrinter(JsString("\u0001")) mustEqual "\"\\u0001\"" // FIXME + CompactPrinter(JsString("\u0001")) mustEqual "\"\\u0001\"" } "properly print a simple JsObject" in ( CompactPrinter(JsObject("key" -> JsNumber(42), "key2" -> JsString("value"))) -- cgit v1.2.3