summaryrefslogtreecommitdiff
path: root/test/fs.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/fs.py')
-rw-r--r--test/fs.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/fs.py b/test/fs.py
index fce315fc..b2f52c3e 100644
--- a/test/fs.py
+++ b/test/fs.py
@@ -1456,7 +1456,32 @@ def test(binary, quic=False):
assert client.read(f'/pane/{made_now}/body') == b'bold text\n'
row = [r for r in client.read('/index').splitlines() if r.split()[0] == str(made_now).encode()][0]
assert row.split()[2] == b'0', row # clean: nothing to ask at Exit
+ # Its `new` record names it as it is: no +New and a rename.
+ log_now = client.read('/log').decode()
+ assert f'\nnew {made_now} {root}/+Pager\n' in '\n' + log_now, log_now[-400:]
+ assert f'\nrename {made_now} ' not in '\n' + log_now
+ # The directory's one +Pager: the next paged text refills it.
+ fed = subprocess.run([binary, '-'], cwd=root, env=env, input=b'again\r\nprogress 10%\rprogress 100%\n',
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=10)
+ assert fed.returncode == 0, fed.stderr
+ assert serials() - before == {made_now}, (serials(), before)
+ assert client.read(f'/pane/{made_now}/body') == b'again\nprogress 100%\n'
client.remove(f'/pane/{made_now}')
+ # From a directory whose name could not be a ctl line: the
+ # session's directory's +Pager, the text whole, no stray +New.
+ odd = root / 'two\nlines'
+ odd.mkdir()
+ fed = subprocess.run([binary, '-'], cwd=odd, env=env, input=b'odd dir text\n',
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=10)
+ assert fed.returncode == 0, fed.stderr
+ odd_pane, = serials() - before
+ assert client.read(f'/pane/{odd_pane}/name') == f'{root}/+Pager\n'.encode()
+ assert client.read(f'/pane/{odd_pane}/body') == b'odd dir text\n'
+ client.remove(f'/pane/{odd_pane}')
+ # Nothing on stdin: no pane, and done.
+ fed = subprocess.run([binary, '-'], cwd=root, env=env, input=b'',
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=10)
+ assert fed.returncode == 0 and serials() == before, (fed, serials())
# A new name in a directory there but not writable: refused now,
# not a pane that only fails at Save.
shut = root / 'shut-dir'