abouttreesummaryrefslogcommitdiff
path: root/test/juloo.keyboard2/ModmapTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/juloo.keyboard2/ModmapTest.java')
-rw-r--r--test/juloo.keyboard2/ModmapTest.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/juloo.keyboard2/ModmapTest.java b/test/juloo.keyboard2/ModmapTest.java
new file mode 100644
index 0000000..3457c3b
--- /dev/null
+++ b/test/juloo.keyboard2/ModmapTest.java
@@ -0,0 +1,47 @@
+package juloo.keyboard2;
+
+import android.view.KeyEvent;
+import juloo.keyboard2.*;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class ModmapTest
+{
+ public ModmapTest() {}
+
+ @Test
+ public void test()
+ {
+ Modmap mm = new Modmap();
+ mm.add(Modmap.M.Shift, KeyValue.getKeyByName("a"), KeyValue.getKeyByName("b"));
+ mm.add(Modmap.M.Fn, KeyValue.getKeyByName("c"), KeyValue.getKeyByName("d"));
+ Utils.apply(mm, "a", KeyValue.Modifier.SHIFT, "b");
+ Utils.apply(mm, "a", KeyValue.Modifier.FN, "æ");
+ Utils.apply(mm, "c", KeyValue.Modifier.FN, "d");
+ }
+
+ @Test
+ public void keyevent_mappings()
+ {
+ Modmap mm = new Modmap();
+ mm.add(Modmap.M.Ctrl, KeyValue.getKeyByName("љ"), KeyValue.getKeyByName("љ:q"));
+ Utils.apply(mm, "a", KeyValue.Modifier.CTRL, KeyValue.getKeyByName("a").withKeyevent(29));
+ Utils.apply(mm, "љ", KeyValue.Modifier.CTRL, KeyValue.getKeyByName("љ").withKeyevent(45));
+ }
+
+ static class Utils
+ {
+ static void apply(Modmap mm, String a, KeyValue.Modifier mod, String expected)
+ {
+ apply(mm, a, mod, KeyValue.getKeyByName(expected));
+ }
+
+ static void apply(Modmap mm, String a, KeyValue.Modifier mod, KeyValue expected)
+ {
+ KeyModifier.set_modmap(mm);
+ KeyValue b = KeyModifier.modify(KeyValue.getKeyByName(a), mod);
+ KeyModifier.set_modmap(null);
+ assertEquals(b, expected);
+ }
+ }
+}