32 lines
948 B
Elixir
32 lines
948 B
Elixir
defmodule BDS.AlignmentTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
@media_import_specs [
|
|
"specs/media.allium",
|
|
"specs/media_processing.allium"
|
|
]
|
|
|
|
test "media import specs use one source-path-first event shape" do
|
|
signatures =
|
|
@media_import_specs
|
|
|> Enum.flat_map(fn path ->
|
|
path
|
|
|> File.read!()
|
|
|> import_media_signatures(path)
|
|
end)
|
|
|
|
assert signatures == [
|
|
{"specs/media.allium", "source_path, project, metadata"},
|
|
{"specs/media.allium", "source_path, project, metadata"},
|
|
{"specs/media_processing.allium", "source_path, project, metadata"},
|
|
{"specs/media_processing.allium", "source_path, project, metadata"}
|
|
]
|
|
end
|
|
|
|
defp import_media_signatures(source, path) do
|
|
~r/ImportMediaRequested\(([^)]+)\)/
|
|
|> Regex.scan(source, capture: :all_but_first)
|
|
|> Enum.map(fn [signature] -> {path, signature} end)
|
|
end
|
|
end
|