aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-19 03:05:15 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-19 03:34:03 +0200
commit8fbd0b3ff42ae10c3735801ad17f5345fdc77766 (patch)
tree20db24f18d1b07d733478457a6455a5262b74ab3 /tests
parent16c3089a1154f146dbab6a9d43f1c5df1c89739e (diff)
downloadsciteco-8fbd0b3ff42ae10c3735801ad17f5345fdc77766.tar.gz
"special" Q-Registers now support EQq/.../ (load) and E%q/.../ (save) commands
* @EQ$/.../ sets the current directory from the contents of the given file. @E%$/.../ stores the currend directory in the given file. * @EQ*/.../ will fail, just like ^U*...$. @E%*/.../ stores the current buffer's name in the given file. * It's especially useful with the clipboard registers. There could still be a minor bug in @E%~/.../ with regard to EOL normalization as teco_view_save() will use the EOL style of the current document, which may not be the style of the Q-Reg contents. Conversions can generally be avoided for these particular commands. But without teco_view_save() we'd have to care about save point creation.
Diffstat (limited to 'tests')
-rw-r--r--tests/testsuite.at16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 648e76c..fa14140 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -84,6 +84,22 @@ AT_CHECK([$SCITECO -e '@^Ua{@EQ.x//} :Ma @^U.x/FOO/'], 0, ignore, ignore)
AT_CHECK([$SCITECO -e '@^Ua{@EQ.x//} Ma @^U.x/FOO/'], 1, ignore, ignore)
AT_CLEANUP
+AT_SETUP([Loading files into Q-Registers])
+AT_CHECK([echo -n ".." >loadqreg.txt], 0, ignore, ignore)
+AT_CHECK([$SCITECO -e "@EQa/loadqreg.txt/ :Qa-2\"N(0/0)'"], 0, ignore, ignore)
+# Does the same as FG..$. Afterwards, the parent directory should be shorter.
+AT_CHECK([$SCITECO -e ":Q\$Ul @EQ\$/loadqreg.txt/ :Q\$-Ql+1\">(0/0)'"], 0, ignore, ignore)
+AT_CLEANUP
+
+AT_SETUP([Saving Q-Registers contents to files])
+AT_CHECK([$SCITECO -e '@^Ua/test/ @E%a/saveqreg.txt/'], 0, ignore, ignore)
+AT_CHECK([test "`cat saveqreg.txt`" = test], 0, ignore, ignore)
+# The result of E%$ should always have forward slashes,
+# so this check will work on Win32 as well.
+AT_CHECK([$SCITECO -e '@E%$/saveqreg.txt/'], 0, ignore, ignore)
+AT_CHECK([test "`cat saveqreg.txt`" = "$PWD"], 0, ignore, ignore)
+AT_CLEANUP
+
AT_SETUP([8-bit cleanliness])
AT_CHECK([$SCITECO -e "0@I//J 0A\"N(0/0)' :@S/^@/\"F(0/0)'"], 0, ignore, ignore)
AT_CHECK([$SCITECO -e "@EQa//0EE 1U*0EE 0:@EUa/f^@^@/ :Qa-4\"N(0/0)' Ga Z-4\"N(0/0)'"], 0, ignore, ignore)