UNPKG

core-graphics

Version:

A core library for creating shape-based graphic editors

166 lines (126 loc) 5.03 kB
'use strict'; var _tap = require('tap'); var _initialStates = require('./initial-states'); var _editorStateReducer = require('../editor-state-reducer'); var _editorStateReducer2 = _interopRequireDefault(_editorStateReducer); var _editorEvents = require('../editor-events'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _tap.test)('mouse down', function (t) { var dx = 10, dy = 10, button = _editorEvents.ButtonType.Left; var ev = (0, _editorEvents.canvasMouseDown)({ x: dx, y: dy, button: button }); var nextState = (0, _editorStateReducer2.default)(_initialStates.EMPTY_INITIAL_STATE, ev); var _nextState$mouse = nextState.mouse; var down = _nextState$mouse.down; var inside = _nextState$mouse.inside; var x = _nextState$mouse.x; var y = _nextState$mouse.y; var lastDownX = _nextState$mouse.lastDownX; var lastDownY = _nextState$mouse.lastDownY; t.assert(nextState !== _initialStates.EMPTY_INITIAL_STATE); t.equal(down, true); t.equal(inside, true); t.equal(x, dx); t.equal(y, dy); t.equal(lastDownX, dx); t.equal(lastDownY, dy); t.end(); }); (0, _tap.test)('mouse down -> mouse up', function (t) { var sx = 10, sy = 10, ux = 20, uy = 30, button = _editorEvents.ButtonType.Left; var evs = [(0, _editorEvents.canvasMouseDown)({ x: sx, y: sy, button: button }), (0, _editorEvents.canvasMouseUp)({ x: ux, y: uy, button: button })]; var nextState = evs.reduce(_editorStateReducer2.default, _initialStates.EMPTY_INITIAL_STATE); var _nextState$mouse2 = nextState.mouse; var down = _nextState$mouse2.down; var inside = _nextState$mouse2.inside; var x = _nextState$mouse2.x; var y = _nextState$mouse2.y; var lastDownX = _nextState$mouse2.lastDownX; var lastDownY = _nextState$mouse2.lastDownY; t.assert(nextState !== _initialStates.EMPTY_INITIAL_STATE); t.equal(down, false); t.equal(inside, true); t.equal(x, ux); t.equal(y, uy); t.equal(lastDownX, sx); t.equal(lastDownY, sy); t.end(); }); (0, _tap.test)('mouse leave', function (t) { var lx = 10, ly = 10; var evs = [(0, _editorEvents.canvasModifierKeyDown)(_editorEvents.SceneModifierKey.Shift), (0, _editorEvents.canvasMouseLeave)({ x: lx, y: ly })]; var nextState = evs.reduce(_editorStateReducer2.default, _initialStates.EMPTY_INITIAL_STATE); var modifierKeys = nextState.modifierKeys; var _nextState$mouse3 = nextState.mouse; var down = _nextState$mouse3.down; var inside = _nextState$mouse3.inside; var x = _nextState$mouse3.x; var y = _nextState$mouse3.y; t.assert(nextState !== _initialStates.EMPTY_INITIAL_STATE); t.equal(down, false); t.equal(inside, false); t.equal(x, lx); t.equal(y, ly); t.assert(!modifierKeys[_editorEvents.SceneModifierKey.Shift]); t.end(); }); (0, _tap.test)('mouse leave -> mouse enter', function (t) { var lx = 10, ly = 20, ex = 30, ey = 40; var evs = [(0, _editorEvents.canvasMouseLeave)({ x: lx, y: ly }), (0, _editorEvents.canvasModifierKeyDown)(_editorEvents.SceneModifierKey.Shift), (0, _editorEvents.canvasMouseEnter)({ x: ex, y: ey })]; var nextState = evs.reduce(_editorStateReducer2.default, _initialStates.EMPTY_INITIAL_STATE); var modifierKeys = nextState.modifierKeys; var _nextState$mouse4 = nextState.mouse; var down = _nextState$mouse4.down; var inside = _nextState$mouse4.inside; var x = _nextState$mouse4.x; var y = _nextState$mouse4.y; t.assert(nextState !== _initialStates.EMPTY_INITIAL_STATE); t.equal(down, false); t.equal(inside, true); t.equal(x, ex); t.equal(y, ey); t.assert(!modifierKeys[_editorEvents.SceneModifierKey.Shift]); t.end(); }); (0, _tap.test)('mouse move', function (t) { var dx = 10, dy = 20, mx = 30, my = 40; var evs = [(0, _editorEvents.canvasMouseDown)({ x: dx, y: dy }), (0, _editorEvents.canvasMouseMove)({ x: mx, y: my })]; var nextState = evs.reduce(_editorStateReducer2.default, _initialStates.EMPTY_INITIAL_STATE); var _nextState$mouse5 = nextState.mouse; var down = _nextState$mouse5.down; var inside = _nextState$mouse5.inside; var x = _nextState$mouse5.x; var y = _nextState$mouse5.y; var lastDownX = _nextState$mouse5.lastDownX; var lastDownY = _nextState$mouse5.lastDownY; t.assert(nextState !== _initialStates.EMPTY_INITIAL_STATE); t.equal(down, true); t.equal(inside, true); t.equal(lastDownX, dx); t.equal(lastDownY, dy); t.equal(x, mx); t.equal(y, my); t.end(); }); (0, _tap.test)('mod key down - up', function (t) { var key = _editorEvents.SceneModifierKey.Shift; var downEv = (0, _editorEvents.canvasModifierKeyDown)(key); var afterDown = (0, _editorStateReducer2.default)(_initialStates.EMPTY_INITIAL_STATE, downEv); t.assert(!!afterDown.modifierKeys[key]); var upEv = (0, _editorEvents.canvasModifierKeyUp)(key); var afterUp = (0, _editorStateReducer2.default)(afterDown, upEv); t.assert(!afterUp.modifierKeys[key]); t.end(); });