From fbd90e4df7165c4f8d4dd7857d8061a0b416e350 Mon Sep 17 00:00:00 2001 From: alisdair sullivan Date: Tue, 19 Feb 2013 15:09:28 -0800 Subject: [PATCH] tighten input/output of maybe_escape --- src/jsx_utils.erl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/jsx_utils.erl b/src/jsx_utils.erl index 8184423..105082d 100644 --- a/src/jsx_utils.erl +++ b/src/jsx_utils.erl @@ -505,9 +505,9 @@ strip_continuations(<>, N) when X >= 128, X =< 191 -> strip_continuations(Bin, _) -> Bin. -maybe_escape(String, #config{dirty_strings=true}) -> String; -maybe_escape(String, #config{escaped_strings=true} = Config) -> escape(String, Config); -maybe_escape(String, _Config) -> String. +maybe_escape(Escaped, #config{dirty_strings=true}) -> <>; +maybe_escape(Escaped, #config{escaped_strings=true} = Config) -> escape(Escaped, Config); +maybe_escape(Escaped, _Config) -> <>. escape($\b, _) -> <<"\\b">>; escape($\t, _) -> <<"\\t">>; @@ -774,6 +774,10 @@ escape_test_() -> <<"\\b">>, maybe_escape(16#0008, #config{escaped_strings=true}) )}, + {"don't escape backspace", ?_assertEqual( + <<"\b">>, + maybe_escape(16#0008, #config{}) + )}, {"maybe_escape tab", ?_assertEqual( <<"\\t">>, maybe_escape(16#0009, #config{escaped_strings=true}) @@ -932,7 +936,7 @@ escape_test_() -> )}, {"dirty strings", ?_assertEqual( <<0>>, - maybe_escape(<<0>>, #config{escaped_strings=true, dirty_strings=true}) + maybe_escape(16#0000, #config{escaped_strings=true, dirty_strings=true}) )} ].