| 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 | |
|---|
| 14 | module_name () -> |
|---|
| 15 | hello = modules: module_name ("hello.erl"), |
|---|
| 16 | hello = modules: module_name ("bla/hello.erl"). |
|---|
| 17 | |
|---|
| 18 | locate () -> |
|---|
| 19 | ok = fixtures: use_tree (tree (), fun locate/2). |
|---|
| 20 | |
|---|
| 21 | tree () -> |
|---|
| 22 | [{file, "eg_code.erl", |
|---|
| 23 | ["-module (eg_code).", |
|---|
| 24 | "-export ([ok/0]).", |
|---|
| 25 | "ok () ->", |
|---|
| 26 | " ok.", |
|---|
| 27 | "yo () ->", |
|---|
| 28 | " yo."]}]. |
|---|
| 29 | |
|---|
| 30 | locate (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 | |
|---|
| 36 | includes_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 | |
|---|
| 55 | includes () -> |
|---|
| 56 | ok = fixtures: use_tree (includes_tree (), fun includes/2). |
|---|
| 57 | |
|---|
| 58 | includes (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. |
|---|