summaryrefslogtreecommitdiff
path: root/test/unit/_count_args.exp
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/_count_args.exp')
-rw-r--r--test/unit/_count_args.exp68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/unit/_count_args.exp b/test/unit/_count_args.exp
new file mode 100644
index 00000000..da61bdb6
--- /dev/null
+++ b/test/unit/_count_args.exp
@@ -0,0 +1,68 @@
+proc setup {} {
+ assert_bash_exec {unset COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS}
+ save_env
+}; # setup()
+
+
+proc teardown {} {
+ assert_bash_exec {unset args COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS}
+ # Delete 'COMP_WORDBREAKS' occupying two lines
+ assert_env_unmodified {
+ /COMP_WORDBREAKS=/{N
+ d
+ }
+ }
+}; # teardown()
+
+
+setup
+
+
+set test "_count_args should run without errors"
+assert_bash_exec {_count_args > /dev/null} $test
+
+
+sync_after_int
+
+
+set test "a b| should set args to 1"; # | = cursor position
+set cmd {COMP_WORDS=(a b); COMP_CWORD=1; COMP_LINE='a b'; COMP_POINT=3; _count_args; echo -n $args}
+assert_bash_list 1 $cmd $test
+
+
+sync_after_int
+
+
+set test "a b|c should set args to 1"; # | = cursor position
+set cmd {COMP_WORDS=(a bc); COMP_CWORD=1; COMP_LINE='a bc'; COMP_POINT=3; _count_args; echo -n $args}
+assert_bash_list 1 $cmd $test
+
+
+sync_after_int
+
+
+set test "a b c| should set args to 2"; # | = cursor position
+set cmd {COMP_WORDS=(a b c); COMP_CWORD=2; COMP_LINE='a b c'; COMP_POINT=4; _count_args; echo -n $args}
+assert_bash_list 2 $cmd $test
+
+
+sync_after_int
+
+
+set test "a b| c should set args to 1"; # | = cursor position
+set cmd {COMP_WORDS=(a b c); COMP_CWORD=1; COMP_LINE='a b c'; COMP_POINT=3; _count_args; echo -n $args}
+assert_bash_list 1 $cmd $test
+
+
+sync_after_int
+
+
+set test "a b -c| d should set args to 2"; # | = cursor position
+set cmd {COMP_WORDS=(a b -c d); COMP_CWORD=2; COMP_LINE='a b -c d'; COMP_POINT=6; _count_args; echo -n $args}
+assert_bash_list 2 $cmd $test
+
+
+sync_after_int
+
+
+teardown