Packages
wallaby
0.16.1
0.31.0
0.30.12
0.30.11
0.30.10
0.30.9
0.30.8
0.30.7
0.30.6
0.30.5
0.30.4
0.30.3
0.30.2
0.30.1
0.30.0
0.29.1
0.29.0
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.1
0.25.0
0.24.1
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.0
0.16.1
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.1
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.0
0.1.0
0.0.1
Concurrent feature tests for elixir
Current section
Files
Jump to
Current section
Files
lib/wallaby/phantom/log_store.ex
defmodule Wallaby.Phantom.LogStore do
def start_link do
Agent.start_link(fn -> Map.new end, name: __MODULE__)
end
@doc """
Appends logs to a session
"""
def append_logs(session, logs) when is_binary(session) do
Agent.get_and_update __MODULE__, fn(map) ->
Map.get_and_update map, session, fn
nil -> unique_logs([], logs)
old_logs -> unique_logs(old_logs, logs)
end
end
end
def get_logs(session) when is_binary(session) do
Agent.get(__MODULE__, fn map -> Map.get(map, session) end)
end
defp unique_logs(old_logs, new_logs) do
union = (new_logs -- old_logs)
{union, old_logs ++ union}
end
end