import { assert } from 'chai'; import { SyntheticWheelEvent, Modifier, Button } from '../../../../../lib/experimental/io/events/SyntheticWheelEvent'; describe('experimental.io.events.SyntheticWheelEvent', () => { const e1 = new SyntheticWheelEvent(); const e2 = new SyntheticWheelEvent(10, 10, 100, 100, Button.Left, Button.Left, Modifier.Shift); const e3 = new SyntheticWheelEvent(10, 10, 100, 100, Button.Left, Button.Left, Modifier.Shift); const e4 = new SyntheticWheelEvent(-10, -10, 5, -5, Button.Right, Button.Right | Button.Middle, Modifier.Shift | Modifier.Control); it('constructor', () => { assert.strictEqual(e1.modifiers, Modifier.None); assert.strictEqual(e1.deltaX, 0); assert.strictEqual(e1.deltaY, 0); assert.strictEqual(e1.x, 0); assert.strictEqual(e1.y, 0); assert.strictEqual(e1.button, Button.None); assert.strictEqual(e1.buttons, Button.None); assert.strictEqual(e2.modifiers, Modifier.Shift); assert.strictEqual(e2.deltaX, 10); assert.strictEqual(e2.deltaY, 10); assert.strictEqual(e2.x, 100); assert.strictEqual(e2.y, 100); assert.strictEqual(e2.button, Button.Left); assert.strictEqual(e2.buttons, Button.Left); }); it('create', () => { assert.deepEqual(SyntheticWheelEvent.create(10, 10, 100, 100, Button.Left, Button.Left, Modifier.Shift), e3); }); it('className', () => { assert.strictEqual(e1.className(), SyntheticWheelEvent.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)); }); it('testButton', () => { assert.ok(e1.testButton(Button.None)); assert.ok(e2.testButton(Button.Left)); assert.ok(!e2.testButton(Button.None)); assert.ok(e4.testButton(Button.Right)); assert.ok(e4.testButton(Button.Middle)); assert.ok(e4.testButton(Button.Right | Button.Middle)); assert.ok(!e4.testButton(Button.Left | Button.Right | Button.Middle)); assert.ok(!e4.testButton(Button.Left)); }); });