D7: editor multi-cursor support
Add secondary_cursors field to Editor with insert_char_multi, delete_back_multi, delete_forward_multi methods. Right-to-left processing ensures position shifts don't corrupt earlier insertions. 7 new tests: add/clear, all_positions, insert, delete_back, delete_forward, unicode, duplicate-add.
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
# small examples
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
|
||||
fail=0
|
||||
|
||||
cat <<EOF > exp- || fail=1
|
||||
1c1
|
||||
< a
|
||||
---
|
||||
> b
|
||||
EOF
|
||||
|
||||
cat <<EOF > exp--u || fail=1
|
||||
--- a
|
||||
+++ b
|
||||
@@ -1 +1 @@
|
||||
-a
|
||||
+b
|
||||
EOF
|
||||
|
||||
cat <<EOF > exp--c || fail=1
|
||||
*** a
|
||||
--- b
|
||||
***************
|
||||
*** 1 ****
|
||||
! a
|
||||
--- 1 ----
|
||||
! b
|
||||
EOF
|
||||
|
||||
echo a > a
|
||||
echo b > b
|
||||
for opt in '' -u -c; do
|
||||
returns_ 1 diff $opt a b > out 2> err || fail=1
|
||||
# Remove date and time.
|
||||
sed -e 's/^\([-+*][-+*][-+*] [^ ]*\) .*/\1/' out > k; mv k out
|
||||
compare exp-$(echo $opt|tr ' ' _) out || fail=1
|
||||
done
|
||||
|
||||
Exit $fail
|
||||
Reference in New Issue
Block a user