[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 57565c1ce2d7e243aeeda8676b49574a272771fe
Freddy Vulto
fvulto at gmail.com
Tue Aug 11 19:09:30 UTC 2009
The following commit has been merged in the master branch:
commit 466fc03e28a6f0e24f5f1d9f196235731e3f6424
Author: Freddy Vulto <fvulto at gmail.com>
Date: Tue Aug 11 21:07:06 2009 +0200
Add generate script for completion tests
diff --git a/test/generate b/test/generate
new file mode 100755
index 0000000..5c184d5
--- /dev/null
+++ b/test/generate
@@ -0,0 +1,68 @@
+#!/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"
+if {[assert_bash_type $1]} {
+ source "lib/completions/$1.exp"
+}; # if
+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
+}; # setup()
+
+
+proc teardown {} {
+ assert_env_unmodified
+}; # teardown()
+
+
+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"
--
bash-completion
More information about the Bash-completion-commits
mailing list