Packages
membrane_core
0.3.1
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.7
1.2.6
1.2.5
retired
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc1
1.1.2
1.1.1
1.1.0
1.1.0-rc1
1.1.0-rc0
1.0.1
1.0.0
1.0.0-rc1
1.0.0-rc0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
retired
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
Membrane Multimedia Framework (Core)
Current section
Files
Jump to
Current section
Files
lib/membrane/testing/pipeline/assertions.ex
defmodule Membrane.Testing.Pipeline.Assertions do
@moduledoc """
Assertions that can be used with `Membrane.Testing.Pipeline` in tests
"""
@doc """
Asserts that a message sent from `Membrane.Testing.Pipeline` matching `pattern` was or is going to be received
within the `timeout` period, specified in milliseconds.
The `pattern` argument must be a match pattern. Flunks with `failure_message`
if a message matching `pattern` is not received.
For example to wait for message indicating `handle_prepared_to_playing` callback
was called:
assert_receive_message :handle_prepared_to_playing
"""
defmacro assert_receive_message(
pattern,
timeout \\ Application.fetch_env!(:ex_unit, :assert_receive_timeout),
failure_message \\ nil
) do
import ExUnit.Assertions, only: [assert_receive: 3]
quote do
assert_receive {Membrane.Testing.Pipeline, unquote(pattern)},
unquote(timeout),
unquote(failure_message)
end
end
end