import { assert } from 'chai'; import { SyntheticEvent, Modifier } from '../../../../../lib/experimental/io/events/SyntheticEvent'; describe('experimental.io.events.SyntheticEvent', () => { const e1 = new SyntheticEvent(); const e2 = new SyntheticEvent(Modifier.Shift); const e3 = new SyntheticEvent(Modifier.Shift); const e4 = new SyntheticEvent(Modifier.Shift | Modifier.Control); it('constructor', () => { assert.strictEqual(e1.modifiers, Modifier.None); assert.strictEqual(e2.modifiers, Modifier.Shift); assert.strictEqual(e3.modifiers, Modifier.Shift); assert.strictEqual(e4.modifiers, Modifier.Shift | Modifier.Control); }); it('create', () => { assert.deepEqual(SyntheticEvent.create(Modifier.Shift), e3); }); it('className', () => { assert.strictEqual(e1.className(), SyntheticEvent.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)); }); });