86af9e2aade0313915f95a35fe35a4bf5111ba64
[platform/upstream/kbd.git] / tests / dumpkeys-fulltable.in
1 #!/bin/sh -efu
2
3 cwd="$(readlink -ev "${0%/*}")"
4
5 cd "$cwd"
6
7 BUILDDIR="@BUILDDIR@"
8 DATADIR="@DATADIR@"
9
10 check_keymap() {
11         local kmap temp rc
12
13         rc=0
14         kmap="$1"
15         temp="$(mktemp "$BUILDDIR"/temp.XXXXXXXXX)"
16
17         ./libkeymap-dumpkeys "$kmap" "$2" "$3" > "$temp" || rc=$?
18         cmp -s "$kmap" "$temp" || rc=$?
19
20         if [ "$rc" != 0 ]; then
21                 printf '%s: failed\n' "${kmap##*/}"
22         else
23                 rm -f -- "$temp"
24         fi
25
26         return $rc
27 }
28
29 check_keymap "$DATADIR"/dumpkeys.full.ruwin_cplk-UTF-8.map FULL_TABLE TRUE
30 check_keymap "$DATADIR"/dumpkeys.qwerty-layout.map DEFAULT FALSE
31
32 # check keymaps line
33 kmap="$DATADIR/dumpkeys.ua-ws.map"
34 line0="$(grep '^#keymaps ' "$kmap")" ||:
35 line0="${line0#\#}"
36 line1="$(./libkeymap-dumpkeys "$kmap" SEPARATE_LINES FALSE |grep '^keymaps ')" ||:
37
38 if [ "$line0" != "$line1" ]; then
39         printf 'was: %s\n' "$line0"
40         printf 'new: %s\n' "$line1"
41 fi >&2