[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