home · contact · privacy
Re-instate testing of channel-differentiated messages for user parts.
authorChristian Heller <c.heller@plomlompom.de>
Fri, 19 Sep 2025 23:04:35 +0000 (01:04 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Fri, 19 Sep 2025 23:04:35 +0000 (01:04 +0200)
test.txt

index 2443df55498dc151f8dda1325a27d65db6f08316..0bb5a393ec4f58000f6e2cd89f5a6c49c2a6c1a9 100644 (file)
--- a/test.txt
+++ b/test.txt
 1,2 $   me
 4 $ joining: baz!~baz@baz.baz
 
+# join second channel with partial residents identity to compare distribution of resident-specific messages
+> /join #testtest
+2 > JOIN :#testtest
+2 < :foo!~foobarbaz@baz.bar.foo JOIN #testtest
+2 < :foo.bar.baz 353 foo @ #testtest :foo baz
+1,2 $ channels:#testtest:exits cleared
+2 < :foo.bar.baz 366 foo #testtest :End of /NAMES list.
+1,2 $ channels:#testtest:user_ids set to:
+1,2 $   2
+1,2 $   me
+5 $ residents: baz, foo
+
 # handle non-self renaming
 2 < :baz!~baz@baz.baz NICK :bazbaz
 1,2 $ users:2:nick set to: [bazbaz]
-4 $ baz!~baz@baz.baz renames bazbaz
+4,5 $ baz!~baz@baz.baz renames bazbaz
 
-# handle non-self PART
+# handle non-self PART in one of two inhabited channels, preserve identity into re-JOIN
 2 < :bazbaz!~baz@baz.baz PART :#test
 1,2 $ channels:#test:exits:2 set to: [P]
 1,2 $ channels:#test:user_ids set to:
 1,2 $   me
 4 $ parts: bazbaz!~baz@baz.baz
 1,2 $ channels:#test:exits:2 cleared
-1,2 $ users:2 cleared
-
-# handle re-join, treat as new user for lack of identity continuity reliability
 2 < :bazbaz!~baz@baz.baz JOIN :#test
-1,2 $ users:3:nick set to: [?]
-1,2 $ users:3:nick set to: [bazbaz]
-1,2 $ users:3:user set to: [~baz]
-1,2 $ users:3:host set to: [baz.baz]
 1,2 $ channels:#test:user_ids set to:
 1,2 $   1
-1,2 $   3
+1,2 $   2
 1,2 $   me
 4 $ joining: bazbaz!~baz@baz.baz
 
+# handle non-self PART in only inhabited channel, lose identity, re-join as new identity
+2 < :bar!~bar@bar.bar PART :#test
+1,2 $ channels:#test:exits:1 set to: [P]
+1,2 $ channels:#test:user_ids set to:
+1,2 $   2
+1,2 $   me
+4 $ parts: bar!~bar@bar.bar
+1,2 $ channels:#test:exits:1 cleared
+1,2 $ users:1 cleared
+2 < :bar!~bar@bar.bar JOIN :#test
+1,2 $ users:3:nick set to: [?]
+1,2 $ users:3:nick set to: [bar]
+1,2 $ users:3:user set to: [~bar]
+1,2 $ users:3:host set to: [bar.bar]
+1,2 $ channels:#test:user_ids set to:
+1,2 $   2
+1,2 $   3
+1,2 $   me
+4 $ joining: bar!~bar@bar.bar
+
 # handle non-self QUIT
 2 < :bazbaz!~baz@baz.baz QUIT :Client Quit
 , $ bazbaz!~baz@baz.baz quits: Client Quit
-1,2 $ channels:#test:exits:3 set to: [QClient Quit]
+1,2 $ channels:#test:exits:2 set to: [QClient Quit]
 1,2 $ channels:#test:user_ids set to:
-1,2 $   1
+1,2 $   3
 1,2 $   me
 4 $ quits: bazbaz!~baz@baz.baz: Client Quit
-1,2 $ channels:#test:exits:3 cleared
-1,2 $ users:3 cleared
+1,2 $ channels:#test:exits:2 cleared
+1,2 $ channels:#testtest:exits:2 set to: [QClient Quit]
+1,2 $ channels:#testtest:user_ids set to:
+1,2 $   me
+5 $ quits: bazbaz!~baz@baz.baz: Client Quit
+1,2 $ channels:#testtest:exits:2 cleared
+1,2 $ users:2 cleared
 
 # handle self-PART: clear channel, and its squatters
 2 < :foo!~foobarbaz@baz.bar.foo PART :#test
 1,2 $ channels:#test:exits:me set to: [P]
 1,2 $ channels:#test:user_ids set to:
-1,2 $   1
+1,2 $   3
 4 $ parts: foo!~foobarbaz@baz.bar.foo
 1,2 $ channels:#test:exits:me cleared
 1,2 $ channels:#test cleared
-1,2 $ users:1 cleared
+1,2 $ users:3 cleared
 
 # handle /disconnect, clear all
 > /disconnect
 1,2 $ requesting disconnect …
 2 > QUIT :ircplom says bye
 2 < :foo!~foobarbaz@baz.bar.foo QUIT :Client Quit
-1,2,3,4 $ foo!~foobarbaz@baz.bar.foo quits: Client Quit
+1,2,3,4,5 $ foo!~foobarbaz@baz.bar.foo quits: Client Quit
+1,2 $ channels:#testtest:exits:me set to: [QClient Quit]
+1,2 $ channels:#testtest:user_ids set to:
+5 $ quits: foo!~foobarbaz@baz.bar.foo: Client Quit
+1,2 $ channels:#testtest:exits:me cleared
 2 < ERROR :Closing link: (~foobarbaz@baz.bar.foo) [Quit: ircplom says bye]
-1,2,3,4 $ connection_state set to: [Closing link: (~foobarbaz@baz.bar.foo) [Quit: ircplom says bye]]
-1,2,3,4 $ connection_state set to: []
+1,2,3,4,5 $ connection_state set to: [Closing link: (~foobarbaz@baz.bar.foo) [Quit: ircplom says bye]]
+1,2,3,4,5 $ connection_state set to: []
 1,2 $ isupport cleared
 1,2 $ isupport:CHANTYPES set to: [#&]
 1,2 $ isupport:PREFIX set to: [(ov)@+]
 
 # check that (save TUI tests assuming start on window 0, and no 4 yet) on reconnect, all the same effects can be expected
 > /reconnect
-1,2,3,4 $ connection_state set to: [connecting]
-1,2,3,4 $ connection_state set to: [connected]
+1,2,3,4,5 $ connection_state set to: [connecting]
+1,2,3,4,5 $ connection_state set to: [connected]
 repeat 64:147
-repeat 158:295
+repeat 158:328
 
 > /quit
 0 <