Skip to content

Commit 36e8094

Browse files
committed
Make dnd kitten testing infra a bit more robust
1 parent 0ddbffd commit 36e8094

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

kittens/dnd/main.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,13 @@ func run_loop(opts *Options, drop_dests map[string]drop_dest, drag_sources map[s
6161
return err
6262
}
6363
send_test_response := func(payload string) {
64-
in_test_mode = true
6564
lp.DebugPrintln(payload)
6665
}
6766
render_screen := func() error {
68-
lp.StartAtomicUpdate()
69-
defer lp.EndAtomicUpdate()
67+
if !in_test_mode {
68+
lp.StartAtomicUpdate()
69+
defer lp.EndAtomicUpdate()
70+
}
7071
lp.ClearScreen()
7172
if allow_drags {
7273
if drag_started {
@@ -157,6 +158,9 @@ func run_loop(opts *Options, drop_dests map[string]drop_dest, drag_sources map[s
157158
switch string(cmd.Payload) {
158159
case "PING":
159160
send_test_response("PONG")
161+
case "SETUP":
162+
in_test_mode = true
163+
lp.NoRoundtripToTerminalOnExit()
160164
default:
161165
send_test_response("UNKNOWN TEST COMMAND: " + string(cmd.Payload))
162166
}

kitty_tests/dnd_kitten.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
from base64 import standard_b64encode
66

77
from kitty.constants import kitten_exe
8-
from kitty.fast_data_types import DND_CODE, dnd_set_test_write_func, dnd_test_cleanup_fake_window, dnd_test_create_fake_window, dnd_test_probe_state
8+
from kitty.fast_data_types import (
9+
DND_CODE,
10+
dnd_set_test_write_func,
11+
dnd_test_cleanup_fake_window,
12+
dnd_test_create_fake_window,
13+
dnd_test_probe_state,
14+
)
915

1016
from . import PTY, BaseTest
1117
from .dnd import WriteCapture
@@ -28,6 +34,7 @@ def setUp(self):
2834
self.capture = capture
2935
self.test_dir = self.enterContext(tempfile.TemporaryDirectory())
3036
self.messages_from_kitten = ''
37+
self.set_options({'tab_bar_style': 'hidden'})
3138

3239
def send_dnd_command_to_kitten(self, payload=b'', as_base64=False, flush=False, **metadata):
3340
header = f'\x1b]{DND_CODE};'
@@ -63,6 +70,7 @@ def finish_setup(self, remote_client: bool = False):
6370
self.assertEqual(remote_client, self.probe_state('drop_is_remote_client'))
6471
if self.probe_state('drag_can_offer'):
6572
self.assertEqual(remote_client, self.probe_state('drag_is_remote_client'))
73+
self.send_dnd_command_to_kitten('SETUP', t='T')
6674

6775
def append(self, text):
6876
self.messages_from_kitten += text

0 commit comments

Comments
 (0)