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