@@ -171,6 +171,10 @@ defmodule IEx.HelpersTest do
171
171
end
172
172
173
173
test "c helper multiple modules" do
174
+ assert_raise UndefinedFunctionError, "undefined function: Helpers_test_module. run / 0 ", fn ->
175
+ Helpers_test_module.run
176
+ end
177
+
174
178
File.write! " test - module - code . ex ", test_module_code <> " \n" <> another_test_module
175
179
assert c ( "test-module-code.ex" ) |> Enum . sort == [ Another_test_module , Helpers_test_module ]
176
180
assert Helpers_test_module. run == :run
@@ -187,6 +191,10 @@ defmodule IEx.HelpersTest do
187
191
end
188
192
189
193
test "c helper list" do
194
+ assert_raise UndefinedFunctionError , "undefined function: Helpers_test_module.run/0" , fn ->
195
+ Helpers_test_module . run
196
+ end
197
+
190
198
File . write! "test-module-code-1.ex" , test_module_code
191
199
File . write! "test-module-code-2.ex" , another_test_module
192
200
assert c ( [ "test-module-code-1.ex" , "test-module-code-2.ex" ] ) |> Enum . sort
@@ -207,13 +215,24 @@ defmodule IEx.HelpersTest do
207
215
end
208
216
209
217
test "l helper" do
218
+ assert_raise UndefinedFunctionError, "undefined function: Helpers_test_module. run / 0 ", fn ->
219
+ Helpers_test_module.run
220
+ end
221
+
210
222
assert l(:non_existent_module) == {:error,:nofile}
211
223
212
224
File.write! " test - module - code . ex ", test_module_code
213
225
assert c(" test- module - code . ex ") == [Helpers_test_module]
214
- #File.write! "test-module-code.ex", "defmodule Helpers_test_module do end"
215
- assert l ( Helpers_test_module ) == { :module , Helpers_test_module }
216
226
assert Helpers_test_module.run == :run
227
+
228
+ File.write! " test- module - code . ex ", " defmodule Helpers_test_module do end "
229
+ # FIXME: is there another way to compile a file without loading its module?
230
+ System.cmd " elixirc test - module - code . ex "
231
+
232
+ assert l(Helpers_test_module) == {:module, Helpers_test_module}
233
+ assert_raise UndefinedFunctionError, fn ->
234
+ Helpers_test_module.run
235
+ end
217
236
after
218
237
File.rm " test- module - code . ex "
219
238
File.rm! " Elixir. Helpers_test_module . beam "
@@ -225,15 +244,20 @@ defmodule IEx.HelpersTest do
225
244
end
226
245
227
246
test " r helper" do
247
+ assert_raise UndefinedFunctionError , "undefined function: Helpers_test_module.run/0" , fn ->
248
+ Helpers_test_module . run
249
+ end
250
+
228
251
assert r == [ ]
229
252
assert r ( Kernel ) == :nosource
230
253
assert_raise UndefinedFunctionError , "undefined function: :non_existent_module.module_info/1" , fn ->
231
254
r :non_existent_module
232
255
end
233
256
234
257
File . write! "test-module-code.ex" , test_module_code
235
- # FIXME: `r Helpers_test_module` returns :nosource
236
258
assert c ( "test-module-code.ex" ) == [ Helpers_test_module ]
259
+ assert Helpers_test_module . run == :run
260
+ # FIXME: `r Helpers_test_module` returns :nosource
237
261
assert r ( Helpers_test_module ) == [ Helpers_test_module ]
238
262
239
263
assert r == [ Helpers_test_module ]
0 commit comments