aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2017-05-31 15:51:59 +0200
committerDaniel P. Berrange <berrange@redhat.com>2017-08-02 15:31:13 +0100
commit199ddce53eb5e1db1b9d4e3b3a38c551ed16388d (patch)
treea6a0f7c7e8434f173d89eb94f192fb6e5dcf712b /tests
parent57f3cd34445e186f5a50cd246f77964f95515cf6 (diff)
downloadkeycodemapdb-199ddce53eb5e1db1b9d4e3b3a38c551ed16388d.zip
keycodemapdb-199ddce53eb5e1db1b9d4e3b3a38c551ed16388d.tar.gz
keycodemapdb-199ddce53eb5e1db1b9d4e3b3a38c551ed16388d.tar.bz2
Handle string based codes
Some systems use string identifiers rather than integers. Signed-off-by: Pierre Ossman <ossman@cendio.se>
Diffstat (limited to 'tests')
-rw-r--r--tests/.gitignore4
-rw-r--r--tests/Makefile43
-rw-r--r--tests/stdc++.cc29
-rw-r--r--tests/stdc.c29
-rw-r--r--tests/test.py13
5 files changed, 115 insertions, 3 deletions
diff --git a/tests/.gitignore b/tests/.gitignore
index cbc31ba..88e7c03 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,5 +1,9 @@
osx2win32.*
osx2win32_name.*
+osx2xkb.*
+osx2xkb_name.*
+html2win32.*
+html2win32_name.*
osx.*
osx_name.*
stdc
diff --git a/tests/Makefile b/tests/Makefile
index 2cf5903..ccb3686 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -13,33 +13,66 @@ SOURCES := $(GEN) $(DATA)
.DELETE_ON_ERROR:
-stdc: stdc.c osx2win32.h osx2win32_name.h osx.h osx_name.h
+stdc: stdc.c osx2win32.h osx2win32_name.h \
+ osx2xkb.h osx2xkb_name.h \
+ html2win32.h html2win32_name.h \
+ osx.h osx_name.h
$(CC) -o $@ $^
osx2win32.h: $(SOURCES)
$(GEN) --lang stdc code-map $(DATA) osx win32 > $@
osx2win32_name.h: $(SOURCES)
$(GEN) --lang stdc name-map $(DATA) osx win32 > $@
+osx2xkb.h: $(SOURCES)
+ $(GEN) --lang stdc code-map $(DATA) osx xkb > $@
+osx2xkb_name.h: $(SOURCES)
+ $(GEN) --lang stdc name-map $(DATA) osx xkb > $@
+html2win32.h: $(SOURCES)
+ $(GEN) --lang stdc code-map $(DATA) html win32 > $@
+html2win32_name.h: $(SOURCES)
+ $(GEN) --lang stdc name-map $(DATA) html win32 > $@
osx.h: $(SOURCES)
$(GEN) --lang stdc code-table $(DATA) osx > $@
osx_name.h: $(SOURCES)
$(GEN) --lang stdc name-table $(DATA) osx > $@
-stdc++: stdc++.cc osx2win32.hh osx2win32_name.hh osx.hh osx_name.hh
+stdc++: stdc++.cc osx2win32.hh osx2win32_name.hh \
+ osx2xkb.hh osx2xkb_name.hh \
+ html2win32.hh html2win32_name.hh \
+ osx.hh osx_name.hh
$(CC) -o $@ $^
osx2win32.hh: $(SOURCES)
$(GEN) --lang stdc++ code-map $(DATA) osx win32 > $@
osx2win32_name.hh: $(SOURCES)
$(GEN) --lang stdc++ name-map $(DATA) osx win32 > $@
+osx2xkb.hh: $(SOURCES)
+ $(GEN) --lang stdc++ code-map $(DATA) osx xkb > $@
+osx2xkb_name.hh: $(SOURCES)
+ $(GEN) --lang stdc++ name-map $(DATA) osx xkb > $@
+html2win32.hh: $(SOURCES)
+ $(GEN) --lang stdc++ code-map $(DATA) html win32 > $@
+html2win32_name.hh: $(SOURCES)
+ $(GEN) --lang stdc++ name-map $(DATA) html win32 > $@
osx.hh: $(SOURCES)
$(GEN) --lang stdc++ code-table $(DATA) osx > $@
osx_name.hh: $(SOURCES)
$(GEN) --lang stdc++ name-table $(DATA) osx > $@
-python2: osx2win32.py osx2win32_name.py osx.py osx_name.py
+python2: osx2win32.py osx2win32_name.py \
+ osx2xkb.py osx2xkb_name.py \
+ html2win32.py html2win32_name.py \
+ osx.py osx_name.py
osx2win32.py: $(SOURCES)
$(GEN) --lang python2 code-map $(DATA) osx win32 > $@
osx2win32_name.py: $(SOURCES)
$(GEN) --lang python2 name-map $(DATA) osx win32 > $@
+osx2xkb.py: $(SOURCES)
+ $(GEN) --lang python2 code-map $(DATA) osx xkb > $@
+osx2xkb_name.py: $(SOURCES)
+ $(GEN) --lang python2 name-map $(DATA) osx xkb > $@
+html2win32.py: $(SOURCES)
+ $(GEN) --lang python2 code-map $(DATA) html win32 > $@
+html2win32_name.py: $(SOURCES)
+ $(GEN) --lang python2 name-map $(DATA) html win32 > $@
osx.py: $(SOURCES)
$(GEN) --lang python2 code-table $(DATA) osx > $@
osx_name.py: $(SOURCES)
@@ -48,6 +81,10 @@ osx_name.py: $(SOURCES)
clean:
rm -f osx2win32.*
rm -f osx2win32_name.*
+ rm -f osx2xkb.*
+ rm -f osx2xkb_name.*
+ rm -f html2win32.*
+ rm -f html2win32_name.*
rm -f osx.*
rm -f osx_name.*
rm -f stdc stdc++
diff --git a/tests/stdc++.cc b/tests/stdc++.cc
index 51e1fb0..38551f0 100644
--- a/tests/stdc++.cc
+++ b/tests/stdc++.cc
@@ -12,14 +12,43 @@
#include "osx2win32.hh"
#include "osx2win32_name.hh"
+
+#include "osx2xkb.hh"
+#include "osx2xkb_name.hh"
+
+#include "html2win32.hh"
+#include "html2win32_name.hh"
+
#include "osx.hh"
#include "osx_name.hh"
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+
int main(int argc, char** argv)
{
+ unsigned i;
+
assert(code_map_osx_to_win32[0x1d] == 0x30);
assert(strcmp(name_map_osx_to_win32[0x1d], "VK_0") == 0);
+ assert(strcmp(code_map_osx_to_xkb[0x1d], "AE10") == 0);
+ assert(strcmp(name_map_osx_to_xkb[0x1d], "AE10") == 0);
+
+ for (i = 0;i < ARRAY_SIZE(code_map_osx_to_win32);i++) {
+ if (strcmp(code_map_html_to_win32[i].from, "ControlLeft") == 0) {
+ assert(code_map_html_to_win32[i].to == 0x11);
+ break;
+ }
+ }
+ assert(i != ARRAY_SIZE(code_map_osx_to_win32));
+ for (i = 0;i < ARRAY_SIZE(name_map_html_to_win32);i++) {
+ if (strcmp(name_map_html_to_win32[i].from, "ControlLeft") == 0) {
+ assert(strcmp(name_map_html_to_win32[i].to, "VK_CONTROL") == 0);
+ break;
+ }
+ }
+ assert(i != ARRAY_SIZE(name_map_html_to_win32));
+
assert(code_table_osx[0x1d] == 0x3b);
assert(strcmp(name_table_osx[0x1d], "Control") == 0);
diff --git a/tests/stdc.c b/tests/stdc.c
index 8668b74..df65116 100644
--- a/tests/stdc.c
+++ b/tests/stdc.c
@@ -12,14 +12,43 @@
#include "osx2win32.h"
#include "osx2win32_name.h"
+
+#include "osx2xkb.h"
+#include "osx2xkb_name.h"
+
+#include "html2win32.h"
+#include "html2win32_name.h"
+
#include "osx.h"
#include "osx_name.h"
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+
int main(int argc, char** argv)
{
+ unsigned i;
+
assert(code_map_osx_to_win32[0x1d] == 0x30);
assert(strcmp(name_map_osx_to_win32[0x1d], "VK_0") == 0);
+ assert(strcmp(code_map_osx_to_xkb[0x1d], "AE10") == 0);
+ assert(strcmp(name_map_osx_to_xkb[0x1d], "AE10") == 0);
+
+ for (i = 0;i < ARRAY_SIZE(code_map_osx_to_win32);i++) {
+ if (strcmp(code_map_html_to_win32[i].from, "ControlLeft") == 0) {
+ assert(code_map_html_to_win32[i].to == 0x11);
+ break;
+ }
+ }
+ assert(i != ARRAY_SIZE(code_map_osx_to_win32));
+ for (i = 0;i < ARRAY_SIZE(name_map_html_to_win32);i++) {
+ if (strcmp(name_map_html_to_win32[i].from, "ControlLeft") == 0) {
+ assert(strcmp(name_map_html_to_win32[i].to, "VK_CONTROL") == 0);
+ break;
+ }
+ }
+ assert(i != ARRAY_SIZE(name_map_html_to_win32));
+
assert(code_table_osx[0x1d] == 0x3b);
assert(strcmp(name_table_osx[0x1d], "Control") == 0);
diff --git a/tests/test.py b/tests/test.py
index 21bcefc..f265145 100644
--- a/tests/test.py
+++ b/tests/test.py
@@ -7,11 +7,24 @@
import osx2win32
import osx2win32_name
+
+import osx2xkb
+import osx2xkb_name
+
+import html2win32
+import html2win32_name
+
import osx
import osx_name
assert osx2win32.code_map_osx_to_win32[0x1d] == 0x30
assert osx2win32_name.name_map_osx_to_win32[0x1d] == "VK_0"
+assert osx2xkb.code_map_osx_to_xkb[0x1d] == "AE10"
+assert osx2xkb_name.name_map_osx_to_xkb[0x1d] == "AE10"
+
+assert html2win32.code_map_html_to_win32["ControlLeft"] == 0x11
+assert html2win32_name.name_map_html_to_win32["ControlLeft"] == "VK_CONTROL"
+
assert osx.code_table_osx[0x1d] == 0x3b;
assert osx_name.name_table_osx[0x1d] == "Control";