From 3d4941fa962e083040e8afd8cb0b95e70d6d60bc Mon Sep 17 00:00:00 2001 From: Freddy Vulto Date: Sat, 10 Apr 2010 12:13:33 +0200 Subject: [PATCH] (testsuite) Add test case for _filedir with directory containing multibyte character. See also: http://www.mail-archive.com/bash-completion-devel@lists.alioth.debian.org/msg01942.html --- test/fixtures/_filedir/aé/g | 0 test/unit/_filedir.exp | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/_filedir/aé/g diff --git a/test/fixtures/_filedir/aé/g b/test/fixtures/_filedir/aé/g new file mode 100644 index 00000000..e69de29b diff --git a/test/unit/_filedir.exp b/test/unit/_filedir.exp index 3529f6e1..204d31cf 100644 --- a/test/unit/_filedir.exp +++ b/test/unit/_filedir.exp @@ -35,7 +35,10 @@ proc teardown {} { assert_bash_exec {unset COMPREPLY cur} assert_bash_exec {unset -f _f _g} assert_bash_exec {complete -r f g} - assert_env_unmodified { /OLDPWD/d } + assert_env_unmodified { + /OLDPWD/d + /OLD_CTYPE/d + } } @@ -245,4 +248,20 @@ assert_complete_dir {ee.e1 foo/ gg.e1} "g " "fixtures/_filedir/ext" $test sync_after_int +set test "completing f aé should return g when LC_CTYPE=C" +# Backup/set LC_CTYPE +assert_bash_exec {OLD_CTYPE=$LC_CTYPE; LC_CTYPE=C} +if {[lindex $::BASH_VERSINFO 0] > 3} { + assert_complete_dir g "f aé/" "fixtures/_filedir" +} else { + assert_complete_dir "\b\b\b\b$'a\\\\303\\\\251/g'" "f aé/" \ + "fixtures/_filedir" +} +# Restore LC_CTYPE +assert_bash_exec {[[ $OLD_CTYPE ]] && LC_CTYPE=$OLD_CTYPE || unset LC_CTYPE} + + +sync_after_int + + teardown