UNPKG

wonder.js

Version:
570 lines (568 loc) 68 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 CameraTool$Wonderjs = require("../../../../tool/service/camera/CameraTool.js"); var DisposeJob$Wonderjs = require("../../../../../src/job/no_worker/loop/DisposeJob.js"); var ScriptTool$Wonderjs = require("../../../../tool/service/script/ScriptTool.js"); var GeometryTool$Wonderjs = require("../../../../tool/service/geometry/GeometryTool.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 VboBufferTool$Wonderjs = require("../../../../tool/service/vboBuffer/VboBufferTool.js"); var GameObjectTool$Wonderjs = require("../../../../tool/service/gameObject/GameObjectTool.js"); var PointLightTool$Wonderjs = require("../../../../tool/service/light/PointLightTool.js"); var RenderJobsTool$Wonderjs = require("../../../../tool/job/no_worker/loop/RenderJobsTool.js"); var BoxGeometryTool$Wonderjs = require("../../../../tool/service/geometry/BoxGeometryTool.js"); var MeshRendererTool$Wonderjs = require("../../../../tool/service/meshRenderer/MeshRendererTool.js"); var LightMaterialTool$Wonderjs = require("../../../../tool/service/material/LightMaterialTool.js"); var LoopRenderJobTool$Wonderjs = require("../../../../tool/job/no_worker/loop/LoopRenderJobTool.js"); var DirectionLightTool$Wonderjs = require("../../../../tool/service/light/DirectionLightTool.js"); var ObjectInstanceTool$Wonderjs = require("../../../../tool/service/instance/ObjectInstanceTool.js"); var ArcballCameraControllerTool$Wonderjs = require("../../../../tool/service/camera_controller/ArcballCameraControllerTool.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); var RenderBasicHardwareInstanceTool$Wonderjs = require("../../../../tool/render/instance/RenderBasicHardwareInstanceTool.js"); var DisposeForNoWorkerAndWorkerJobTool$Wonderjs = require("../../../tool/job/DisposeForNoWorkerAndWorkerJobTool.js"); Wonder_jest.describe("test dispose job", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); var state = /* record */[/* contents */MainStateTool$Wonderjs.createState(/* () */0)]; beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); state[0] = RenderJobsTool$Wonderjs.initWithJobConfig(sandbox, LoopRenderJobTool$Wonderjs.buildNoWorkerJobConfig(/* () */0)); return /* () */0; })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); Wonder_jest.describe("actually do the dispose work", (function (param) { Wonder_jest.describe("dispose components", (function (param) { Wonder_jest.describe("test disposeGameObjectBasicCameraViewComponent", (function (param) { var _prepare = function (state) { var match = CameraTool$Wonderjs.createCameraGameObject(state[0]); var basicCameraView1 = match[3][0]; var gameObject1 = match[1]; var match$1 = CameraTool$Wonderjs.createCameraGameObject(match[0]); var match$2 = CameraTool$Wonderjs.createCameraGameObject(match$1[0]); var basicCameraView3 = match$2[3][0]; var gameObject3 = match$2[1]; var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectBasicCameraViewComponent(gameObject3, basicCameraView3, GameObjectAPI$Wonderjs.disposeGameObjectBasicCameraViewComponent(gameObject1, basicCameraView1, match$2[0])); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1], gameObject3 ], /* tuple */[ basicCameraView1, match$1[3][0], basicCameraView3 ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[2]; var match$2 = match[0][/* basicCameraViewRecord */13]; var disposedIndexArray = match$2[/* disposedIndexArray */3]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]), disposedIndexArray.includes(match$1[2]) ]), /* tuple */[ false, false, false ]); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var match$1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$2 = state$1[/* basicCameraViewRecord */13]; var disposedIndexArray = match$2[/* disposedIndexArray */3]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]), disposedIndexArray.includes(match$1[2]) ]), /* tuple */[ true, false, true ]); })); })); Wonder_jest.describe("test disposeGameObjectPerspectiveCameraProjectionComponent", (function (param) { var _prepare = function (state) { var match = CameraTool$Wonderjs.createCameraGameObject(state[0]); var perspectiveCameraProjection1 = match[3][1]; var gameObject1 = match[1]; var match$1 = CameraTool$Wonderjs.createCameraGameObject(match[0]); var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectPerspectiveCameraProjectionComponent(gameObject1, perspectiveCameraProjection1, match$1[0]); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1] ], /* tuple */[ perspectiveCameraProjection1, match$1[3][1] ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[2]; var match$2 = match[0][/* perspectiveCameraProjectionRecord */14]; var disposedIndexArray = match$2[/* disposedIndexArray */8]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ false, false ]); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var match$1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$2 = state$1[/* perspectiveCameraProjectionRecord */14]; var disposedIndexArray = match$2[/* disposedIndexArray */8]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ true, false ]); })); })); Wonder_jest.describe("test disposeGameObjectArcballCameraControllerComponent", (function (param) { var _prepare = function (state) { var match = ArcballCameraControllerTool$Wonderjs.createGameObject(state[0]); var cameraController1 = match[3][0]; var gameObject1 = match[1]; var match$1 = ArcballCameraControllerTool$Wonderjs.createGameObject(match[0]); var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectArcballCameraControllerComponent(gameObject1, cameraController1, match$1[0]); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1] ], /* tuple */[ cameraController1, match$1[3][0] ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[2]; var match$2 = match[0][/* arcballCameraControllerRecord */25]; var disposedIndexArray = match$2[/* disposedIndexArray */19]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ false, false ]); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var match$1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$2 = state$1[/* arcballCameraControllerRecord */25]; var disposedIndexArray = match$2[/* disposedIndexArray */19]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ true, false ]); })); })); Wonder_jest.describe("test disposeGameObjectTransformComponent", (function (param) { var _prepare = function (isKeepOrder, state) { var match = GameObjectAPI$Wonderjs.createGameObject(state[0]); var gameObject1 = match[1]; var match$1 = GameObjectAPI$Wonderjs.createGameObject(match[0]); var gameObject2 = match$1[1]; var state$1 = match$1[0]; var transform1 = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(gameObject1, state$1); var transform2 = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(gameObject2, state$1); var state$2 = TransformAPI$Wonderjs.setTransformParent(transform1, transform2, state$1); var pos1 = /* tuple */[ 1, 2, 3 ]; var pos2 = /* tuple */[ 2, 3, 4 ]; var state$3 = TransformAPI$Wonderjs.setTransformLocalPosition(transform2, pos2, TransformAPI$Wonderjs.setTransformLocalPosition(transform1, pos1, state$2)); var state$4 = GameObjectAPI$Wonderjs.disposeGameObjectTransformComponent(gameObject1, transform1, isKeepOrder, state$3); return /* tuple */[ state$4, /* tuple */[ gameObject1, gameObject2 ], /* tuple */[ pos1, pos2 ], /* tuple */[ transform1, transform2 ] ]; }; var _prepareForTestChildrenOrder = function (isKeepOrder, state) { 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 state$1 = TransformAPI$Wonderjs.setTransformParent(parent, match$3[1], TransformAPI$Wonderjs.setTransformParent(parent, match$2[1], TransformAPI$Wonderjs.setTransformParent(parent, child1, match$3[0]))); TestTool$Wonderjs.closeContractCheck(/* () */0); var state$2 = GameObjectAPI$Wonderjs.disposeGameObjectTransformComponent(-1, child1, isKeepOrder, state$1); var state$3 = DisposeJob$Wonderjs.execJob(undefined, state$2); return /* tuple */[ state$3, parent ]; }; Wonder_jest.describe("test not keep order", (function (param) { Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(false, state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(match[3][1], match[0])), /* tuple */[ 3, 5, 7 ]); })); return Wonder_jest.describe("test dispose job", (function (param) { Wonder_jest.test("dispose data", (function (param) { var match = _prepare(false, state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(match[3][1], state$1)), match[2][1]); })); return Wonder_jest.test("change its current parent's children order", (function (param) { var match = _prepareForTestChildrenOrder(false, state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformChildren(match[1], match[0])), /* array */[ 4, 3 ]); })); })); })); return Wonder_jest.describe("test keep order", (function (param) { Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(true, state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(match[3][1], match[0])), /* tuple */[ 3, 5, 7 ]); })); return Wonder_jest.describe("test dispose job", (function (param) { Wonder_jest.test("dispose data", (function (param) { var match = _prepare(true, state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.getTransformPosition(match[3][1], state$1)), match[2][1]); })); return Wonder_jest.test("not change its current parent's children order", (function (param) { var match = _prepareForTestChildrenOrder(true, state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformAPI$Wonderjs.unsafeGetTransformChildren(match[1], match[0])), /* array */[ 3, 4 ]); })); })); })); })); Wonder_jest.describe("test disposeGameObjectMeshRendererComponent", (function (param) { var _prepare = function (state) { var match = MeshRendererTool$Wonderjs.createBasicMaterialGameObject(state[0]); var meshRenderer1 = match[2]; var gameObject1 = match[1]; var match$1 = MeshRendererTool$Wonderjs.createBasicMaterialGameObject(match[0]); var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectMeshRendererComponent(gameObject1, meshRenderer1, match$1[0]); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1] ], /* tuple */[ meshRenderer1, match$1[2] ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](MeshRendererTool$Wonderjs.getBasicMaterialRenderGameObjectArray(match[0]).length), 2); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](MeshRendererTool$Wonderjs.getBasicMaterialRenderGameObjectArray(state$1)), /* array */[match[1][1]]); })); })); Wonder_jest.describe("test disposeGameObjectBoxGeometryComponent", (function (param) { return Wonder_jest.describe("dispose data in dispose job", (function (param) { return Wonder_jest.describe("dispose vbo buffer data", (function (param) { Wonder_jest.test("add buffer to pool", (function (param) { var match = DisposeForNoWorkerAndWorkerJobTool$Wonderjs.prepareForDisposeGeometryVboBuffer(state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.length(match$1[/* vertexArrayBufferPool */5]), MutableSparseMapService$WonderCommonlib.length(match$1[/* elementArrayBufferPool */6]) ]), /* tuple */[ 3, 1 ]); })); return Wonder_jest.test("remove from buffer map", (function (param) { var match = DisposeForNoWorkerAndWorkerJobTool$Wonderjs.prepareForDisposeGeometryVboBuffer(state); var geometry1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryVertexBufferMap */0]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryTexCoordBufferMap */1]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryNormalBufferMap */2]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryElementArrayBufferMap */3]) ]), /* tuple */[ false, false, false, false ]); })); })); })); })); Wonder_jest.describe("test disposeGameObjectGeometryComponent", (function (param) { return Wonder_jest.describe("dispose data in dispose job", (function (param) { return Wonder_jest.describe("dispose vbo buffer data", (function (param) { var _prepare = function (state) { var match = GeometryTool$Wonderjs.createGameObject(state[0]); var geometry1 = match[2]; var gameObject1 = match[1]; var state$1 = VboBufferTool$Wonderjs.addVboBufferToGeometryBufferMap(geometry1, match[0]); var state$2 = GameObjectAPI$Wonderjs.disposeGameObject(gameObject1, state$1); return /* tuple */[ state$2, gameObject1, geometry1 ]; }; Wonder_jest.test("add buffer to pool", (function (param) { var match = _prepare(state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.length(match$1[/* vertexArrayBufferPool */5]), MutableSparseMapService$WonderCommonlib.length(match$1[/* elementArrayBufferPool */6]) ]), /* tuple */[ 3, 1 ]); })); return Wonder_jest.test("remove from buffer map", (function (param) { var match = _prepare(state); var geometry1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryVertexBufferMap */0]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryTexCoordBufferMap */1]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryNormalBufferMap */2]), MutableSparseMapService$WonderCommonlib.has(geometry1, match$1[/* geometryElementArrayBufferMap */3]) ]), /* tuple */[ false, false, false, false ]); })); })); })); })); Wonder_jest.describe("test disposeGameObjectSourceInstanceComponent", (function (param) { return Wonder_jest.describe("dispose data in dispose job", (function (param) { return Wonder_jest.describe("dispose vbo buffer data", (function (param) { var _prepare = function (state) { var match = RenderBasicHardwareInstanceTool$Wonderjs.createSourceInstanceGameObject(sandbox, state[0]); var sourceInstance1 = match[2][3]; var gameObject1 = match[1]; var state$1 = VboBufferTool$Wonderjs.addVboBufferToSourceInstanceBufferMap(sourceInstance1, match[0]); var state$2 = GameObjectAPI$Wonderjs.disposeGameObject(gameObject1, state$1); return /* tuple */[ state$2, gameObject1, sourceInstance1 ]; }; Wonder_jest.test("add buffer to pool", (function (param) { var match = _prepare(state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](MutableSparseMapService$WonderCommonlib.length(match$1[/* matrixInstanceBufferPool */7])), 1); })); return Wonder_jest.test("remove from buffer map", (function (param) { var match = _prepare(state); var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$1 = VboBufferTool$Wonderjs.getVboBufferRecord(state$1); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](MutableSparseMapService$WonderCommonlib.has(match[2], match$1[/* matrixInstanceBufferMap */4])), false); })); })); })); })); Wonder_jest.describe("test disposeGameObjectObjectInstanceComponent", (function (param) { var _prepare = function (state) { var match = ObjectInstanceTool$Wonderjs.createObjectInstanceGameObject(state[0]); var objectInstance1 = match[4]; var gameObject1 = match[3]; var match$1 = ObjectInstanceTool$Wonderjs.createObjectInstanceGameObject(match[0]); var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectObjectInstanceComponent(gameObject1, objectInstance1, match$1[0]); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[3] ], /* tuple */[ objectInstance1, match$1[4] ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[2]; var match$2 = match[0][/* objectInstanceRecord */7]; var disposedIndexArray = match$2[/* disposedIndexArray */2]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ false, false ]); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var match$1 = match[2]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$2 = state$1[/* objectInstanceRecord */7]; var disposedIndexArray = match$2[/* disposedIndexArray */2]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ disposedIndexArray.includes(match$1[0]), disposedIndexArray.includes(match$1[1]) ]), /* tuple */[ true, false ]); })); })); Wonder_jest.describe("test disposeGameObjectDirectionLightComponent", (function (param) { var _prepare = function (state) { var match = DirectionLightTool$Wonderjs.createGameObject(state[0]); var directionLight1 = match[2]; var gameObject1 = match[1]; var match$1 = DirectionLightTool$Wonderjs.createGameObject(match[0]); var match$2 = DirectionLightTool$Wonderjs.createGameObject(match$1[0]); var directionLight3 = match$2[2]; var gameObject3 = match$2[1]; var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectDirectionLightComponent(gameObject3, directionLight3, GameObjectAPI$Wonderjs.disposeGameObjectDirectionLightComponent(gameObject1, directionLight1, match$2[0])); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1], gameObject3 ], /* tuple */[ directionLight1, match$1[2], directionLight3 ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[1]; var match$2 = DirectionLightTool$Wonderjs.getRecord(match[0]); var gameObjectMap = match$2[/* gameObjectMap */5]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.includes(match$1[0], gameObjectMap), MutableSparseMapService$WonderCommonlib.includes(match$1[1], gameObjectMap), MutableSparseMapService$WonderCommonlib.includes(match$1[2], gameObjectMap) ]), /* tuple */[ true, true, true ]); })); return Wonder_jest.test("dispose data in dispose job", (function (param) { var match = _prepare(state); var match$1 = match[1]; var state$1 = DisposeJob$Wonderjs.execJob(undefined, match[0]); var match$2 = DirectionLightTool$Wonderjs.getRecord(state$1); var gameObjectMap = match$2[/* gameObjectMap */5]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseMapService$WonderCommonlib.includes(match$1[0], gameObjectMap), MutableSparseMapService$WonderCommonlib.includes(match$1[1], gameObjectMap), MutableSparseMapService$WonderCommonlib.includes(match$1[2], gameObjectMap) ]), /* tuple */[ false, true, false ]); })); })); return Wonder_jest.describe("test disposeGameObjectPointLightComponent", (function (param) { var _prepare = function (state) { var match = PointLightTool$Wonderjs.createGameObject(state[0]); var pointLight1 = match[2]; var gameObject1 = match[1]; var match$1 = PointLightTool$Wonderjs.createGameObject(match[0]); var match$2 = PointLightTool$Wonderjs.createGameObject(match$1[0]); var pointLight3 = match$2[2]; var gameObject3 = match$2[1]; var state$1 = GameObjectAPI$Wonderjs.disposeGameObjectPointLightComponent(gameObject3, pointLight3, GameObjectAPI$Wonderjs.disposeGameObjectPointLightComponent(gameObject1, pointLight1, match$2[0])); return /* tuple */[ state$1, /* tuple */[ gameObject1, match$1[1], gameObject3 ], /* tuple */[ pointLight1, match$1[2], pointLight3 ] ]; }; Wonder_jest.test("shouldn't dispose data", (function (param) { var match = _prepare(state); var match$1 = match[1]; var match$2 = PointLightTool$Wonderjs.getRecord(match[0]); var gameObjectMap = match$2[/* gameObjectMap */10]; return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[ MutableSparseM