home · contact · privacy
Some tests refactoring.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 8 Nov 2025 01:30:25 +0000 (02:30 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 8 Nov 2025 01:30:25 +0000 (02:30 +0100)
src/ircplom/testing.py
src/tests/connect_disconnect_legalities.test
src/tests/error_disconnects.test
src/tests/pingpong.test
src/tests/test.test
src/tests/tui_line_formattings.test

index b21090a2a1d58915ea29e051643f52d11240eed1..e44e7c1833e07ffe9191a3b2e52d3a2bb856259c 100644 (file)
@@ -295,10 +295,10 @@ class _Playbook:
                     new_lines_t += [line_t]
             self._lines_t = new_lines_t
             if not replacement_happened:
-                for idx_info, line in self._lines_t[:fragments_cutoff + 1]:
-                    self._line_log_and_parse(idx_info, line)
-                self._lines_t = self._lines_t[fragments_cutoff + 1:]
                 break
+        for idx_info, line in self._lines_t[:fragments_cutoff + 1]:
+            self._line_log_and_parse(idx_info, line)
+        self._lines_t = self._lines_t[fragments_cutoff + 1:]
 
     @staticmethod
     def _args_for_cmd(cmd_name: str, remains: str) -> tuple[str, ...]:
index 568a78cd3939e1eb863b5ca186e42d608b86e104..366d119eb21c8be6d62807d8fd6acd445abdf2c7 100644 (file)
@@ -1,9 +1,20 @@
+× servermsglogged
+servermsg 0 MSG
+log 1 < MSG
+
 × isupport-clear
 log 1 $ isupport cleared
 log 1 $ isupport:CHANTYPES set to: [#&]
 log 1 $ isupport:PREFIX set to: [(ov)@+]
 log 1 $ isupport:USERLEN set to: [10]
 
+× conn-error
+insert servermsglogged : +0 MSG ERROR :Closing link: ???
+log 1 $ connection_state set to: [Closing link: ???]
+insert isupport-clear
+log 1 $ connection_state set to: []
+log 2 $ DISCONNECTED
+
 × connecting
 log 1 $ connection_state set to: [connecting]
 log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
@@ -17,15 +28,6 @@ log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 
-× disconnecting
-insert isupport-clear
-log 1 $ connection_state set to: []
-log 2 $ DISCONNECTED
-
-× servermsglogged
-servermsg 0 MSG
-log 1 < MSG
-
 × ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
 
 # to prepare, initiate connection
@@ -51,9 +53,7 @@ log 1 $ not re-connecting since already connected
 # handle /disconnect on being connected
 > /disconnect
 log 1 > QUIT :ircplom says bye
-insert servermsglogged : +0 MSG ERROR :Closing link: (whatever@whatever.com) [Quit: ircplom says bye]
-log 1 $ connection_state set to: [Closing link: (whatever@whatever.com) [Quit: ircplom says bye]]
-insert disconnecting
+insert conn-error : +0 ??? (whatever@whatever.com) [Quit: ircplom says bye]
 
 # fail to disconnect when already disconnected
 > /disconnect
@@ -64,9 +64,7 @@ log 1 $ already disconnected and not attempting connect
 insert connecting
 
 # allow /disconnect outside connection for auto-connect stops
-insert servermsglogged : +0 MSG ERROR :Closing link: (Connection timed out)
-log 1 $ connection_state set to: [Closing link: (Connection timed out)]
-insert disconnecting
+insert conn-error : +0 ??? (Connection timed out)
 log 1 $ will retry connecting in 1 seconds
 > /disconnect
 log 1 $ already disconnected, stopped connecting attempts
index f0d794a01e82716f3d952b9eff512cfdc05a34e1..9a1c79bad6bf17eea2bcfae3fe45a92bfef426ad 100644 (file)
@@ -1,3 +1,7 @@
+× servermsglogged
+servermsg 0 MSG
+log 1 < MSG
+
 × isupport-clear
 log 1 $ isupport cleared
 log 1 $ isupport:CHANTYPES set to: [#&]
@@ -21,22 +25,19 @@ log 1 > NICK :foo
 insert isupport-clear
 log 1 $ connection_state set to: []
 log 2 $ DISCONNECTED
-× reconnect
-> /reconnect
-insert connecting
 
-× disconnect-with-retry
-insert disconnecting
+× retry
 log 1 $ will retry connecting in 1 seconds
 
-× servermsglogged
-servermsg 0 MSG
-log 1 < MSG
+× conn-error
+insert servermsglogged : +0 MSG ERROR :?
+log 1 $ connection_state set to: [?]
+insert disconnecting
 
 × reconnect-error-logged
-insert reconnect
-insert servermsglogged : +0 MSG ERROR :XXX
-log 1 $ connection_state set to: [XXX]
+> /reconnect
+insert connecting
+insert conn-error : +0 ? XXX
 
 × ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
 
@@ -56,17 +57,14 @@ log 1 $ port set to: [6697]
 insert connecting
 
 # test default ERROR handling
-insert servermsglogged : +0 MSG ERROR :abc def ghi
-log 1 $ connection_state set to: [abc def ghi]
-insert disconnecting
+insert conn-error : +0 ? abc def ghi
 
 # test ERROR regex (non-)matches
 > /window 1
 insert reconnect-error-logged : +0 XXX Closing link: (this should not match)
-insert disconnecting
 insert reconnect-error-logged : +0 XXX Closing link: (Connection timed out)
-insert disconnect-with-retry
+insert retry
 insert reconnect-error-logged : +0 XXX closing Link: (connection timed out)
-insert disconnect-with-retry
+insert retry
 insert reconnect-error-logged : +0 XXX Closing link: (Ping timeout: 240 seconds)
-insert disconnect-with-retry
+insert retry
index 8f7c7c5d0ceee1ad78f68f056aaa6a3b6e2ff643..b8c297446d323f9d9063c7a9b341a7e2d6f3326f 100644 (file)
@@ -1,3 +1,7 @@
+× servermsglogged
+servermsg 0 MSG
+log 1 < MSG
+
 × isupport-clear
 log 1 $ isupport cleared
 log 1 $ isupport:CHANTYPES set to: [#&]
@@ -17,9 +21,9 @@ log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
 
-× servermsglogged
-servermsg 0 MSG
-log 1 < MSG
+× trigger-ping
+servermsg 0 timeout
+log 1 > PING :what's up?
 
 × full-timeout
 # ping on timeout, go on as normal if PONG received 
@@ -37,10 +41,6 @@ log 1 $ connection_state set to: []
 log 2 $ DISCONNECTED
 log 1 $ will retry connecting in 1 seconds
 
-× trigger-ping
-servermsg 0 timeout
-log 1 > PING :what's up?
-
 × ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
 
 > /connect foo.bar.baz foo:bar baz:foobarbazquux
index 5be974b0d7ad57189333a8021104c75dfd5b745e..2fe35144d5ff89be76d01d19be24401de9a423ef 100644 (file)
@@ -2,6 +2,10 @@
 servermsg 0 MSG
 log 1 < MSG
 
+× servernotice
+insert servermsglogged : +0 MSG :*.?.net NOTICE * :XXX
+log 2 < (server) XXX
+
 × isupport-clear
 log 1 $ isupport cleared
 log 1 $ isupport:CHANTYPES set to: [#&]
@@ -31,12 +35,9 @@ log 1 > NICK :foo
 
 × conn_init_1
 # expect some NOTICE and PING to process/reply during initiation
-insert servermsglogged : +0 MSG :*.?.net NOTICE * :*** Looking up your ident...
-log 2 < (server) *** Looking up your ident...
-insert servermsglogged : +0 MSG :*.?.net NOTICE * :*** Looking up your hostname...
-log 2 < (server) *** Looking up your hostname...
-insert servermsglogged : +0 MSG :*.?.net NOTICE * :*** Found your hostname (baz.bar.foo)
-log 2 < (server) *** Found your hostname (baz.bar.foo)
+insert servernotice : +0 XXX *** Looking up your ident...
+insert servernotice : +0 XXX *** Looking up your hostname...
+insert servernotice : +0 XXX *** Found your hostname (baz.bar.foo)
 insert servermsglogged : +0 MSG PING :?
 log 1 > PONG :?
 # handle 433
index 27a93dba8503fe34c3310bf316d7bb714888a716..8ba84bafa67bf6fe1a624fd1af30642990deb041 100644 (file)
@@ -2,6 +2,10 @@
 servermsg 0 MSG
 log 1 < MSG
 
+× servermsglogged-and-line-unwrapped
+insert servermsglogged : +0 MSG XXX
+line 21 on_black,bright_white < §§:§§:§§ XXX§§
+
 × ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
 
 > /connect foo.bar.baz foo bar:baz
@@ -36,8 +40,7 @@ log 1 $ users:me:nick set to: [?]
 log 1 $ users:me:nick set to: [foo]
 
 # check full line not wrapped
-insert servermsglogged : +0 MSG :foo.bar.baz 001 foo :6789 123456789 123456789 123456789 12345678 0
-line 21 on_black,bright_white < §§:§§:§§ :foo.bar.baz 001 foo :6789 123456789 123456789 123456789 12345678 0§§
+insert servermsglogged-and-line-unwrapped : +0 XXX :foo.bar.baz 001 foo :6789 123456789 123456789 123456789 12345678 0
 
 # check wrap if last space-separated item one char too long 
 insert servermsglogged : +0 MSG :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 12345678 01
@@ -66,8 +69,7 @@ line 20 on_black,bright_white    :2345678_1_2345678_2_2345678_3_2345678_4_234567
 line 21 on_black,bright_white   8
 
 # check wrapping calculation on double-width character (tbh not much of a test since the tester itself counts specifically this char as two, so it's pretty much the same as above testing with a sequence of two ASCII chars; mostly just ensures that the wrapping code relies on Terminal.length_to_term)
-insert servermsglogged : +0 MSG :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 1234567 💓
-line 21 on_black,bright_white < §§:§§:§§ :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 1234567 💓§§
+insert servermsglogged-and-line-unwrapped : +0 XXX :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 1234567 💓
 insert servermsglogged : +0 MSG :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 12345678 💓
 line 20 on_black,bright_white < §§:§§:§§ :foo.bar.baz 001 foo :456789 123456789 123456789 123456789 12345678§§
 line 21 on_black,bright_white    💓§§