summaryrefslogtreecommitdiff
path: root/test/generate
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabriel@inconstante.eti.br>2017-09-25 23:46:54 -0300
committerGabriel F. T. Gomes <gabriel@inconstante.eti.br>2017-09-25 23:46:54 -0300
commit6d88f1055806932d9291f96847d2b691cccda2cd (patch)
tree0ff79eedaa8a239331256048981deedbd0721965 /test/generate
parent059a87a5936cfebfd2d71ab8057002cafb2ea051 (diff)
downloadbash-completion-6d88f1055806932d9291f96847d2b691cccda2cd.tar.gz
New upstream version 2.7upstream/2.7
Diffstat (limited to 'test/generate')
-rwxr-xr-xtest/generate64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/generate b/test/generate
new file mode 100755
index 00000000..deeba05a
--- /dev/null
+++ b/test/generate
@@ -0,0 +1,64 @@
+#!/bin/bash -eu
+# Generate skeleton files for completion of specified command.
+# Test skeleton files are generated as well.
+# @param $1 string Command, e.g. 'make'
+# @param $2 string Completion function, e.g. _command
+# @param $3 string Completion arguments, e.g. '-o filenames'
+
+
+# Generate test code
+# @param $1 string Command, e.g. 'make'
+generate_test_completion() {
+ local path="completion/$1.exp"
+ # Does file already exist?
+ #if [ ! -f "$path" ]; then
+ # No, file doesn't exist; generate file
+ cat <<EXPECT > "$path"
+assert_source_completions $1
+EXPECT
+ #fi
+} # generate_test_completion()
+
+
+# Generate test code
+# @param $1 string Command, e.g. 'make'
+# @param $2 string Completion function, e.g. _command
+# @param $3 string Completion arguments, e.g. ' -o filenames'
+generate_test_lib_completions() {
+ local path="lib/completions/$1.exp"
+ # Does file already exist?
+ #if [ ! -f "$path" ]; then
+ # No, file doesn't exist; generate file
+ cat <<EXPECT > "$path"
+proc setup {} {
+ save_env
+}
+
+
+proc teardown {} {
+ assert_env_unmodified
+}
+
+
+setup
+
+
+assert_complete_any "$1 "
+sync_after_int
+
+
+teardown
+EXPECT
+ #fi
+} # generate_test_lib_completions()
+
+
+ # If argument count is wrong, show help
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 command"
+ echo "Example: $0 make"
+ exit 1
+fi
+
+generate_test_completion "$1"
+generate_test_lib_completions "$1"