beam_js/test/beam_js_test.exs

20 lines
537 B
Elixir
Raw Permalink Normal View History

2026-03-07 01:45:35 +00:00
defmodule BeamJsTest do
2026-03-30 20:43:34 +00:00
use BeamJs.JsCase
2026-03-07 01:45:35 +00:00
doctest BeamJs
2026-03-30 20:43:34 +00:00
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)|)
2026-03-07 01:45:35 +00:00
end
end