diff options
| author | Alexander Barton <alex@barton.de> | 2011-12-30 14:52:48 +0100 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2011-12-30 14:57:12 +0100 |
| commit | 1a5ed654b43b7d4b14636fddd4ee79d3ebe749fa (patch) | |
| tree | 4077b5f7770d2c9483a805835dc53b6078f5118b /src/testsuite/who-test.e | |
| parent | 9cbb8f3bb8f7c39e133c6910f40ec2b03ccd8847 (diff) | |
| download | ngircd-1a5ed654b43b7d4b14636fddd4ee79d3ebe749fa.tar.gz ngircd-1a5ed654b43b7d4b14636fddd4ee79d3ebe749fa.zip | |
Fixed handling of WHO commands
This fixes two bugs: - "WHO <nick>" returned nothing at all if the user was "+i" (reported by Cahata, thanks). - "WHO <nick|nickmask>" returned channel names instead of "*" when the user was member of a (visible) channel. Clean up code and add documentation as well.
Diffstat (limited to 'src/testsuite/who-test.e')
| -rw-r--r-- | src/testsuite/who-test.e | 66 |
1 files changed, 48 insertions, 18 deletions
diff --git a/src/testsuite/who-test.e b/src/testsuite/who-test.e index 54c19922..0a71e3f7 100644 --- a/src/testsuite/who-test.e +++ b/src/testsuite/who-test.e @@ -14,19 +14,13 @@ expect { send "who\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick \* * ngircd.test.server nick H :0 Real Name" -} - -send "join #channel\r" -expect { - timeout { exit 1 } - "@* JOIN :#channel" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H :0 Real Name" } send "who 0\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #channel * ngircd.test.server nick H@ :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H :0 Real Name" } send "away :testing\r" @@ -38,7 +32,19 @@ expect { send "who *\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G@ :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name" +} + +send "join #channel\r" +expect { + timeout { exit 1 } + "@* JOIN :#channel" +} + +send "who #channel\r" +expect { + timeout { exit 1 } + ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name" } send "mode #channel +v nick\r" @@ -47,10 +53,16 @@ expect { "@* MODE #channel +v nick\r" } +send "who #channel\r" +expect { + timeout { exit 1 } + ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name" +} + send "who localhos*\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G@ :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name" } send "mode #channel -o nick\r" @@ -59,10 +71,16 @@ expect { "@* MODE #channel -o nick\r" } +send "who #channel\r" +expect { + timeout { exit 1 } + ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G+ :0 Real Name" +} + send "who ngircd.test.server\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G+ :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name" } send "part #channel\r" @@ -74,7 +92,7 @@ expect { send "who Real?Name\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick \* * ngircd.test.server nick G :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name" } send "oper TestOp 123\r" @@ -90,7 +108,7 @@ expect { send "who 0 o\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick \* * ngircd.test.server nick G* :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G* :0 Real Name" } send "away\r" @@ -102,7 +120,7 @@ expect { send "who ??cal*ho*\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick \* * ngircd.test.server nick H* :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name" } send "join #opers\r" @@ -114,7 +132,13 @@ expect { send "who #opers\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H*@ :0 Real Name" + ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*@ :0 Real Name" +} + +send "who Re*me\r" +expect { + timeout { exit 1 } + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name" } send "mode #opers -o nick\r" @@ -123,10 +147,16 @@ expect { "@* MODE #opers -o nick\r" } +send "who #opers\r" +expect { + timeout { exit 1 } + ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H* :0 Real Name" +} + send "who *.server\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H* :0 Real Name" + ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name" } send "mode #opers +v nick\r" @@ -135,10 +165,10 @@ expect { "@* MODE #opers +v nick\r" } -send "who Real*me\r" +send "who #opers\r" expect { timeout { exit 1 } - ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H*+ :0 Real Name" + ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*+ :0 Real Name" } send "mode #opers +s\r" |