19 lines
537 B
Elixir
19 lines
537 B
Elixir
defmodule BeamJsTest do
|
|
use BeamJs.JsCase
|
|
doctest BeamJs
|
|
|
|
test "can run JS code", %{js: js} do
|
|
assert run(js, "1") == {:ok, 1}
|
|
end
|
|
|
|
test "can encode and import", %{js: js} do
|
|
js_src =
|
|
Example
|
|
|> BeamJs.Module.to_ast(only: ["fact$1"])
|
|
|> BeamJs.Encoder.encode_module()
|
|
|
|
File.write!("tmp/example.mjs", js_src)
|
|
|
|
assert {:ok, [[_label, [["func_info", "Elixir.Example", "fact", 1]]]| _rest]} = run(js, ~s|const Example = await import('./tmp/example.mjs');JSON.stringify(Example.fact$1)|)
|
|
end
|
|
end
|