|
|
@ -0,0 +1,63 @@ |
|
|
|
%% coding:utf-8 |
|
|
|
|
|
|
|
-module(rebar_templater_SUITE). |
|
|
|
-compile(export_all). |
|
|
|
|
|
|
|
-include_lib("common_test/include/ct.hrl"). |
|
|
|
-include_lib("eunit/include/eunit.hrl"). |
|
|
|
|
|
|
|
all() -> |
|
|
|
[ |
|
|
|
consult_template_latin1_test, |
|
|
|
consult_template_utf8_test |
|
|
|
]. |
|
|
|
|
|
|
|
init_per_suite(Config) -> Config. |
|
|
|
end_per_suite(_Config) -> ok. |
|
|
|
|
|
|
|
init_per_testcase(Case, Config) |
|
|
|
when Case =:= consult_template_latin1_test; |
|
|
|
Case =:= consult_template_utf8_test -> |
|
|
|
%% Generate UCS string containing all printable characters of latin-1 area. |
|
|
|
Description = lists:seq(16#A1, 16#AC) ++ lists:seq(16#AE, 16#FE), |
|
|
|
Expected = [{description, Description}], |
|
|
|
SampleTemplate = "{description, \"" ++ Description ++ "\"}.\n", |
|
|
|
Path = generate_sample_template_file(Case, SampleTemplate, Config), |
|
|
|
[{template_file_path, Path}, {expected, Expected} | Config]; |
|
|
|
init_per_testcase(_Case, Config) -> Config. |
|
|
|
|
|
|
|
end_per_testcase(_Case, _Config) -> ok. |
|
|
|
|
|
|
|
generate_sample_template_file(Case, Content, Config) -> |
|
|
|
CaseName = atom_to_list(Case), |
|
|
|
{Encoding, EncodingName} = |
|
|
|
case string:str(CaseName, "latin1") of |
|
|
|
0 -> {utf8, "utf-8"}; |
|
|
|
_ -> {latin1, "latin-1"} |
|
|
|
end, |
|
|
|
PrivDir = ?config(priv_dir, Config), |
|
|
|
Path = filename:join([PrivDir, CaseName ++ ".template"]), |
|
|
|
{ok, FH} = file:open(Path, [write, {encoding, Encoding}]), |
|
|
|
try |
|
|
|
io:format(FH, "%% coding:~s~n~s", [EncodingName, Content]) |
|
|
|
after |
|
|
|
file:close(FH) |
|
|
|
end, |
|
|
|
Path. |
|
|
|
|
|
|
|
consult_template_test_common(Config) -> |
|
|
|
Expected = ?config(expected, Config), |
|
|
|
Path = ?config(template_file_path, Config), |
|
|
|
Result = rebar_templater:consult_template([], file, Path), |
|
|
|
?assertEqual(Expected, Result), |
|
|
|
ok. |
|
|
|
|
|
|
|
consult_template_latin1_test() -> |
|
|
|
[{doc, "parse test for latin1 template file"}]. |
|
|
|
consult_template_latin1_test(Config) -> |
|
|
|
consult_template_test_common(Config). |
|
|
|
|
|
|
|
consult_template_utf8_test() -> |
|
|
|
[{doc, "parse test for utf8 template file"}]. |
|
|
|
consult_template_utf8_test(Config) -> |
|
|
|
consult_template_test_common(Config). |