import { assert } from 'chai'; import { SyntheticKeyboardEvent, Modifier } from '../../../../../lib/experimental/io/events/SyntheticKeyboardEvent'; describe('experimental.io.events.SyntheticKeyboardEvent', () => { const e1 = new SyntheticKeyboardEvent(); const e2 = new SyntheticKeyboardEvent(48, '0', Modifier.Shift); const e3 = new SyntheticKeyboardEvent(48, '0', Modifier.Shift); const e4 = new SyntheticKeyboardEvent(49, '1', Modifier.Shift | Modifier.Control); it('constructor', () => { assert.strictEqual(e1.modifiers, Modifier.None); assert.strictEqual(e1.key, 0); assert.strictEqual(e1.text, ''); assert.strictEqual(e2.modifiers, Modifier.Shift); assert.strictEqual(e2.key, 48); assert.strictEqual(e2.text, '0'); }); it('create', () => { assert.deepEqual(SyntheticKeyboardEvent.create(48, '0', Modifier.Shift), e3); }); it('className', () => { assert.strictEqual(e1.className(), SyntheticKeyboardEvent.className); }); it('testModifier', () => { assert.ok(e1.testModifier(Modifier.None)); assert.ok(e2.testModifier(Modifier.Shift)); assert.ok(!e2.testModifier(Modifier.None)); assert.ok(e4.testModifier(Modifier.Shift)); assert.ok(e4.testModifier(Modifier.Control)); assert.ok(e4.testModifier(Modifier.Shift | Modifier.Control)); assert.ok(!e4.testModifier(Modifier.Alt | Modifier.Shift | Modifier.Control)); assert.ok(!e4.testModifier(Modifier.Alt)); }); });