yamerl/test/construction/bool.erl

378 lines
14 KiB
Erlang
Raw Normal View History

-module(bool).
-include_lib("eunit/include/eunit.hrl").
-define(FILENAME, "test/construction/" ?MODULE_STRING ".yaml").
setup() ->
application:start(yamerl).
schema_failsafe_simple_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
[
"true", "True", "TRUE",
"y", "Y",
"yes", "Yes", "YES",
"on", "On", "ON",
"false", "False", "FALSE",
"n", "N",
"no", "No", "NO",
"off", "Off", "OFF",
"Not a bool"
]
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, false}, {schema, failsafe}])
)
]
}.
schema_json_simple_test_() ->
{setup,
fun setup/0,
[
?_assertThrow(
{yamerl_exception, [
{yamerl_parsing_error,error, "Invalid string", 2, 3, not_a_string,
{yamerl_scalar, 2, 3,
{yamerl_tag, 2, 3, {non_specific, "?"}},
flow, plain, "True"},
[]}]},
yamerl_constr:file(?FILENAME,
[{detailed_constr, false}, {schema, json}])
)
]
}.
schema_core_simple_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
[
true, true, true,
"y", "Y",
"yes", "Yes", "YES",
"on", "On", "ON",
false, false, false,
"n", "N",
"no", "No", "NO",
"off", "Off", "OFF",
"Not a bool"
]
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, false}, {schema, core}])
)
]
}.
schema_failsafe_bool_ext_simple_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
[
true, true, true,
true, true,
true, true, true,
true, true, true,
false, false, false,
false, false,
false, false, false,
false, false, false,
"Not a bool"
]
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, false}, {schema, failsafe},
{node_mods, [yamerl_node_bool_ext]}])
)
]
}.
schema_failsafe_detailed_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
{yamerl_doc,
{yamerl_seq,yamerl_node_seq,"tag:yaml.org,2002:seq",
[{line,1},{column,1}],
[{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,1},{column,3}],
"true"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,2},{column,3}],
"True"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,3},{column,3}],
"TRUE"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,4},{column,3}],
"y"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,5},{column,3}],
"Y"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,6},{column,3}],
"yes"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,7},{column,3}],
"Yes"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,8},{column,3}],
"YES"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,9},{column,3}],
"on"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,10},{column,3}],
"On"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,11},{column,3}],
"ON"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,13},{column,3}],
"false"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,14},{column,3}],
"False"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,15},{column,3}],
"FALSE"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,16},{column,3}],
"n"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,17},{column,3}],
"N"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,18},{column,3}],
"no"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,19},{column,3}],
"No"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,20},{column,3}],
"NO"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,21},{column,3}],
"off"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,22},{column,3}],
"Off"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,23},{column,3}],
"OFF"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,25},{column,3}],
"Not a bool"}],
23}
}
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, true}, {schema, failsafe}])
)
]
}.
schema_json_detailed_test_() ->
{setup,
fun setup/0,
[
?_assertThrow(
{yamerl_exception, [
{yamerl_parsing_error,error, "Invalid string", 2, 3, not_a_string,
{yamerl_scalar, 2, 3,
{yamerl_tag, 2, 3, {non_specific, "?"}},
flow, plain, "True"},
[]}]},
yamerl_constr:file(?FILENAME,
[{detailed_constr, true}, {schema, json}])
)
]
}.
schema_core_detailed_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
{yamerl_doc,
{yamerl_seq,yamerl_node_seq,"tag:yaml.org,2002:seq",
[{line,1},{column,1}],
[{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,1},{column,3}],
true},
{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,2},{column,3}],
true},
{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,3},{column,3}],
true},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,4},{column,3}],
"y"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,5},{column,3}],
"Y"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,6},{column,3}],
"yes"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,7},{column,3}],
"Yes"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,8},{column,3}],
"YES"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,9},{column,3}],
"on"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,10},{column,3}],
"On"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,11},{column,3}],
"ON"},
{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,13},{column,3}],
false},
{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,14},{column,3}],
false},
{yamerl_bool,yamerl_node_bool,"tag:yaml.org,2002:bool",
[{line,15},{column,3}],
false},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,16},{column,3}],
"n"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,17},{column,3}],
"N"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,18},{column,3}],
"no"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,19},{column,3}],
"No"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,20},{column,3}],
"NO"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,21},{column,3}],
"off"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,22},{column,3}],
"Off"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,23},{column,3}],
"OFF"},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,25},{column,3}],
"Not a bool"}],
23}
}
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, true}, {schema, core}])
)
]
}.
schema_failsafe_bool_ext_detailed_test_() ->
{setup,
fun setup/0,
[
?_assertMatch(
[
{yamerl_doc,
{yamerl_seq,yamerl_node_seq,"tag:yaml.org,2002:seq",
[{line,1},{column,1}],
[{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,1},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,2},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,3},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,4},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,5},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,6},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,7},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,8},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,9},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,10},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,11},{column,3}],
true},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,13},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,14},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,15},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,16},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,17},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,18},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,19},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,20},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,21},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,22},{column,3}],
false},
{yamerl_bool,yamerl_node_bool_ext,"tag:yaml.org,2002:bool",
[{line,23},{column,3}],
false},
{yamerl_str,yamerl_node_str,"tag:yaml.org,2002:str",
[{line,25},{column,3}],
"Not a bool"}],
23}
}
],
yamerl_constr:file(?FILENAME,
[{detailed_constr, true}, {schema, failsafe},
{node_mods, [yamerl_node_bool_ext]}])
)
]
}.