- % This file is part of Jiffy released under the MIT license.
- % See the LICENSE file for more information.
-
- -module(jiffy_17_copy_strings_tests).
-
- -include_lib("eunit/include/eunit.hrl").
-
-
- check_binaries({Props}) when is_list(Props) ->
- lists:all(fun({Key, Value}) ->
- check_binaries(Key) andalso check_binaries(Value)
- end, Props);
- check_binaries(Values) when is_list(Values) ->
- lists:all(fun(Value) ->
- check_binaries(Value)
- end, Values);
- check_binaries(Bin) when is_binary(Bin) ->
- io:format("~s :: ~p ~p", [Bin, byte_size(Bin), binary:referenced_byte_size(Bin)]),
- byte_size(Bin) == binary:referenced_byte_size(Bin);
- check_binaries(_Bin) ->
- true.
-
-
- copy_strings_test_() ->
- Opts = [copy_strings],
- Cases = [
- <<"\"foo\"">>,
- <<"[\"bar\"]">>,
- <<"{\"foo\":\"bar\"}">>,
- <<"{\"foo\":[\"bar\"]}">>
- ],
- {"Test copy_strings", lists:map(fun(Json) ->
- EJson = jiffy:decode(Json, Opts),
- ?_assert(check_binaries(EJson))
- end, Cases)}.
|