aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/testsuite.at
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testsuite.at')
-rw-r--r--tests/testsuite.at10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/testsuite.at b/tests/testsuite.at
index a97e0f8..95c1336 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -293,6 +293,10 @@ TE_CHECK([[@I/XYZ/J @EB/foo/ @I/XZY/J @:FN/Z/0/"F(0/0)' Q*-2"N(0/0)'
@:FN///"F(0/0)' Q*-1"N(0/0)']], 0, ignore, ignore)
AT_CLEANUP
+AT_SETUP([Searches by regexp])
+TE_CHECK([[@I/ABC/J :@S/^~[A-Z]+/"F(0/0)']], 0, ignore, ignore)
+AT_CLEANUP
+
AT_SETUP([Search and insertion ranges])
# When deleting characters, the result of ^S/^Y must not change.
TE_CHECK([[@I/XXYYZZ/^SC ."N(0/0)' C @S/YY/ HK ^YU1U0 Q0-2"N(0/0)' Q1-4"N(0/0)']], 0, ignore, ignore)
@@ -515,6 +519,11 @@ AT_SETUP([Search for one of characters in uninitialized Q-Register])
TE_CHECK([[:@S/^EGa/"S(0/0)']], 0, ignore, ignore)
AT_CLEANUP
+AT_SETUP([Search for class with special characters])
+# Relevant when patterns are internally converted to regular expressions.
+TE_CHECK([[![! @I/^@-]B/J ![! @EUc/^@1]A-C/ ::@S/^EM^EGc/"F(0/0)' ^S+3"N(0/0)']], 0, ignore, ignore)
+AT_CLEANUP
+
AT_SETUP([Search accesses wrong Q-Register table])
TE_CHECK([[@^U.#xx/123/ @^Um{:@S/^EG.#xx/$} :Mm Mm]], 1, ignore, ignore)
AT_CLEANUP
@@ -532,6 +541,7 @@ TE_CHECK([[100000<@I"^J">J @S"^EM^X"]], 0, ignore, ignore)
AT_CLEANUP
AT_SETUP([Block-wise backwards search])
+TE_CHECK([[@I/ABCD/ -:@S/A/"F(0/0)']], 0, ignore, ignore)
# Failed when using GRegex (PCRE), which had broken support for partial matches.
# This is not an issue with terex.
TE_CHECK([[2,8EJ @I/ABCD/ -:@S/BC/"F(0/0)' .-3"N(0/0)' ^S+2"N(0/0)']], 0, ignore, ignore)