summaryrefslogtreecommitdiff
path: root/test/mask_test.exs
blob: 9a55e01444c374f84c4028b36b8ae4cd403f654c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
defmodule Irc.MaskTest do
  use ExUnit.Case
  alias Irc.Mask
  doctest Irc.Mask

  test "user mask" do
    assert Mask.parse("nick!user@host") == {:ok,
      %Mask{nick: "nick", user: "user", host: "host", server: nil}}
  end

  test "server mask" do
    assert Mask.parse("masked.irc.server") == {:ok,
      %Mask{server: "masked.irc.server", nick: nil, user: nil, host: nil}}
  end

  test "invalid masks" do
    assert Mask.parse("bonjour") == {:error, :invalid_mask}
    assert Mask.parse("bang!bang") == {:error, :invalid_mask}
    assert Mask.parse("ding@dong") == {:error, :invalid_mask}
  end

end