diff options
author | Jeff Weiss <jeff.weiss@puppetlabs.com> | 2016-03-30 23:16:33 -0700 |
---|---|---|
committer | Jeff Weiss <jeff.weiss@puppetlabs.com> | 2016-03-30 23:19:12 -0700 |
commit | dcee567e1d2d98173df6ec022ec1ed5f66c92b9d (patch) | |
tree | 961ef79ce3b5e784d9fbccf9d6595e70dcd0845b /test | |
parent | Merge pull request #46 from jeffweiss/add_test_for_stripping_rank_from_nicks (diff) |
handle QUIT messages
Prior to this commit ExIrc did not know what to do with QUIT messages,
which would result in nicks remaining in the `Channels` data structure
when they should not. This commit implements handling of the QUIT
message and ensures that the new `Channels.user_quit` function is called
to flush the departing user from all known channels.
Close #40
Diffstat (limited to 'test')
-rw-r--r-- | test/channels_test.exs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/channels_test.exs b/test/channels_test.exs index 1c0b424..a1549ca 100644 --- a/test/channels_test.exs +++ b/test/channels_test.exs @@ -100,6 +100,21 @@ defmodule ExIrc.ChannelsTest do assert {:error, :no_such_channel} == Channels.channel_has_user?(channels, "#testchannel", "testnick") end + test "Can quit a user from all channels" do + channels = + Channels.init() + |> Channels.join("#testchannel") + |> Channels.user_join("#testchannel", "testnick") + |> Channels.join("#anotherchannel") + |> Channels.user_join("#anotherchannel", "testnick") + |> Channels.user_join("#anotherchannel", "secondnick") + assert Channels.channel_has_user?(channels, "#testchannel", "testnick") + channels = channels |> Channels.user_quit("testnick") + refute Channels.channel_has_user?(channels, "#testchannel", "testnick") + refute Channels.channel_has_user?(channels, "#anotherchannel", "testnick") + assert Channels.channel_has_user?(channels, "#anotherchannel", "secondnick") + end + test "Can rename a user" do channels = Channels.init() |> Channels.join("#testchannel") |