UNPKG

wonder.js

Version:
710 lines (707 loc) 166 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 TestTool$Wonderjs = require("../../../../tool/TestTool.js"); var Vector3Tool$Wonderjs = require("../../../../tool/service/atom/Vector3Tool.js"); var TransformAPI$Wonderjs = require("../../../../../src/api/TransformAPI.js"); var GameObjectAPI$Wonderjs = require("../../../../../src/api/GameObjectAPI.js"); var MainStateTool$Wonderjs = require("../../../../tool/service/state/MainStateTool.js"); var TransformTool$Wonderjs = require("../../../../tool/service/transform/TransformTool.js"); var GameObjectTool$Wonderjs = require("../../../../tool/service/gameObject/GameObjectTool.js"); var QuaternionTool$Wonderjs = require("../../../tool/service/atom/QuaternionTool.js"); var Vector3Service$Wonderjs = require("../../../../../src/service/atom/Vector3Service.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); Wonder_jest.describe("Transform", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); var state = /* record */[/* contents */MainStateTool$Wonderjs.createState(/* () */0)]; var _judgeOneToOne = function (param, param$1, param$2, state) { var child = param[1]; var parent = param[0]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformLocalPosition(parent, state), TransformAPI$Wonderjs.getTransformPosition(parent, state), TransformAPI$Wonderjs.getTransformLocalPosition(child, state), TransformAPI$Wonderjs.getTransformPosition(child, state) ]), /* tuple */[ param$1[0], param$1[1], param$2[0], param$2[1] ]); }; var _judgeRotationOneToOne = function (param, param$1, param$2, state) { var child = param[1]; var parent = param[0]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformLocalRotation(parent, state), TransformAPI$Wonderjs.getTransformRotation(parent, state), TransformAPI$Wonderjs.getTransformLocalRotation(child, state), TransformAPI$Wonderjs.getTransformRotation(child, state) ]), /* tuple */[ param$1[0], param$1[1], param$2[0], param$2[1] ]); }; var _judgeScaleOneToOne = function (param, param$1, param$2, state) { var child = param[1]; var parent = param[0]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformLocalScale(parent, state), TransformAPI$Wonderjs.getTransformScale(parent, state), TransformAPI$Wonderjs.getTransformLocalScale(child, state), TransformAPI$Wonderjs.getTransformScale(child, state) ]), /* tuple */[ param$1[0], param$1[1], param$2[0], param$2[1] ]); }; var _judgeOneToTwo = function (param, param$1, param$2, param$3, state) { var child2 = param[2]; var child1 = param[1]; var parent = param[0]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformLocalPosition(parent, state), TransformAPI$Wonderjs.getTransformPosition(parent, state), TransformAPI$Wonderjs.getTransformLocalPosition(child1, state), TransformAPI$Wonderjs.getTransformPosition(child1, state), TransformAPI$Wonderjs.getTransformLocalPosition(child2, state), TransformAPI$Wonderjs.getTransformPosition(child2, state) ]), /* tuple */[ param$1[0], param$1[1], param$2[0], param$2[1], param$3[0], param$3[1] ]); }; beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); state[0] = TestTool$Wonderjs.init(sandbox, undefined, undefined, /* () */0); return /* () */0; })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); Wonder_jest.describe("createTransform", (function (param) { Wonder_jest.test("create a new transform which is just index(int)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformTool$Wonderjs.getRecord(match[0])[/* index */0], match[1] ]), /* tuple */[ 2, 1 ]); })); Wonder_jest.describe("change state", (function (param) { return Wonder_jest.test("state->index + 1", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var record = TransformTool$Wonderjs.getRecord(match[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](record[/* index */0]), 2); })); })); return Wonder_jest.test("mark new transform dirty", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformTool$Wonderjs.isDirty(match[1], match[0])), true); })); })); Wonder_jest.describe("unsafeGetTransformParent", (function (param) { return Wonder_jest.test("if has no parent, error", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var transform = match[1]; var state$1 = match[0]; return Wonder_jest.Expect[/* toThrow */18](Wonder_jest.Expect[/* expect */0]((function (param) { return TransformAPI$Wonderjs.unsafeGetTransformParent(transform, state$1); }))); })); })); Wonder_jest.describe("setTransformParent", (function (param) { Wonder_jest.describe("the change of parent before setted as parent will affect child", (function (param) { Wonder_jest.test("test one(parent)-one(child)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos = /* tuple */[ 1, 2, 3 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos, match$1[0])); return _judgeOneToOne(/* tuple */[ parent, child ], /* tuple */[ pos, pos ], /* tuple */[ TransformTool$Wonderjs.getDefaultPosition(/* () */0), pos ], state$1); })); return Wonder_jest.test("test one(parent)-two(child)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var child2 = match$2[1]; var pos1 = /* tuple */[ 1, 2, 3 ]; var pos2 = /* tuple */[ 10, 20, 30 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child1, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos1, match$2[0])); var state$2 = TransformAPI$Wonderjs.setTransformParent(parent, child2, TransformAPI$Wonderjs.setTransformLocalPosition(child2, pos2, state$1)); return _judgeOneToTwo(/* tuple */[ parent, child1, child2 ], /* tuple */[ pos1, pos1 ], /* tuple */[ TransformTool$Wonderjs.getDefaultPosition(/* () */0), pos1 ], /* tuple */[ pos2, Vector3Service$Wonderjs.add(/* Float */0, pos1, pos2) ], state$2); })); })); Wonder_jest.describe("if set parent to be null, remove its current parent", (function (param) { Wonder_jest.describe("test one(parent)-one(child)", (function (param) { var exec = function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos = /* tuple */[ 1, 2, 3 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos, match$1[0])); var state$2 = TransformAPI$Wonderjs.setTransformParent(null, child, state$1); return /* tuple */[ state$2, parent, child, pos ]; }; Wonder_jest.test("test remove its current parent", (function (param) { var match = exec(/* () */0); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformTool$Wonderjs.getTransformParent(match[2], match[0])), undefined); })); return Wonder_jest.test("test position and local position", (function (param) { var match = exec(/* () */0); var pos = match[3]; return _judgeOneToOne(/* tuple */[ match[1], match[2] ], /* tuple */[ pos, pos ], /* tuple */[ TransformTool$Wonderjs.getDefaultPosition(/* () */0), TransformTool$Wonderjs.getDefaultPosition(/* () */0) ], match[0]); })); })); return Wonder_jest.test("test one(parent)-two(child)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var child2 = match$2[1]; var pos1 = /* tuple */[ 1, 2, 3 ]; var pos2 = /* tuple */[ 10, 20, 30 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child1, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos1, match$2[0])); var state$2 = TransformAPI$Wonderjs.setTransformParent(parent, child2, TransformAPI$Wonderjs.setTransformLocalPosition(child2, pos2, state$1)); var state$3 = TransformAPI$Wonderjs.setTransformParent(null, child2, state$2); return _judgeOneToTwo(/* tuple */[ parent, child1, child2 ], /* tuple */[ pos1, pos1 ], /* tuple */[ TransformTool$Wonderjs.getDefaultPosition(/* () */0), pos1 ], /* tuple */[ pos2, pos2 ], state$3); })); })); Wonder_jest.describe("if child already has parent", (function (param) { Wonder_jest.test("can set the same parent", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent, /* tuple */[ 1, 2, 3 ], match$1[0])); var state$2 = TransformAPI$Wonderjs.setTransformParent(parent, child, state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformParent(child, state$2)), parent); })); Wonder_jest.test("can set different parent", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent1 = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var parent2 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var child = match$2[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent1, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent1, /* tuple */[ 1, 2, 3 ], match$2[0])); var state$2 = TransformAPI$Wonderjs.setTransformParent(parent2, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent2, /* tuple */[ 300, 20, 30 ], state$1)); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformParent(child, state$2)), parent2); })); return Wonder_jest.test("change its current parent's children order", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var match$3 = TransformAPI$Wonderjs.createTransform(match$2[0]); var child3 = match$3[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child3, TransformAPI$Wonderjs.setTransformParent(parent, match$2[1], TransformAPI$Wonderjs.setTransformParent(parent, child1, match$3[0]))); var state$2 = TransformAPI$Wonderjs.setTransformParent(child3, child1, state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformChildren(parent, state$2)), /* array */[ 4, 3 ]); })); })); return Wonder_jest.describe("fix bug", (function (param) { return Wonder_jest.test("test two(parent)-two(child)", (function (param) { var match = GameObjectTool$Wonderjs.createGameObject(state[0]); var transform1 = match[2]; var match$1 = GameObjectTool$Wonderjs.createGameObject(match[0]); var transform2 = match$1[2]; var match$2 = GameObjectTool$Wonderjs.createGameObject(match$1[0]); var transform3 = match$2[2]; var match$3 = GameObjectTool$Wonderjs.createGameObject(match$2[0]); var transform4 = match$3[2]; var state$1 = TransformAPI$Wonderjs.setTransformParent(transform2, transform4, TransformAPI$Wonderjs.setTransformParent(transform1, transform3, match$3[0])); var pos1 = /* tuple */[ 1, 2, 3 ]; var pos2 = /* tuple */[ 2, 3, 4 ]; var pos3 = /* tuple */[ 4, 3, 4 ]; var pos4 = /* tuple */[ 7, 3, 4 ]; TransformTool$Wonderjs.getRecord(state$1); var state$2 = TransformAPI$Wonderjs.setTransformLocalPosition(transform4, pos4, TransformAPI$Wonderjs.setTransformLocalPosition(transform3, pos3, TransformAPI$Wonderjs.setTransformLocalPosition(transform2, pos2, TransformAPI$Wonderjs.setTransformLocalPosition(transform1, pos1, state$1)))); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformPosition(transform1, state$2), TransformAPI$Wonderjs.getTransformPosition(transform2, state$2), TransformAPI$Wonderjs.getTransformPosition(transform3, state$2), TransformAPI$Wonderjs.getTransformPosition(transform4, state$2) ]), /* tuple */[ pos1, pos2, Vector3Service$Wonderjs.add(/* Float */0, pos3, pos1), Vector3Service$Wonderjs.add(/* Float */0, pos4, pos2) ]); })); })); })); Wonder_jest.describe("hasTransformParent", (function (param) { Wonder_jest.test("if has no parent, return false", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.hasTransformParent(match[1], match[0])), false); })); return Wonder_jest.test("else, return true", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(match[1], child1, match$1[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.hasTransformParent(child1, state$1)), true); })); })); Wonder_jest.describe("setTransformParentKeepOrder", (function (param) { return Wonder_jest.test("not change its current parent's children order", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var match$3 = TransformAPI$Wonderjs.createTransform(match$2[0]); var child3 = match$3[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child3, TransformAPI$Wonderjs.setTransformParent(parent, match$2[1], TransformAPI$Wonderjs.setTransformParent(parent, child1, match$3[0]))); var state$2 = TransformAPI$Wonderjs.setTransformParentKeepOrder(child3, child1, state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformChildren(parent, state$2)), /* array */[ 3, 4 ]); })); })); Wonder_jest.describe("unsafeGetTransformChildren", (function (param) { return Wonder_jest.test("get parent's all children", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child1 = match$1[1]; var match$2 = TransformAPI$Wonderjs.createTransform(match$1[0]); var child2 = match$2[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child1, match$2[0]); var state$2 = TransformAPI$Wonderjs.setTransformParent(parent, child2, state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformChildren(parent, state$2)), /* array */[ child1, child2 ]); })); })); Wonder_jest.describe("setTransformLocalPosition", (function (param) { var _prepare = function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos1 = /* tuple */[ 1, 2, 3 ]; var pos2 = /* tuple */[ 5, 10, 30 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, match$1[0]); var state$2 = TransformAPI$Wonderjs.setTransformLocalPosition(child, pos2, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos1, state$1)); return /* tuple */[ state$2, parent, child, pos1, pos2 ]; }; Wonder_jest.test("change parent's localPosition should affect children", (function (param) { var match = _prepare(/* () */0); var pos2 = match[4]; var parent = match[1]; var state = TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos2, match[0]); return _judgeOneToOne(/* tuple */[ parent, match[2] ], /* tuple */[ pos2, pos2 ], /* tuple */[ pos2, Vector3Service$Wonderjs.add(/* Float */0, pos2, pos2) ], state); })); return Wonder_jest.test("change child's localPosition shouldn't affect parent", (function (param) { var match = _prepare(/* () */0); var pos1 = match[3]; var child = match[2]; var state = TransformAPI$Wonderjs.setTransformLocalPosition(child, pos1, match[0]); return _judgeOneToOne(/* tuple */[ match[1], child ], /* tuple */[ pos1, pos1 ], /* tuple */[ pos1, Vector3Service$Wonderjs.add(/* Float */0, pos1, pos1) ], state); })); })); Wonder_jest.describe("getTransformPosition", (function (param) { Wonder_jest.test("default value should be (0.,0.,0.)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(match[1], match[0])), TransformTool$Wonderjs.getDefaultPosition(/* () */0)); })); return Wonder_jest.test("get the position in world coordinate system", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos = /* tuple */[ 1, 2, 3 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos, match$1[0])); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(child, state$1)), pos); })); })); Wonder_jest.describe("setTransformPosition", (function (param) { return Wonder_jest.describe("set position in world coordinate system", (function (param) { Wonder_jest.test("change parent's position should affect children", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos2 = /* tuple */[ 5, 10, 30 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, match$1[0]); var state$2 = TransformAPI$Wonderjs.setTransformLocalPosition(parent, /* tuple */[ 1, 2, 3 ], state$1); var state$3 = TransformAPI$Wonderjs.setTransformLocalPosition(child, pos2, state$2); var state$4 = TransformAPI$Wonderjs.setTransformPosition(parent, pos2, state$3); return _judgeOneToOne(/* tuple */[ parent, child ], /* tuple */[ pos2, pos2 ], /* tuple */[ pos2, Vector3Service$Wonderjs.add(/* Float */0, pos2, pos2) ], state$4); })); return Wonder_jest.test("change child's position shouldn't affect parent", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var pos1 = /* tuple */[ 1, 2, 3 ]; var pos3 = /* tuple */[ 2, 3, 4 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, match$1[0]); var state$2 = TransformAPI$Wonderjs.setTransformLocalPosition(parent, pos1, state$1); var state$3 = TransformAPI$Wonderjs.setTransformLocalPosition(child, /* tuple */[ 5, 10, 30 ], state$2); var state$4 = TransformAPI$Wonderjs.setTransformPosition(child, pos3, state$3); return _judgeOneToOne(/* tuple */[ parent, child ], /* tuple */[ pos1, pos1 ], /* tuple */[ /* tuple */[ 1, 1, 1 ], pos3 ], state$4); })); })); })); Wonder_jest.describe("getTransformRotation", (function (param) { Wonder_jest.test("default value should be (0.,0.,0.,1.)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformRotation(match[1], match[0])), TransformTool$Wonderjs.getDefaultRotation(/* () */0)); })); return Wonder_jest.test("get the rotation in world coordinate system", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var rotation = /* tuple */[ 1, 2, 3, 2.5 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalRotation(parent, rotation, match$1[0])); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformRotation(child, state$1)), rotation); })); })); Wonder_jest.describe("setTransformRotation", (function (param) { return Wonder_jest.describe("set rotation in world coordinate system", (function (param) { Wonder_jest.test("change parent's rotation should affect children", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var rotation2 = /* tuple */[ 5, 10.5, 30, 1 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, match$1[0]); var state$2 = TransformAPI$Wonderjs.setTransformLocalRotation(parent, /* tuple */[ 1, 2, 3.5, 2 ], state$1); var state$3 = TransformAPI$Wonderjs.setTransformLocalRotation(child, rotation2, state$2); var state$4 = TransformAPI$Wonderjs.setTransformRotation(parent, rotation2, state$3); return _judgeRotationOneToOne(/* tuple */[ parent, child ], /* tuple */[ rotation2, rotation2 ], /* tuple */[ rotation2, /* tuple */[ -14.148975834432052, -29.71284925230731, -84.89385500659232, 1462.650035039141 ] ], state$4); })); return Wonder_jest.test("change child's rotation shouldn't affect parent", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var rotation1 = /* tuple */[ 1, 2, 3, 1 ]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, match$1[0]); var state$2 = TransformAPI$Wonderjs.setTransformLocalRotation(parent, rotation1, state$1); var state$3 = TransformAPI$Wonderjs.setTransformLocalRotation(child, /* tuple */[ 5.5, 10, 30, 2 ], state$2); var state$4 = TransformAPI$Wonderjs.setTransformRotation(child, /* tuple */[ 2.5, 3.5, 4.5, 1 ], state$3); return _judgeRotationOneToOne(/* tuple */[ parent, child ], /* tuple */[ rotation1, rotation1 ], /* tuple */[ /* tuple */[ 0.7745966911315918, -0.3872983455657959, 0.7745966911315918, 6.196773529052734 ], /* tuple */[ 6.826419538772125, 8.489076950779234, 6.460195134263704, -10.027219687210458 ] ], state$4); })); })); })); Wonder_jest.describe("getTransformEulerAngles", (function (param) { Wonder_jest.test("default value should be (0.,0.,0.)", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformEulerAngles(match[1], match[0])), /* tuple */[ 0, -0, 0 ]); })); return Wonder_jest.test("get the eulerAngles in world coordinate system", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var state$1 = TransformAPI$Wonderjs.setTransformParent(parent, child, TransformAPI$Wonderjs.setTransformLocalEulerAngles(parent, /* tuple */[ 45, 45, 90 ], match$1[0])); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformEulerAngles(child, state$1)), /* tuple */[ 45, 44.99999999999999, 90 ]); })); })); Wonder_jest.describe("setTransformEulerAngles", (function (param) { return Wonder_jest.describe("set eulerAngles in world coordinate system", (function (param) { var _judgeEulerAnglesOneToOne = function (param, param$1, param$2, state) { var child = param[1]; var parent = param[0]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ TransformAPI$Wonderjs.getTransformLocalEulerAngles(parent, state), TransformAPI$Wonderjs.getTransformEulerAngles(parent, state), TransformAPI$Wonderjs.getTransformLocalEulerAngles(child, state), TransformAPI$Wonderjs.getTransformEulerAngles(child, state) ]), /* tuple */[ param$1[0], param$1[1], param$2[0], param$2[1] ]); }; Wonder_jest.test("change parent's eulerAngles should affect children", (function (param) { var match = TransformAPI$Wonderjs.createTransform(state[0]); var parent = match[1]; var match$1 = TransformAPI$Wonderjs.createTransform(match[0]); var child = match$1[1]; var eulerAngles2 = /* tuple */[ 5, 10.5,