source: trunk/src/modules_test.erl @ 96

Revision 96, 1.9 KB checked in by dom, 21 months ago (diff)

Continue work on include files

Line 
1%%% Copyright (C) Dominic Williams
2%%% All rights reserved.
3%%% See file COPYING.
4
5-module (modules_test).
6-test (module_name).
7-test (locate).
8-test (includes).
9-export ([module_name/0]).
10-export ([locate/0]).
11-export ([includes_tree/0]).
12-export ([includes/0]).
13
14module_name () ->
15    hello = modules: module_name ("hello.erl"),
16    hello = modules: module_name ("bla/hello.erl").
17   
18locate () ->
19    ok = fixtures: use_tree (tree (), fun locate/2).
20
21tree () ->
22    [{file, "eg_code.erl",
23      ["-module (eg_code).",
24       "-export ([ok/0]).",
25       "ok () ->",
26       "    ok.",
27       "yo () ->",
28       "    yo."]}].
29
30locate (Root, _) ->
31    File = filename: join (Root, "eg_code.erl"),
32    Binary = modules: to_binary (File),
33    {File, 3} = modules: locate ({eg_code, ok, 0}, Binary),
34    ok.
35
36includes_tree () ->
37    [{file, "eg_include.hrl", "-define(eg_macro,ok)."},
38     {file, "eg_code_with_include.erl",
39      ["-module (eg_code_with_include).",
40       "-export ([ok/0]).",
41       "-include (\"eg_include.hrl\").",
42       "ok () -> ?eg_macro."]},
43     {file, "eg_code_no_include.erl",
44      ["-module (eg_code_no_include).",
45       "-export ([ok/0]).",
46       "ok () -> ok."]},
47     {directory, "dir",
48      [{file, "eg_include_in_dir.hrl", "-define(eg_macro2,nok)."}]},
49     {file, "eg_code_include_with_path.erl",
50      ["-module (eg_code_include_with_path).",
51       "-include (\"dir/eg_include_in_dir.hrl\").",
52       "-export ([ok/0]).",
53       "ok () -> ok."]}].
54
55includes () ->
56    ok = fixtures: use_tree (includes_tree (), fun includes/2).
57
58includes (Root, _) ->
59    Without = filename: join (Root, "eg_code_no_include.erl"),
60    [] = modules: includes (Without),
61    With = filename: join (Root, "eg_code_with_include.erl"),
62    ["eg_include.hrl"] = modules: includes (With),
63    With_path = filename: join (Root, "eg_code_include_with_path.erl"),
64    ["dir/eg_include_in_dir.hrl"] = modules: includes (With_path),
65    ok.
Note: See TracBrowser for help on using the repository browser.