summaryrefslogtreecommitdiff
path: root/Test/X03zlebindkey.ztst
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-12-10 17:51:41 +0000
committerPeter Stephenson <pws@zsh.org>2015-12-10 17:51:41 +0000
commita5233fd01e9ab4953b7ff8b4cc031485b414b8e3 (patch)
tree504e0695345eed7a11c8c686e4436f6f7db742e8 /Test/X03zlebindkey.ztst
parent67877f60552019226e93f56b108f7b61a60ea11b (diff)
downloadzsh-a5233fd01e9ab4953b7ff8b4cc031485b414b8e3.tar.gz
zsh-a5233fd01e9ab4953b7ff8b4cc031485b414b8e3.zip
37378: New bindkey tests.
Also fix Meta bug on pattern match in zpty -r.
Diffstat (limited to 'Test/X03zlebindkey.ztst')
-rw-r--r--Test/X03zlebindkey.ztst45
1 files changed, 45 insertions, 0 deletions
diff --git a/Test/X03zlebindkey.ztst b/Test/X03zlebindkey.ztst
new file mode 100644
index 000000000..70c42f9c2
--- /dev/null
+++ b/Test/X03zlebindkey.ztst
@@ -0,0 +1,45 @@
+# Tests of the vi mode of ZLE
+
+%prep
+ mb_ok=
+ langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8
+ $(locale -a 2>/dev/null | egrep 'utf8|UTF-8'))
+ for LANG in $langs; do
+ if [[ é = ? ]]; then
+ ZSH_TEST_LANG=$LANG
+ mb_ok=1
+ break;
+ fi
+ done
+ if [[ $OSTYPE = cygwin ]]; then
+ ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
+ elif ( zmodload zsh/zpty 2>/dev/null ); then
+ . $ZTST_srcdir/comptest
+ comptestinit -z $ZTST_testdir/../Src/zsh
+ else
+ ZTST_unimplemented="the zsh/zpty module is not available"
+ fi
+
+%test
+
+ zpty_run 'bindkey -s "\C-xy" foo'
+ zletest $'\C-xy'
+ zpty_run 'bindkey -r "\C-xy"'
+0:bindkey -s
+>BUFFER: foo
+>CURSOR: 3
+
+ if [[ -z $mb_ok ]]; then
+ ZTST_skip="bindkey multibyte test skipped"
+ else
+ zpty_run 'alias unbind="bindkey -r ホ"'
+ zpty_run 'bindkey -s ホ bar'
+ zletest 'ホ'
+ zpty_run unbind
+ zletest 'ホ'
+ fi
+0:bindkey -s multibyte characters
+>BUFFER: bar
+>CURSOR: 3
+>BUFFER: ホ
+>CURSOR: 1