You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB

  1. % This file is part of Jiffy released under the MIT license.
  2. % See the LICENSE file for more information.
  3. -module(jiffy_02_literal_tests).
  4. -include_lib("eunit/include/eunit.hrl").
  5. true_test_() ->
  6. {"true", [
  7. {"Decode", ?_assertEqual(true, jiffy:decode(<<"true">>))},
  8. {"Encode", ?_assertEqual(<<"true">>, jiffy:encode(true))}
  9. ]}.
  10. false_test_() ->
  11. {"false", [
  12. {"Decode", ?_assertEqual(false, jiffy:decode(<<"false">>))},
  13. {"Encode", ?_assertEqual(<<"false">>, jiffy:encode(false))}
  14. ]}.
  15. null_test_() ->
  16. {"null", [
  17. {"Decode", ?_assertEqual(null, jiffy:decode(<<"null">>))},
  18. {"Encode", ?_assertEqual(<<"null">>, jiffy:encode(null))}
  19. ]}.
  20. nil_test_() ->
  21. {"null", [
  22. {"Decode", ?_assertEqual(nil, jiffy:decode(<<"null">>, [use_nil]))},
  23. {"Encode", ?_assertEqual(<<"null">>, jiffy:encode(nil, [use_nil]))}
  24. ]}.
  25. null_term_test_() ->
  26. T = [
  27. {undefined, [{null_term, undefined}]},
  28. {whatever, [{null_term, whatever}]},
  29. {undefined, [use_nil, {null_term, undefined}]},
  30. {nil, [{null_term, undefined}, use_nil]},
  31. {whatever, [{null_term, undefined}, {null_term, whatever}]}
  32. ],
  33. {"null_term",
  34. [?_assertEqual(R, jiffy:decode(<<"null">>, O)) || {R, O} <- T]}.