emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 13c7933a9d4 1/2: Add test for erc-extract-command-from-line


From: F. Jason Park
Subject: master 13c7933a9d4 1/2: Add test for erc-extract-command-from-line
Date: Thu, 18 Jan 2024 20:12:49 -0500 (EST)

branch: master
commit 13c7933a9d4b26e74e7f5e19d70bb89003239c34
Author: F. Jason Park <jp@neverwas.me>
Commit: F. Jason Park <jp@neverwas.me>

    Add test for erc-extract-command-from-line
    
    * lisp/erc/erc.el (erc-extract-command-from-line): Redo doc string.
    * test/lisp/erc/erc-tests.el (erc--parse-isupport-value): Add case for
    commonly seen escaped character ?=.
    (erc-extract-command-from-line): New test.
    ; * test/lisp/erc/resources/erc-d/resources/basic.eld: Update.
    ; Don't send unnegotiated multi-prefixed userhost names.
    ; * test/lisp/erc/resources/erc-d/resources/dynamic-barnet.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/dynamic-foonet.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/dynamic.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/eof.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/fuzzy.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/incremental.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/linger.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/no-block.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/no-match.eld: Update.
    ; * test/lisp/erc/resources/erc-d/resources/unexpected.eld: Update.
---
 lisp/erc/erc.el                                    | 15 +++++--
 test/lisp/erc/erc-tests.el                         | 48 ++++++++++++++++++++++
 test/lisp/erc/resources/erc-d/resources/basic.eld  |  5 +--
 .../resources/erc-d/resources/dynamic-barnet.eld   |  2 +-
 .../resources/erc-d/resources/dynamic-foonet.eld   |  2 +-
 .../lisp/erc/resources/erc-d/resources/dynamic.eld |  5 +--
 test/lisp/erc/resources/erc-d/resources/eof.eld    |  5 +--
 test/lisp/erc/resources/erc-d/resources/fuzzy.eld  |  4 +-
 .../erc/resources/erc-d/resources/incremental.eld  |  5 +--
 test/lisp/erc/resources/erc-d/resources/linger.eld |  5 +--
 .../erc/resources/erc-d/resources/no-block.eld     |  7 ++--
 .../erc/resources/erc-d/resources/no-match.eld     |  5 +--
 .../erc/resources/erc-d/resources/unexpected.eld   |  5 +--
 13 files changed, 81 insertions(+), 32 deletions(-)

diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 478683a77f5..6332a8f6763 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -7973,9 +7973,18 @@ as outgoing chat messages and echoed slash commands."
     (when (fboundp cmd) cmd)))
 
 (defun erc-extract-command-from-line (line)
-  "Extract command and args from the input LINE.
-If no command was given, return nil.  If command matches, return a
-list of the form: (command args) where both elements are strings."
+  "Extract a \"slash command\" and its args from a prompt-input LINE.
+If LINE doesn't start with a slash command, return nil.  If it
+does, meaning the pattern `erc-command-regexp' matches, return a
+list of the form (COMMAND ARGS), where COMMAND is either a symbol
+for a known handler function or `erc-cmd-default' if unknown.
+When COMMAND has the symbol property `do-not-parse-args', return
+a string in place of ARGS: that is, either LINE itself, when LINE
+consists of only whitespace, or LINE stripped of any trailing
+whitespace, including a final newline.  When COMMAND lacks the
+symbol property `do-not-parse-args', return a possibly empty list
+of non-whitespace tokens.  Do not perform any shell-style parsing
+of quoted or escaped substrings."
   (when (string-match erc-command-regexp line)
     (let* ((cmd (erc-command-symbol (match-string 1 line)))
            ;; note: return is nil, we apply this simply for side effects
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el
index b3912cab33d..e3e20b7ba8f 100644
--- a/test/lisp/erc/erc-tests.el
+++ b/test/lisp/erc/erc-tests.el
@@ -969,6 +969,7 @@
   (should (equal (erc--parse-isupport-value "\\x20\\x20\\x20") '("   ")))
   (should (equal (erc--parse-isupport-value "\\x5Co/") '("\\o/")))
   (should (equal (erc--parse-isupport-value "\\x7F,\\x19") '("\\x7F" "\\x19")))
+  (should (equal (erc--parse-isupport-value "a\\x3Db") '("a=b")))
   (should (equal (erc--parse-isupport-value "a\\x2Cb,c") '("a,b" "c"))))
 
 (ert-deftest erc--get-isupport-entry ()
@@ -1663,6 +1664,53 @@
         (should-not (erc--check-prompt-input-for-excess-lines "" '("a" "b")))))
     (should-not erc-ask-about-multiline-input)))
 
+(ert-deftest erc-extract-command-from-line ()
+  ;; FIXME when next modifying `erc-command-regexp's default value,
+  ;; move the single quote in the first group's character alternative
+  ;; to the front, i.e., [A-Za-z'] -> ['A-Za-z], so we can assert
+  ;; equivalence with this more readable `rx' form.
+  (rx bol
+      "/"
+      (group (+ (in "'A-Za-z")))
+      (group (| (: (+ (syntax whitespace)) (* nonl))
+                (* (syntax whitespace))))
+      eol)
+  (erc-mode) ; for `erc-mode-syntax-table'
+
+  ;; Non-command.
+  (should-not (erc-extract-command-from-line "FAKE\n"))
+  ;; Unknown command.
+  (should (equal (erc-extract-command-from-line "/FAKE\n")
+                 '(erc-cmd-default "/FAKE\n")))
+
+  (ert-info ("With `do-not-parse-args'")
+    (should (equal (erc-extract-command-from-line "/MSG\n")
+                   '(erc-cmd-MSG "\n")))
+    (should (equal (erc-extract-command-from-line "/MSG \n")
+                   '(erc-cmd-MSG " \n")))
+    (should (equal (erc-extract-command-from-line "/MSG \n\n")
+                   '(erc-cmd-MSG " \n\n")))
+    (should (equal (erc-extract-command-from-line "/MSG foo\n")
+                   '(erc-cmd-MSG " foo")))
+    (should (equal (erc-extract-command-from-line "/MSG foo\n\n")
+                   '(erc-cmd-MSG " foo")))
+    (should (equal (erc-extract-command-from-line "/MSG foo\n \n")
+                   '(erc-cmd-MSG " foo")))
+    (should (equal (erc-extract-command-from-line "/MSG    foo\n")
+                   '(erc-cmd-MSG "    foo"))))
+
+  (ert-info ("Without `do-not-parse-args'")
+    (should (equal (erc-extract-command-from-line "/HELP\n")
+                   '(erc-cmd-HELP nil)))
+    (should (equal (erc-extract-command-from-line "/HELP \n")
+                   '(erc-cmd-HELP nil)))
+    (should (equal (erc-extract-command-from-line "/HELP foo\n")
+                   '(erc-cmd-HELP ("foo"))))
+    (should (equal (erc-extract-command-from-line "/HELP     foo\n")
+                   '(erc-cmd-HELP ("foo"))))
+    (should (equal (erc-extract-command-from-line "/HELP foo bar\n")
+                   '(erc-cmd-HELP ("foo" "bar"))))))
+
 ;; The point of this test is to ensure output is handled identically
 ;; regardless of whether a command handler is summoned.
 
diff --git a/test/lisp/erc/resources/erc-d/resources/basic.eld 
b/test/lisp/erc/resources/erc-d/resources/basic.eld
index a020eec3fff..80e46d9a279 100644
--- a/test/lisp/erc/resources/erc-d/resources/basic.eld
+++ b/test/lisp/erc/resources/erc-d/resources/basic.eld
@@ -8,8 +8,7 @@
  (0 ":irc.example.org 002 tester :Your host is irc.example.org")
  (0 ":irc.example.org 003 tester :This server was created just now")
  (0 ":irc.example.org 004 tester irc.example.org BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-    " :are supported by this server")
+ (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0 ":irc.example.org 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  ;; Just to mix thing's up (force handler to schedule timer)
  (0.1 ":irc.example.org 252 tester 0 :IRC Operators online")
@@ -24,7 +23,7 @@
  (0 ":irc.example.org 221 tester +Zi")
  (0 ":irc.example.org 306 tester :You have been marked as being away")
  (0 ":tester!~tester@localhost JOIN #chan")
- (0 ":irc.example.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #chan :+alice @bob")
  (0 ":irc.example.org 366 alice #chan :End of NAMES list"))
 
 ;; Some comment (to prevent regression)
diff --git a/test/lisp/erc/resources/erc-d/resources/dynamic-barnet.eld 
b/test/lisp/erc/resources/erc-d/resources/dynamic-barnet.eld
index e8feb2e6fd8..47be0722115 100644
--- a/test/lisp/erc/resources/erc-d/resources/dynamic-barnet.eld
+++ b/test/lisp/erc/resources/erc-d/resources/dynamic-barnet.eld
@@ -22,7 +22,7 @@
  (0. ":irc.barnet.org 221 tester +Zi")
  (0. ":irc.barnet.org 306 tester :You have been marked as being away")
  (0 ":tester!~u@awyxgybtkx7uq.irc JOIN #chan")
- (0 ":irc.barnet.org 353 joe = #chan :+joe!~joe@example.com 
@%+mike!~mike@example.org")
+ (0 ":irc.barnet.org 353 joe = #chan :+joe @mike")
  (0 ":irc.barnet.org 366 joe #chan :End of NAMES list"))
 
 ((mode 3 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/dynamic-foonet.eld 
b/test/lisp/erc/resources/erc-d/resources/dynamic-foonet.eld
index 2db750e49da..5d5f8ed18a8 100644
--- a/test/lisp/erc/resources/erc-d/resources/dynamic-foonet.eld
+++ b/test/lisp/erc/resources/erc-d/resources/dynamic-foonet.eld
@@ -21,7 +21,7 @@
  (0. ":irc.foonet.org 221 tester +Zi")
  (0. ":irc.foonet.org 306 tester :You have been marked as being away")
  (0 ":tester!~u@awyxgybtkx7uq.irc JOIN #chan")
- (0 ":irc.foonet.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.foonet.org 353 alice = #chan :+alice @bob")
  (0 ":irc.foonet.org 366 alice #chan :End of NAMES list"))
 
 ((mode 3 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/dynamic.eld 
b/test/lisp/erc/resources/erc-d/resources/dynamic.eld
index 459b6e52bfe..64d8c091ad7 100644
--- a/test/lisp/erc/resources/erc-d/resources/dynamic.eld
+++ b/test/lisp/erc/resources/erc-d/resources/dynamic.eld
@@ -7,8 +7,7 @@
  (0.0 ":" dom " 002 " nick " :Your host is " dom)
  (0.0 ":" dom " 003 " nick " :This server was created just now")
  (0.0 ":" dom " 004 " nick " " dom " BERios CEIRabehiklmnoqstv Iabehkloqv")
- (0.0 ":" dom " 005 " nick " MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-      " :are supported by this server")
+ (0.0 ":" dom " 005 " nick " MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0.0 ":" dom " 251 " nick " :There are 3 users and 0 invisible on 1 
server(s)")
  (0.0 ":" dom " 252 " nick " 0 :IRC Operators online")
  (0.0 ":" dom " 253 " nick " 0 :unregistered connections")
@@ -23,7 +22,7 @@
 
  (0.0 ":" dom " 306 " nick " :You have been marked as being away")
  (0.0 ":" nick "!~" nick "@localhost JOIN #chan")
- (0.0 ":" dom " 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0.0 ":" dom " 353 alice = #chan :+alice @bob")
  (0.0 ":" dom " 366 alice #chan :End of NAMES list"))
 
 ((mode 2.2 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/eof.eld 
b/test/lisp/erc/resources/erc-d/resources/eof.eld
index 5da84b2e74f..db39b3d4af1 100644
--- a/test/lisp/erc/resources/erc-d/resources/eof.eld
+++ b/test/lisp/erc/resources/erc-d/resources/eof.eld
@@ -8,8 +8,7 @@
  (0 ":irc.example.org 002 tester :Your host is irc.example.org")
  (0 ":irc.example.org 003 tester :This server was created just now")
  (0 ":irc.example.org 004 tester irc.example.org BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-    " :are supported by this server")
+ (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0 ":irc.example.org 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  ;; Just to mix thing's up (force handler to schedule timer)
  (0.1 ":irc.example.org 252 tester 0 :IRC Operators online")
@@ -24,7 +23,7 @@
  (0 ":irc.example.org 221 tester +Zi")
  (0 ":irc.example.org 306 tester :You have been marked as being away")
  (0 ":tester!~tester@localhost JOIN #chan")
- (0 ":irc.example.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #chan :+alice @bob")
  (0 ":irc.example.org 366 alice #chan :End of NAMES list"))
 
 ((mode-chan 1.2 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/fuzzy.eld 
b/test/lisp/erc/resources/erc-d/resources/fuzzy.eld
index 0504b6a6682..cf64004da0d 100644
--- a/test/lisp/erc/resources/erc-d/resources/fuzzy.eld
+++ b/test/lisp/erc/resources/erc-d/resources/fuzzy.eld
@@ -23,12 +23,12 @@
 
 ((~join-foo 3.2 "JOIN #foo")
  (0 "@time=" now " :tester!~tester@localhost JOIN #foo")
- (0 "@time=" now " :irc.example.org 353 alice = #foo 
:+alice!~alice@example.com @%+bob!~bob@example.org")
+ (0 "@time=" now " :irc.example.org 353 alice = #foo :+alice @bob")
  (0 "@time=" now " :irc.example.org 366 alice #foo :End of NAMES list"))
 
 ((~join-bar 1.2 "JOIN #bar")
  (0 "@time=" now " :tester!~tester@localhost JOIN #bar")
- (0 "@time=" now " :irc.example.org 353 alice = #bar 
:+alice!~alice@example.com @%+bob!~bob@example.org")
+ (0 "@time=" now " :irc.example.org 353 alice = #bar :+alice @bob")
  (0 "@time=" now " :irc.example.org 366 alice #bar :End of NAMES list"))
 
 ((~mode-foo 3.2 "MODE #foo")
diff --git a/test/lisp/erc/resources/erc-d/resources/incremental.eld 
b/test/lisp/erc/resources/erc-d/resources/incremental.eld
index a1b48495ec3..7d192a53066 100644
--- a/test/lisp/erc/resources/erc-d/resources/incremental.eld
+++ b/test/lisp/erc/resources/erc-d/resources/incremental.eld
@@ -7,8 +7,7 @@
  (0.0 ":irc.foo.net 002 tester :Your host is irc.foo.net")
  (0.0 ":irc.foo.net 003 tester :This server was created just now")
  (0.0 ":irc.foo.net 004 tester irc.foo.net BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0.0 ":irc.foo.net 005 tester MODES NETWORK=FooNet NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-              " :are supported by this server")
+ (0.0 ":irc.foo.net 005 tester MODES NETWORK=FooNet NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0.0 ":irc.foo.net 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  (0.0 ":irc.foo.net 252 tester 0 :IRC Operators online")
  (0.0 ":irc.foo.net 253 tester 0 :unregistered connections")
@@ -24,7 +23,7 @@
 
 ((join 3 "JOIN #foo")
  (0 ":tester!~tester@localhost JOIN #foo")
- (0 ":irc.foo.net 353 alice = #foo :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.foo.net 353 alice = #foo :+alice @bob")
  (0 ":irc.foo.net 366 alice #foo :End of NAMES list"))
 
 ((mode 3 "MODE #foo")
diff --git a/test/lisp/erc/resources/erc-d/resources/linger.eld 
b/test/lisp/erc/resources/erc-d/resources/linger.eld
index e456370a800..d68da730581 100644
--- a/test/lisp/erc/resources/erc-d/resources/linger.eld
+++ b/test/lisp/erc/resources/erc-d/resources/linger.eld
@@ -8,8 +8,7 @@
  (0 ":irc.example.org 002 tester :Your host is irc.example.org")
  (0 ":irc.example.org 003 tester :This server was created just now")
  (0 ":irc.example.org 004 tester irc.example.org BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-    " :are supported by this server")
+ (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0 ":irc.example.org 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  ;; Just to mix thing's up (force handler to schedule timer)
  (0.1 ":irc.example.org 252 tester 0 :IRC Operators online")
@@ -24,7 +23,7 @@
  (0 ":irc.example.org 221 tester +Zi")
  (0 ":irc.example.org 306 tester :You have been marked as being away")
  (0 ":tester!~tester@localhost JOIN #chan")
- (0 ":irc.example.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #chan :+alice @bob")
  (0 ":irc.example.org 366 alice #chan :End of NAMES list"))
 
 ((mode-chan 2 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/no-block.eld 
b/test/lisp/erc/resources/erc-d/resources/no-block.eld
index 2811923d8ac..af2f4a83ff6 100644
--- a/test/lisp/erc/resources/erc-d/resources/no-block.eld
+++ b/test/lisp/erc/resources/erc-d/resources/no-block.eld
@@ -7,8 +7,7 @@
  (0.0 ":irc.org 002 tester :Your host is irc.org")
  (0.0 ":irc.org 003 tester :This server was created just now")
  (0.0 ":irc.org 004 tester irc.org BERios CEIRabehiklmnoqstv Iabehkloqv")
- (0.0 ":irc.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-              " :are supported by this server")
+ (0.0 ":irc.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0.0 ":irc.org 251 tester :There are 3 users and 0 invisible on 1 server(s)")
  (0.0 ":irc.org 252 tester 0 :IRC Operators online")
  (0.0 ":irc.org 253 tester 0 :unregistered connections")
@@ -24,13 +23,13 @@
 
 ((join-foo 1.2 "JOIN #foo")
  (0 ":tester!~tester@localhost JOIN #foo")
- (0 ":irc.example.org 353 alice = #foo :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #foo :+alice @bob")
  (0 ":irc.example.org 366 alice #foo :End of NAMES list"))
 
 ;; This would time out if the mode-foo's outgoing blocked (remove minus signs 
to see)
 ((~join-bar 1.5 "JOIN #bar")
  (0 ":tester!~tester@localhost JOIN #bar")
- (0 ":irc.example.org 353 alice = #bar :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #bar :+alice @bob")
  (0 ":irc.example.org 366 alice #bar :End of NAMES list"))
 
 ((mode-foo 1.2 "MODE #foo")
diff --git a/test/lisp/erc/resources/erc-d/resources/no-match.eld 
b/test/lisp/erc/resources/erc-d/resources/no-match.eld
index d147be1e084..d12854de551 100644
--- a/test/lisp/erc/resources/erc-d/resources/no-match.eld
+++ b/test/lisp/erc/resources/erc-d/resources/no-match.eld
@@ -8,8 +8,7 @@
  (0 ":irc.example.org 002 tester :Your host is irc.example.org")
  (0 ":irc.example.org 003 tester :This server was created just now")
  (0 ":irc.example.org 004 tester irc.example.org BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-    " :are supported by this server")
+ (0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0 ":irc.example.org 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  (0 ":irc.example.org 252 tester 0 :IRC Operators online")
  (0 ":irc.example.org 253 tester 0 :unregistered connections")
@@ -25,7 +24,7 @@
 
 ((join 1.2 "JOIN #chan")
  (0 ":tester!~tester@localhost JOIN #chan")
- (0 ":irc.example.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0 ":irc.example.org 353 alice = #chan :+alice @bob")
  (0 ":irc.example.org 366 alice #chan :End of NAMES list"))
 
 ((mode-chan 0.2 "MODE #chan")
diff --git a/test/lisp/erc/resources/erc-d/resources/unexpected.eld 
b/test/lisp/erc/resources/erc-d/resources/unexpected.eld
index ac0a8fecfa6..c03b1dbcfdb 100644
--- a/test/lisp/erc/resources/erc-d/resources/unexpected.eld
+++ b/test/lisp/erc/resources/erc-d/resources/unexpected.eld
@@ -7,8 +7,7 @@
  (0.0 ":irc.example.org 002 tester :Your host is irc.example.org")
  (0.0 ":irc.example.org 003 tester :This server was created just now")
  (0.0 ":irc.example.org 004 tester irc.example.org BERios CEIRabehiklmnoqstv 
Iabehkloqv")
- (0.0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+"
-      " :are supported by this server")
+ (0.0 ":irc.example.org 005 tester MODES NETWORK=ExampleOrg NICKLEN=32 
PREFIX=(qaohv)~&@%+ :are supported by this server")
  (0.0 ":irc.example.org 251 tester :There are 3 users and 0 invisible on 1 
server(s)")
  (0.0 ":irc.example.org 252 tester 0 :IRC Operators online")
  (0.0 ":irc.example.org 253 tester 0 :unregistered connections")
@@ -23,6 +22,6 @@
 
  (0.0 ":irc.example.org 306 tester :You have been marked as being away")
  (0.0 ":tester!~tester@localhost JOIN #chan")
- (0.0 ":irc.example.org 353 alice = #chan :+alice!~alice@example.com 
@%+bob!~bob@example.org")
+ (0.0 ":irc.example.org 353 alice = #chan :+alice @bob")
  (0.0 ":irc.example.org 366 alice #chan :End of NAMES list")
  (0.1 ":bob!~bob@example.org PRIVMSG #chan :hey"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]