| AT_BANNER([utilities unit tests]) |
| |
| AT_PREPARE_EACH_TEST([ |
| LOADKEYS_KEYMAP_PATH="$abs_top_srcdir/tests/data/keymaps" |
| ]) |
| |
| AT_SETUP([loadkeys mutually exclusive options]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| cat >experr <<EOF |
| loadkeys: Options --unicode and --ascii are mutually exclusive. |
| EOF |
| AT_CHECK([$abs_top_builddir/src/loadkeys --ascii --unicode --parse /dev/null], [1], [], [experr]) |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys default keymap]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| echo > defkeymap.map |
| AT_CHECK([$abs_top_builddir/src/loadkeys --default --parse]) |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys prefer unicode with keymap file]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys prefer unicode with stdin]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse < "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys prefer unicode with stdin file]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse - < "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys roundtrip]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| for keymap in "qwerty/us" "qwerty/cz" "qwerty/ru3"; do |
| for shape in 2 4 8 16; do |
| echo "Testing $keymap, shape: $shape" |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map"], [0], [stdout]) |
| AT_CHECK([test -s stdout]) |
| cp -f -- stdout expout |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" stdout], [0], [expout]) |
| done |
| done |
| AT_CLEANUP |
| |
| AT_SETUP([loadkeys pipe tkeymap to mktable]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| for keymap in "qwerty/us" "qwerty/cz" "qwerty/ru3"; do |
| for shape in 2 4 8 16; do |
| echo "Testing $keymap, shape: $shape" |
| AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --mktable "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map"], [0], [stdout]) |
| AT_CHECK([test -s stdout]) |
| cp -f -- stdout expout |
| AT_CHECK([ |
| $abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map" | |
| $abs_top_builddir/src/loadkeys -q -u --mktable - |
| ], [0], [expout]) |
| done |
| done |
| AT_CLEANUP |
| |
| AT_SETUP([check parsing and restoration of alt_is_meta]) |
| AT_KEYWORDS([utils unittest]) |
| AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) |
| AT_CHECK([ |
| printf '%s\n' 'alt_is_meta' 'include "qwerty-layout"' | |
| LOADKEYS_INCLUDE_PATH="$LOADKEYS_KEYMAP_PATH/i386/include" \ |
| $abs_top_builddir/src/loadkeys -q -u --tkeymap=2 - |
| ], [0], [stdout]) |
| cp -f -- stdout expout |
| AT_CHECK([grep -qs alt_is_meta stdout]) |
| AT_CHECK([LOADKEYS_KEYMAP_PATH="$PWD" $abs_top_builddir/src/loadkeys -q -u --tkeymap=2 stdout], [0], [expout]) |
| AT_CLEANUP |