- % This file is part of Jiffy released under the MIT license.
- % See the LICENSE file for more information.
-
- -module(jiffy_01_yajl_tests).
-
-
- -include_lib("eunit/include/eunit.hrl").
- -include("jiffy_util.hrl").
-
-
- yajl_test_() ->
- Cases = read_cases(),
- [gen(Case) || Case <- Cases].
-
-
- gen({Name, Json, {error, Erl}}) ->
- {Name, ?_assertError(Erl, jiffy:decode(Json))};
- gen({Name, Json, Erl}) ->
- {Name, ?_assertEqual(Erl, jiffy:decode(Json))}.
-
-
- read_cases() ->
- CasesPath = cases_path("*.json"),
- FileNames = lists:sort(filelib:wildcard(CasesPath)),
- lists:map(fun(F) -> make_pair(F) end, FileNames).
-
-
- make_pair(FileName) ->
- {ok, Json} = file:read_file(FileName),
- BaseName = filename:rootname(FileName),
- ErlFname = BaseName ++ ".eterm",
- {ok, [Term]} = file:consult(ErlFname),
- {filename:basename(BaseName), Json, Term}.
|