aboutsummaryrefslogtreecommitdiff
path: root/test/content/components
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2019-05-11 19:43:56 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2019-05-18 17:28:11 +0900
commitefc48dc7421e3bd48534bc94f84e2b0bd47ae47c (patch)
treedfe80ebc368911c385e6c36aa1096af619b1616b /test/content/components
parenta88324acd9fe626b59637541975abe1ee6041aa7 (diff)
Keymaps as a clean architecture [WIP]
Diffstat (limited to 'test/content/components')
-rw-r--r--test/content/components/common/input.test.ts72
1 files changed, 0 insertions, 72 deletions
diff --git a/test/content/components/common/input.test.ts b/test/content/components/common/input.test.ts
deleted file mode 100644
index f3a943c..0000000
--- a/test/content/components/common/input.test.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import InputComponent from 'content/components/common/input';
-
-describe('InputComponent', () => {
- it('register callbacks', () => {
- let component = new InputComponent(window.document);
- let key = { key: 'a', ctrlKey: true, shiftKey: false, altKey: false, metaKey: false };
- component.onKey((key) => {
- expect(key).to.deep.equal(key);
- });
- component.onKeyDown(key);
- });
-
- it('invoke callback once', () => {
- let component = new InputComponent(window.document);
- let a = 0, b = 0;
- component.onKey((key) => {
- if (key.key == 'a') {
- ++a;
- } else {
- key.key == 'b'
- ++b;
- }
- });
-
- let elem = document.body;
- component.onKeyDown({ key: 'a', target: elem });
- component.onKeyDown({ key: 'b', target: elem });
- component.onKeyPress({ key: 'a', target: elem });
- component.onKeyUp({ key: 'a', target: elem });
- component.onKeyPress({ key: 'b', target: elem });
- component.onKeyUp({ key: 'b', target: elem });
-
- expect(a).is.equals(1);
- expect(b).is.equals(1);
- })
-
- it('does not invoke only meta keys', () => {
- let component = new InputComponent(window.document);
- component.onKey((key) => {
- expect.fail();
- });
- component.onKeyDown({ key: 'Shift' });
- component.onKeyDown({ key: 'Control' });
- component.onKeyDown({ key: 'Alt' });
- component.onKeyDown({ key: 'OS' });
- })
-
- it('ignores events from input elements', () => {
- ['input', 'textarea', 'select'].forEach((name) => {
- let target = window.document.createElement(name);
- let component = new InputComponent(target);
- component.onKey((key) => {
- expect.fail();
- });
- component.onKeyDown({ key: 'x', target });
- });
- });
-
- it('ignores events from contenteditable elements', () => {
- let target = window.document.createElement('div');
- let component = new InputComponent(target);
- component.onKey((key) => {
- expect.fail();
- });
-
- target.setAttribute('contenteditable', '');
- component.onKeyDown({ key: 'x', target });
-
- target.setAttribute('contenteditable', 'true');
- component.onKeyDown({ key: 'x', target });
- })
-});