diff options
Diffstat (limited to 'test/fs.py')
| -rw-r--r-- | test/fs.py | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -234,6 +234,17 @@ def discovery(binary, embedded=False): assert locked, 'a lock waiting on another open goes once it unlocks' client.close(mine) other.close(theirs) + # /focus names the pane with the keyboard and moves it, as rio's + # wctl `current` does; a pane's ctl line ends saying which it is. + client.write('/focus', f'{first}\n'.encode()) + assert client.read('/focus') == f'{first}\n'.encode() + assert client.read(f'/pane/{first}/ctl').endswith(b' current ') + assert client.read(f'/pane/{second}/ctl').endswith(b' notcurrent ') + try: + client.write('/focus', b'99999\n') + raise AssertionError('focus took a serial no pane has') + except OSError as refused: + assert 'no such window' in str(refused), refused assert set(client.list('/pane')) == {'new', str(fixture), str(first), str(second)} client.write(f'/pane/{first}/body', b'first pane', truncate=True) assert client.read(f'/pane/{first}/body') == b'first pane' @@ -304,7 +315,7 @@ def discovery(binary, embedded=False): assert client.read('/src/pardes.zig').startswith(b'const std') assert client.stat('/src/pardes.zig')['mode'] == 0o444 assert b'pub const Pardes' in client.read(f'/pane/{look(client, "/virtual/src/pardes.zig")}/body') - print('9P discovery: listing/stat/find are inert; new, remove, look, exec, name, sel, log and ctl lock behave') + print('9P discovery: listing/stat/find are inert; new, remove, look, exec, name, sel, log, ctl lock and focus behave') def run_file(binary): |
