876 |
876 |
877 // cleanup |
877 // cleanup |
878 irc_net_destroy(net); |
878 irc_net_destroy(net); |
879 } |
879 } |
880 |
880 |
|
881 void test_irc_chan_user_kick (void) |
|
882 { |
|
883 struct test_chan_ctx ctx; |
|
884 struct sock_test *sock = setup_sock_test(); |
|
885 struct irc_net *net = setup_irc_net(sock); |
|
886 struct irc_chan *chan = setup_irc_chan(sock, net, "#test", &ctx); |
|
887 |
|
888 // kick a user |
|
889 log_info("test irc_chan_on_KICK (other)"); |
|
890 test_sock_push(sock, ":userA!someone@somewhere KICK %s userB\r\n", "#test"); |
|
891 check_chan_user(chan, "userA", true); |
|
892 check_chan_user(chan, "userB", false); |
|
893 |
|
894 // cleanup |
|
895 irc_net_destroy(net); |
|
896 } |
|
897 |
|
898 void test_irc_chan_self_kick (void) |
|
899 { |
|
900 struct test_chan_ctx ctx; |
|
901 struct sock_test *sock = setup_sock_test(); |
|
902 struct irc_net *net = setup_irc_net(sock); |
|
903 struct irc_chan *chan = setup_irc_chan(sock, net, "#test", &ctx); |
|
904 |
|
905 // kick a user |
|
906 log_info("test irc_chan_on_KICK (self)"); |
|
907 test_sock_push(sock, ":userA!someone@somewhere KICK %s mynick foobar\r\n", "#test"); |
|
908 assert(!chan->joined); |
|
909 assert(chan->kicked); |
|
910 |
|
911 // cleanup |
|
912 irc_net_destroy(net); |
|
913 } |
|
914 |
881 void test_irc_chan_user_nick (void) |
915 void test_irc_chan_user_nick (void) |
882 { |
916 { |
883 struct test_chan_ctx ctx; |
917 struct test_chan_ctx ctx; |
884 struct sock_test *sock = setup_sock_test(); |
918 struct sock_test *sock = setup_sock_test(); |
885 struct irc_net *net = setup_irc_net(sock); |
919 struct irc_net *net = setup_irc_net(sock); |
966 { "irc_net", &test_irc_net }, |
1000 { "irc_net", &test_irc_net }, |
967 { "irc_chan_add_offline", &test_irc_chan_add_offline }, |
1001 { "irc_chan_add_offline", &test_irc_chan_add_offline }, |
968 { "irc_chan_namreply", &test_irc_chan_namreply }, |
1002 { "irc_chan_namreply", &test_irc_chan_namreply }, |
969 { "irc_chan_user_join", &test_irc_chan_user_join }, |
1003 { "irc_chan_user_join", &test_irc_chan_user_join }, |
970 { "irc_chan_user_part", &test_irc_chan_user_part }, |
1004 { "irc_chan_user_part", &test_irc_chan_user_part }, |
|
1005 { "irc_chan_user_kick", &test_irc_chan_user_kick }, |
|
1006 { "irc_chan_self_kick", &test_irc_chan_self_kick }, |
971 { "irc_chan_user_nick", &test_irc_chan_user_nick }, |
1007 { "irc_chan_user_nick", &test_irc_chan_user_nick }, |
972 { "irc_chan_user_quit", &test_irc_chan_user_quit }, |
1008 { "irc_chan_user_quit", &test_irc_chan_user_quit }, |
973 { "irc_chan_CTCP_ACTION", &test_irc_chan_CTCP_ACTION }, |
1009 { "irc_chan_CTCP_ACTION", &test_irc_chan_CTCP_ACTION }, |
974 { NULL, NULL } |
1010 { NULL, NULL } |
975 }; |
1011 }; |