UNPKG

wonder.js

Version:
426 lines (423 loc) 51.2 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var Sinon = require("wonder-bs-sinon/lib/js/src/sinon.js"); var Sinon$1 = require("sinon"); var Wonder_jest = require("wonder-bs-jest/lib/js/src/wonder_jest.js"); var ViewTool$Wonderjs = require("../../../../../tool/service/device/ViewTool.js"); var EventTool$Wonderjs = require("../../../../job/no_worker/tool/EventTool.js"); var ViewService$Wonderjs = require("../../../../../../src/service/record/main/device/ViewService.js"); var MainStateTool$Wonderjs = require("../../../../../tool/service/state/MainStateTool.js"); var MouseEventTool$Wonderjs = require("../../../../job/no_worker/tool/MouseEventTool.js"); var TouchEventTool$Wonderjs = require("../../../../job/no_worker/tool/TouchEventTool.js"); var NoWorkerJobTool$Wonderjs = require("../../../../../tool/service/job/no_worker/NoWorkerJobTool.js"); var KeyboardEventTool$Wonderjs = require("../../../../job/no_worker/tool/KeyboardEventTool.js"); var FlyCameraControllerAPI$Wonderjs = require("../../../../../../src/api/camera_controller/FlyCameraControllerAPI.js"); var FlyCameraControllerTool$Wonderjs = require("../../../../../tool/service/camera_controller/FlyCameraControllerTool.js"); var EventCameraControllerTool$Wonderjs = require("../../../../../tool/service/camera_controller/EventCameraControllerTool.js"); Wonder_jest.describe("test fly cameraController event", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); return /* () */0; })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); return Wonder_jest.describe("bind flyCameraController's event", (function (param) { var _prepareMouseEvent = function (canvasHeight) { var state = EventCameraControllerTool$Wonderjs.prepareMouseEvent(sandbox); var canvas = ViewService$Wonderjs.unsafeGetCanvas(state[/* viewRecord */8]); canvas.height = canvasHeight; return state; }; var _prepareKeyEvent = function (param) { var state = EventCameraControllerTool$Wonderjs.prepareKeyboardEvent(sandbox); var match = FlyCameraControllerTool$Wonderjs.createGameObject(state); var cameraController = match[3][0]; var positionDiff = /* tuple */[ 0, 0, 0 ]; var state$1 = FlyCameraControllerTool$Wonderjs.setTranslationDiff(cameraController, positionDiff, FlyCameraControllerAPI$Wonderjs.setFlyCameraControllerMoveSpeed(cameraController, 0.8, match[0])); var state$2 = NoWorkerJobTool$Wonderjs.execInitJobs(state$1); var state$3 = FlyCameraControllerAPI$Wonderjs.bindFlyCameraControllerEvent(cameraController, state$2); return /* tuple */[ state$3, cameraController, 0.8, positionDiff ]; }; Wonder_jest.describe("test bind one flyCameraController's event", (function (param) { var _prepareFlyCameraEvent = function (canvasHeight) { var state = _prepareMouseEvent(canvasHeight); var match = MouseEventTool$Wonderjs.prepareForPointerLock(sandbox, state); var match$1 = FlyCameraControllerTool$Wonderjs.createGameObject(match[0]); var cameraController = match$1[3][0]; var state$1 = NoWorkerJobTool$Wonderjs.execInitJobs(match$1[0]); var state$2 = FlyCameraControllerAPI$Wonderjs.bindFlyCameraControllerEvent(cameraController, state$1); return /* tuple */[ cameraController, MainStateTool$Wonderjs.setState(state$2) ]; }; return Wonder_jest.describe("bind event", (function (param) { Wonder_jest.describe("support pointer lock", (function (param) { Wonder_jest.describe("bind point drag start event", (function (param) { var _prepareFlyCameraRequestLockAndEvent = function (param) { var state = _prepareMouseEvent(100); var match = MouseEventTool$Wonderjs.prepareForPointerLock(sandbox, state); var match$1 = FlyCameraControllerTool$Wonderjs.createGameObject(match[0]); var state$1 = NoWorkerJobTool$Wonderjs.execInitJobs(match$1[0]); var state$2 = FlyCameraControllerAPI$Wonderjs.bindFlyCameraControllerEvent(match$1[3][0], state$1); return /* tuple */[ match[1], MainStateTool$Wonderjs.setState(state$2) ]; }; Wonder_jest.test("if is mouse event, request canvas pointerLock", (function (param) { var match = _prepareFlyCameraRequestLockAndEvent(/* () */0); var state = match[1]; EventTool$Wonderjs.triggerDomEvent("mousedown", EventTool$Wonderjs.getPointEventBindedDom(state), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.restore(state); return Sinon.toCalledOnce(Wonder_jest.Expect[/* expect */0](match[0])); })); return Wonder_jest.test("else if is touch event, not request canvas pointerLock", (function (param) { var match = _prepareFlyCameraRequestLockAndEvent(/* () */0); var state = match[1]; EventTool$Wonderjs.triggerDomEvent("touchstart", EventTool$Wonderjs.getPointEventBindedDom(state), TouchEventTool$Wonderjs.buildTouchEvent(undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.restore(state); return Sinon.toCalled(Wonder_jest.Expect[/* not__ */24](Wonder_jest.Expect[/* expect */0](match[0]))); })); })); return Wonder_jest.describe("bind point drag drop event", (function (param) { var _prepareForPointerLock = function (sandbox, pointerLockElement, state) { var $$document$1 = document; $$document$1.pointerLockElement = pointerLockElement; var exitPointerLockStub = Sinon.createEmptyStubWithJsObjSandbox(sandbox); $$document$1.exitPointerLock = exitPointerLockStub; MouseEventTool$Wonderjs.prepareForPointerLock(sandbox, state); return /* tuple */[ state, exitPointerLockStub ]; }; var _prepareFlycameraExitLockAndBindEvent = function (canvas, state) { var match = _prepareForPointerLock(sandbox, canvas, state); var match$1 = FlyCameraControllerTool$Wonderjs.createGameObject(match[0]); var state$1 = NoWorkerJobTool$Wonderjs.execInitJobs(match$1[0]); var state$2 = FlyCameraControllerAPI$Wonderjs.bindFlyCameraControllerEvent(match$1[3][0], state$1); return /* tuple */[ match[1], MainStateTool$Wonderjs.setState(state$2) ]; }; Wonder_jest.describe("if is mouse event", (function (param) { Wonder_jest.test("if document.pointerLockElement === canvas, exitPointerLock", (function (param) { var state = _prepareMouseEvent(100); var canvas = ViewTool$Wonderjs.unsafeGetCanvas(state); var match = _prepareFlycameraExitLockAndBindEvent(canvas, state); var state$1 = match[1]; EventTool$Wonderjs.triggerDomEvent("mousedown", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.triggerDomEvent("mouseup", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.restore(state$1); return Sinon.toCalledOnce(Wonder_jest.Expect[/* expect */0](match[0])); })); return Wonder_jest.test("else, not exitPointerLock", (function (param) { var state = _prepareMouseEvent(100); var match = _prepareFlycameraExitLockAndBindEvent(1, state); var state$1 = match[1]; EventTool$Wonderjs.triggerDomEvent("mousedown", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.triggerDomEvent("mouseup", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.restore(state$1); return Sinon.toCalled(Wonder_jest.Expect[/* not__ */24](Wonder_jest.Expect[/* expect */0](match[0]))); })); })); return Wonder_jest.describe("else if is touch event", (function (param) { return Wonder_jest.test("not exitPointerLock", (function (param) { var state = _prepareMouseEvent(100); var canvas = ViewTool$Wonderjs.unsafeGetCanvas(state); var match = _prepareFlycameraExitLockAndBindEvent(canvas, state); var state$1 = match[1]; EventTool$Wonderjs.triggerDomEvent("touchstart", EventTool$Wonderjs.getPointEventBindedDom(state$1), TouchEventTool$Wonderjs.buildTouchEvent(undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.triggerDomEvent("touchend", EventTool$Wonderjs.getPointEventBindedDom(state$1), TouchEventTool$Wonderjs.buildTouchEvent(undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.restore(state$1); return Sinon.toCalled(Wonder_jest.Expect[/* not__ */24](Wonder_jest.Expect[/* expect */0](match[0]))); })); })); })); })); Wonder_jest.describe("bind point drag over event", (function (param) { return Wonder_jest.describe("change orbit", (function (param) { return Wonder_jest.test("set euler angle diff value", (function (param) { var match = _prepareFlyCameraEvent(100); var cameraController = match[0]; var state = FlyCameraControllerTool$Wonderjs.setEulerAngleDiff(cameraController, /* record */[ /* diffX */0, /* diffY */0 ], FlyCameraControllerAPI$Wonderjs.setFlyCameraControllerRotateSpeed(cameraController, 200, match[1])); EventTool$Wonderjs.triggerDomEvent("mousedown", EventTool$Wonderjs.getPointEventBindedDom(state), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)); EventTool$Wonderjs.triggerFirstMouseDragOverEvent(MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, 1, 2, undefined, undefined, undefined, undefined, /* () */0), state); var state$1 = EventTool$Wonderjs.restore(state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerTool$Wonderjs.unsafeGetEulerAngleDiff(cameraController, state$1)), /* record */[ /* diffX */4, /* diffY */2 ]); })); })); })); Wonder_jest.describe("bind point scale event", (function (param) { Wonder_jest.test("preventDefault", (function (param) { var match = _prepareFlyCameraEvent(100); var preventDefaultFunc = Sinon.createEmptyStubWithJsObjSandbox(sandbox); var stopPropagationFunc = Sinon.createEmptyStubWithJsObjSandbox(sandbox); var state = MainStateTool$Wonderjs.setState(match[1]); EventTool$Wonderjs.triggerDomEvent("mousewheel", EventTool$Wonderjs.getPointEventBindedDom(state), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, preventDefaultFunc, stopPropagationFunc, /* () */0)); EventTool$Wonderjs.restore(state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ Sinon.getCallCount(preventDefaultFunc), Sinon.getCallCount(stopPropagationFunc) ]), /* tuple */[ 1, 1 ]); })); return Wonder_jest.test("set translation diff value", (function (param) { var match = _prepareFlyCameraEvent(100); var cameraController = match[0]; var state = FlyCameraControllerAPI$Wonderjs.setFlyCameraControllerWheelSpeed(cameraController, 2.5, match[1]); var state$1 = MainStateTool$Wonderjs.setState(state); EventTool$Wonderjs.triggerDomEvent("mousewheel", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, -3, undefined, undefined, undefined, /* () */0)); var state$2 = EventTool$Wonderjs.restore(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerTool$Wonderjs.unsafeGetTranslationDiff(cameraController, state$2)), /* tuple */[ 0, 0, -7.5 ]); })); })); Wonder_jest.describe("bind keydown event", (function (param) { Wonder_jest.test("if is combined key, not add direction into directionArray ", (function (param) { var match = _prepareKeyEvent(/* () */0); var state = MainStateTool$Wonderjs.setState(match[0]); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(true, undefined, undefined, undefined, 65, /* () */0)); var state$1 = EventTool$Wonderjs.restore(state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerDirectionArray(match[1], state$1).length), 0); })); return Wonder_jest.describe("else, add direction into directionArray", (function (param) { Wonder_jest.describe("test keydown one direction", (function (param) { var _judgeChangeDirectionArray = function (keyCode, direction) { var match = _prepareKeyEvent(/* () */0); var state = MainStateTool$Wonderjs.setState(match[0]); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, keyCode, /* () */0)); var state$1 = EventTool$Wonderjs.restore(MainStateTool$Wonderjs.unsafeGetState(/* () */0)); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerDirectionArray(match[1], state$1)), /* array */[direction]); }; Wonder_jest.test("test move left", (function (param) { return _judgeChangeDirectionArray(65, /* Left */0); })); Wonder_jest.test("test move right", (function (param) { return _judgeChangeDirectionArray(39, /* Right */1); })); Wonder_jest.test("test move up", (function (param) { return _judgeChangeDirectionArray(81, /* Up */2); })); Wonder_jest.test("test move down", (function (param) { return _judgeChangeDirectionArray(69, /* Down */3); })); Wonder_jest.test("test move front", (function (param) { return _judgeChangeDirectionArray(87, /* Front */4); })); return Wonder_jest.test("test move back", (function (param) { return _judgeChangeDirectionArray(83, /* Back */5); })); })); return Wonder_jest.describe("test keydown multiple direction", (function (param) { Wonder_jest.describe("test should remove duplicate direction", (function (param) { return Wonder_jest.test("test move up and up", (function (param) { var match = _prepareKeyEvent(/* () */0); var state = MainStateTool$Wonderjs.setState(match[0]); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, 65, /* () */0)); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, 65, /* () */0)); var state$1 = EventTool$Wonderjs.restore(MainStateTool$Wonderjs.unsafeGetState(/* () */0)); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerDirectionArray(match[1], state$1)), /* array */[/* Left */0]); })); })); var _judgeMultipleChangeDirectionArray = function (param, param$1) { var match = _prepareKeyEvent(/* () */0); var state = MainStateTool$Wonderjs.setState(match[0]); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, param[0], /* () */0)); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, param[1], /* () */0)); var state$1 = EventTool$Wonderjs.restore(MainStateTool$Wonderjs.unsafeGetState(/* () */0)); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerDirectionArray(match[1], state$1)), /* array */[ param$1[0], param$1[1] ]); }; Wonder_jest.test("test move left and up", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 65, 81 ], /* tuple */[ /* Left */0, /* Up */2 ]); })); Wonder_jest.test("test move right and down", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 39, 69 ], /* tuple */[ /* Right */1, /* Down */3 ]); })); Wonder_jest.test("test move up and front", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 81, 87 ], /* tuple */[ /* Up */2, /* Front */4 ]); })); Wonder_jest.test("test move down and back", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 69, 83 ], /* tuple */[ /* Down */3, /* Back */5 ]); })); Wonder_jest.test("test move front and left", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 87, 65 ], /* tuple */[ /* Front */4, /* Left */0 ]); })); return Wonder_jest.test("test move back", (function (param) { return _judgeMultipleChangeDirectionArray(/* tuple */[ 83, 39 ], /* tuple */[ /* Back */5, /* Right */1 ]); })); })); })); })); return Wonder_jest.describe("bind keyup event", (function (param) { return Wonder_jest.describe("test remove direction from directionArray", (function (param) { var _judgeChangeDirectionArray = function (param, keyupCode, direction) { var match = _prepareKeyEvent(/* () */0); var state = MainStateTool$Wonderjs.setState(match[0]); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, param[0], /* () */0)); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, param[1], /* () */0)); EventTool$Wonderjs.triggerDomEvent("keyup", EventTool$Wonderjs.getKeyboardEventBindedDom(state), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, keyupCode, /* () */0)); var state$1 = EventTool$Wonderjs.restore(MainStateTool$Wonderjs.unsafeGetState(/* () */0)); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerDirectionArray(match[1], state$1)), /* array */[direction]); }; Wonder_jest.test("test keydown left and up, then keyup left", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 65, 81 ], 65, /* Up */2); })); Wonder_jest.test("test keydown left and up, then keyup up", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 65, 81 ], 81, /* Left */0); })); Wonder_jest.test("test keydown left and up, then keyup up", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 65, 81 ], 81, /* Left */0); })); Wonder_jest.test("test move right and down, then keyup right", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 39, 69 ], 39, /* Down */3); })); Wonder_jest.test("test move up and front, then keyup front", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 81, 87 ], 87, /* Up */2); })); Wonder_jest.test("test move down and back, then keyup down", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 69, 83 ], 69, /* Back */5); })); return Wonder_jest.test("test move front and left, then keyup left", (function (param) { return _judgeChangeDirectionArray(/* tuple */[ 87, 65 ], 65, /* Front */4); })); })); })); })); })); Wonder_jest.describe("add event handleFunc to state", (function (param) { var _prepareFlyCameraBindEvent = function (param) { var state = _prepareMouseEvent(100); var match = FlyCameraControllerTool$Wonderjs.createGameObject(state); var cameraController = match[3][0]; var state$1 = NoWorkerJobTool$Wonderjs.execInitJobs(match[0]); var preventDefaultFunc = Sinon.createEmptyStubWithJsObjSandbox(sandbox); return /* tuple */[ cameraController, preventDefaultFunc, FlyCameraControllerAPI$Wonderjs.bindFlyCameraControllerEvent(cameraController, state$1) ]; }; Wonder_jest.test("test unbind point drag start event", (function (param) { var match = _prepareFlyCameraBindEvent(/* () */0); var match$1 = MouseEventTool$Wonderjs.prepareForPointerLock(sandbox, match[2]); var state = FlyCameraControllerAPI$Wonderjs.unbindFlyCameraControllerEvent(match[0], match$1[0]); var state$1 = MainStateTool$Wonderjs.setState(state); EventTool$Wonderjs.triggerDomEvent("mousedown", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, match[1], undefined, /* () */0)); EventTool$Wonderjs.restore(state$1); return Sinon.toCalled(Wonder_jest.Expect[/* not__ */24](Wonder_jest.Expect[/* expect */0](match$1[1]))); })); Wonder_jest.test("test unbind point scale event", (function (param) { var match = _prepareFlyCameraBindEvent(/* () */0); var preventDefaultFunc = match[1]; var state = FlyCameraControllerAPI$Wonderjs.unbindFlyCameraControllerPointScaleEvent(match[0], match[2]); var state$1 = MainStateTool$Wonderjs.setState(state); EventTool$Wonderjs.triggerDomEvent("mousewheel", EventTool$Wonderjs.getPointEventBindedDom(state$1), MouseEventTool$Wonderjs.buildMouseEvent(undefined, undefined, undefined, undefined, undefined, undefined, undefined, preventDefaultFunc, undefined, /* () */0)); EventTool$Wonderjs.restore(state$1); return Sinon.toCalled(Wonder_jest.Expect[/* not__ */24](Wonder_jest.Expect[/* expect */0](preventDefaultFunc))); })); return Wonder_jest.test("test unbind keydown event", (function (param) { var match = _prepareKeyEvent(/* () */0); var match$1 = match[3]; var cameraController = match[1]; var state = FlyCameraControllerAPI$Wonderjs.unbindFlyCameraControllerEvent(cameraController, match[0]); var state$1 = MainStateTool$Wonderjs.setState(state); EventTool$Wonderjs.triggerDomEvent("keydown", EventTool$Wonderjs.getKeyboardEventBindedDom(state$1), KeyboardEventTool$Wonderjs.buildKeyboardEvent(undefined, undefined, undefined, undefined, 65, /* () */0)); var state$2 = EventTool$Wonderjs.restore(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](FlyCameraControllerTool$Wonderjs.unsafeGetTranslationDiff(cameraController, state$2)), /* tuple */[ match$1[0], match$1[1], match$1[2] ]); })); })); return Wonder_jest.describe("test bind two flyCameraControllers' event", (function (param) { return Wonder_jest.test("test bind point scale event", (function (param) { var state = _prepareMouseEvent(100); var match = FlyCameraControllerTool$Wonderjs.createGameObject(state); var match$1 = FlyCameraControllerTool$Wonderjs.createGameObject(match[0]); var state$1 = NoWorkerJobTool$Wonderjs.execInitJobs(match$1[0]);