xref: /aosp_15_r20/external/toybox/tests/vi.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Workervitest() {
6*cf5a6c84SAndroid Build Coastguard Worker  script="$2:wq\n"
7*cf5a6c84SAndroid Build Coastguard Worker  testcmd "$1" "-s /dev/stdin input 1>/dev/null 2>/dev/null && cat input" "$4" "$3" "$script"
8*cf5a6c84SAndroid Build Coastguard Worker}
9*cf5a6c84SAndroid Build Coastguard Worker
10*cf5a6c84SAndroid Build Coastguard Workervitest "w movement" "wxwx" "abc def ghi" "abc ef hi"
11*cf5a6c84SAndroid Build Coastguard Workervitest "e movement" "exex" "abc def ghi" "ab de ghi"
12*cf5a6c84SAndroid Build Coastguard Worker# TODO vitest "b movement" '$bxbx' "abc def ghi" "abc ef hi"
13*cf5a6c84SAndroid Build Coastguard Worker
14*cf5a6c84SAndroid Build Coastguard Workervitest "dd first line ascii" "dd" "abc def\nghi jkl\n" "ghi jkl\n"
15*cf5a6c84SAndroid Build Coastguard Worker# TODO vitest "dd last line ascii" "Gdd" "abc def\nghi jkl" "abc def\n"
16*cf5a6c84SAndroid Build Coastguard Worker
17*cf5a6c84SAndroid Build Coastguard Workervitest "dw first line ascii" "dw" "abc def\nghi" "def\nghi"
18*cf5a6c84SAndroid Build Coastguard Worker# TODO vitest "dw last line ascii" 'G$bdw' "abc def\nghi jkl\n" "abc def\nghi \n"
19*cf5a6c84SAndroid Build Coastguard Worker
20*cf5a6c84SAndroid Build Coastguard Workervitest "D first line ascii" "llD" "abc def\nghi jkl" "ab\nghi jkl"
21*cf5a6c84SAndroid Build Coastguard Worker# TODO vitest "D last line ascii" "GD" "abc def\nghi jkl" "abc def\n"
22*cf5a6c84SAndroid Build Coastguard Worker
23*cf5a6c84SAndroid Build Coastguard Workervitest "yw push ascii" "wyw2ep" "abc def ghi\n" "abc def ghidef \n"
24*cf5a6c84SAndroid Build Coastguard Worker
25*cf5a6c84SAndroid Build Coastguard Workervitest "insert start of file ascii" "ihello\x1b" "abc def" "helloabc def"
26*cf5a6c84SAndroid Build Coastguard Worker# TODO vitest "insert end of file ascii" "GAhello\x1b" "abc\ndef" "abc\ndefhello"
27*cf5a6c84SAndroid Build Coastguard Worker
28*cf5a6c84SAndroid Build Coastguard Workervitest "insert multiple times ascii" "iab\x1bicd\x1bief\x1b" "xyz" "acefdbxyz"
29*cf5a6c84SAndroid Build Coastguard Worker
30*cf5a6c84SAndroid Build Coastguard Workervitest "insert multi yank move and push ascii" "ixyz\x1byyjp" \
31*cf5a6c84SAndroid Build Coastguard Worker  "abc def\nghi jkl\nmno pqr\n" "xyzabc def\nghi jkl\nxyzabc def\nmno pqr\n"
32