Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 

35 řádky
1.0 KiB

% 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)}.