remove escaping of single quotes in strings

This commit is contained in:
alisdair sullivan 2013-03-03 15:27:39 -08:00
parent 89da64168c
commit 40fd913238
2 changed files with 2 additions and 16 deletions

View file

@ -295,7 +295,7 @@ string(<<?singlequote, Rest/binary>>, Handler, Acc, Stack, Config) ->
; [single_quote|S] ->
maybe_done(Rest, handle_event({string, end_seq(Acc)}, Handler, Config), S, Config)
; _ ->
string(Rest, Handler, acc_seq(Acc, maybe_replace(?singlequote, Config)), Stack, Config)
string(Rest, Handler, acc_seq(Acc, ?singlequote), Stack, Config)
end;
string(<<40, Rest/binary>>, Handler, Acc, Stack, Config) ->
string(Rest, Handler, acc_seq(Acc, 40), Stack, Config);
@ -661,11 +661,6 @@ maybe_replace($\n, #config{escaped_strings=true}) -> [$\\, $n];
maybe_replace($\f, #config{escaped_strings=true}) -> [$\\, $f];
maybe_replace($\r, #config{escaped_strings=true}) -> [$\\, $r];
maybe_replace($\", #config{escaped_strings=true}) -> [$\\, $\"];
maybe_replace($', Config=#config{escaped_strings=true}) ->
case Config#config.single_quoted_strings of
true -> [$\\, $']
; false -> [$']
end;
maybe_replace($/, Config=#config{escaped_strings=true}) ->
case Config#config.escaped_forward_slashes of
true -> [$\\, $/]
@ -1771,10 +1766,6 @@ single_quoted_string_test_() ->
[{string, <<"quoth the raven, 'nevermore'">>}, end_json],
decode(<<39, "quoth the raven, \\'nevermore\\'", 39>>, [single_quoted_strings])
)},
{"escape single quote", ?_assertEqual(
[{string, <<"quoth the raven, \\'nevermore\\'">>}, end_json],
decode(<<39, "quoth the raven, \\'nevermore\\'", 39>>, [single_quoted_strings, escaped_strings])
)},
{"single quoted key", ?_assertEqual(
[start_object,
{key, <<"key">>}, {string, <<"value">>},

View file

@ -345,7 +345,7 @@ clean(<<35, Rest/binary>>, Acc, Config) -> clean(Rest, [35] ++ Acc, Config);
clean(<<36, Rest/binary>>, Acc, Config) -> clean(Rest, [36] ++ Acc, Config);
clean(<<37, Rest/binary>>, Acc, Config) -> clean(Rest, [37] ++ Acc, Config);
clean(<<38, Rest/binary>>, Acc, Config) -> clean(Rest, [38] ++ Acc, Config);
clean(<<39, Rest/binary>>, Acc, Config) -> clean(Rest, maybe_replace(39, Config) ++ Acc, Config);
clean(<<39, Rest/binary>>, Acc, Config) -> clean(Rest, [39] ++ Acc, Config);
clean(<<40, Rest/binary>>, Acc, Config) -> clean(Rest, [40] ++ Acc, Config);
clean(<<41, Rest/binary>>, Acc, Config) -> clean(Rest, [41] ++ Acc, Config);
clean(<<42, Rest/binary>>, Acc, Config) -> clean(Rest, [42] ++ Acc, Config);
@ -509,11 +509,6 @@ maybe_replace($\n, #config{escaped_strings=true}) -> [$n, $\\];
maybe_replace($\f, #config{escaped_strings=true}) -> [$f, $\\];
maybe_replace($\r, #config{escaped_strings=true}) -> [$r, $\\];
maybe_replace($\", #config{escaped_strings=true}) -> [$\", $\\];
maybe_replace($', Config=#config{escaped_strings=true}) ->
case Config#config.single_quoted_strings of
true -> [$', $\\]
; false -> [$']
end;
maybe_replace($/, Config=#config{escaped_strings=true}) ->
case Config#config.escaped_forward_slashes of
true -> [$/, $\\]