UNPKG

wonder.js

Version:
208 lines (204 loc) 14.9 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 SceneAPI$Wonderjs = require("../../../../../src/api/SceneAPI.js"); var TestTool$Wonderjs = require("../../../../tool/TestTool.js"); var BufferUtils$Wonderjs = require("../../../../../src/asset/utils/BufferUtils.js"); var TransformAPI$Wonderjs = require("../../../../../src/api/TransformAPI.js"); var GameObjectAPI$Wonderjs = require("../../../../../src/api/GameObjectAPI.js"); var BoxGeometryTool$Wonderjs = require("../../../../tool/service/geometry/BoxGeometryTool.js"); var GenerateSABTool$Wonderjs = require("../tool/GenerateSABTool.js"); var MeshRendererAPI$Wonderjs = require("../../../../../src/api/MeshRendererAPI.js"); var LightMaterialAPI$Wonderjs = require("../../../../../src/api/material/LightMaterialAPI.js"); var GenerateSingleSABTool$Wonderjs = require("../tool/GenerateSingleSABTool.js"); var CreateStateMainService$Wonderjs = require("../../../../../src/service/state/main/state/CreateStateMainService.js"); var GenerateSingleSABSystem$Wonderjs = require("../../../../../src/asset_bundle/single/sab/generate/GenerateSingleSABSystem.js"); var GenerateSceneGraphSystemTool$Wonderjs = require("../../asset/tool/GenerateSceneGraphSystemTool.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); Wonder_jest.describe("generate single sab", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); var state = /* record */[/* contents */CreateStateMainService$Wonderjs.createState(/* () */0)]; beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); state[0] = TestTool$Wonderjs.initWithoutBuildFakeDom(sandbox, undefined, undefined, /* () */0); return GenerateSingleSABTool$Wonderjs.prepare(sandbox[0]); })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); return Wonder_jest.describe("generate single wdb", (function (param) { Wonder_jest.describe("test basic", (function (param) { var _createGameObject1 = function (state) { var match = LightMaterialAPI$Wonderjs.createLightMaterial(state); var material = match[1]; var diffuseColor = /* array */[ 0, 0.5, 1 ]; var state$1 = LightMaterialAPI$Wonderjs.setLightMaterialDiffuseColor(material, diffuseColor, match[0]); var match$1 = BoxGeometryTool$Wonderjs.createBoxGeometry(state$1); var geometry = match$1[1]; var match$2 = MeshRendererAPI$Wonderjs.createMeshRenderer(match$1[0]); var meshRenderer = match$2[1]; var match$3 = GameObjectAPI$Wonderjs.createGameObject(match$2[0]); var gameObject = match$3[1]; var state$2 = GameObjectAPI$Wonderjs.addGameObjectMeshRendererComponent(gameObject, meshRenderer, GameObjectAPI$Wonderjs.addGameObjectGeometryComponent(gameObject, geometry, GameObjectAPI$Wonderjs.addGameObjectLightMaterialComponent(gameObject, material, match$3[0]))); var transform = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(gameObject, state$2); var localPos = /* tuple */[ 10, 11, 12.5 ]; var localRotation = /* tuple */[ 0, 1, 2.5, 1 ]; var localScale = /* tuple */[ 2, 3.5, 1.5 ]; var state$3 = TransformAPI$Wonderjs.setTransformLocalScale(transform, localScale, TransformAPI$Wonderjs.setTransformLocalRotation(transform, localRotation, TransformAPI$Wonderjs.setTransformLocalPosition(transform, localPos, state$2))); return /* tuple */[ state$3, gameObject, /* tuple */[ transform, /* tuple */[ localPos, localRotation, localScale ] ], geometry, /* tuple */[ material, diffuseColor ], meshRenderer ]; }; var _prepareGameObject = function (state) { var state$1 = state[0]; var rootGameObject = SceneAPI$Wonderjs.getSceneGameObject(state$1); var sceneGameObjectTransform = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(rootGameObject, state$1); var match = _createGameObject1(state$1); var match$1 = match[4]; var match$2 = match[2]; var match$3 = match$2[1]; var transform1 = match$2[0]; var match$4 = _createGameObject1(match[0]); var match$5 = match$4[4]; var match$6 = match$4[2]; var match$7 = match$6[1]; var transform2 = match$6[0]; var state$2 = SceneAPI$Wonderjs.addSceneChild(transform2, SceneAPI$Wonderjs.addSceneChild(transform1, match$4[0])); return /* tuple */[ state$2, /* tuple */[ rootGameObject, sceneGameObjectTransform ], /* tuple */[ match[1], match$4[1] ], /* tuple */[ /* tuple */[ transform1, /* tuple */[ match$3[0], match$3[1], match$3[2] ] ], /* tuple */[ transform2, /* tuple */[ match$7[0], match$7[1], match$7[2] ] ] ], /* tuple */[ match[3], match$4[3] ], /* tuple */[ /* tuple */[ match$1[0], match$1[1] ], /* tuple */[ match$5[0], match$5[1] ] ], /* tuple */[ match[5], match$4[5] ] ]; }; return Wonder_jest.test("test gameObjects", (function (param) { var match = _prepareGameObject(state); var sab = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(match[1][0], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, match[0]); var content = GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* getSceneAssetBundleContent */0](sab); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](content[/* gameObjects */3]), /* record */[ /* count */3, /* names : array */[ "gameObject_0", "gameObject_1", "gameObject_2" ], /* isRoots */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), /* isActives */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0) ]); })); })); return Wonder_jest.describe("test image", (function (param) { return Wonder_jest.describe("test image from basicSourceTexture", (function (param) { var _prepareGameObject = function (state) { var state$1 = state[0]; var rootGameObject = SceneAPI$Wonderjs.getSceneGameObject(state$1); GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(rootGameObject, state$1); var imageName = "image1"; var match = GenerateSABTool$Wonderjs.createGameObjectWithMap(imageName, state$1); var state$2 = SceneAPI$Wonderjs.addSceneChild(match[2], match[0]); var match$1 = GenerateSceneGraphSystemTool$Wonderjs.prepareCanvas(sandbox); return /* tuple */[ state$2, rootGameObject, /* tuple */[ imageName, match$1[2][0] ] ]; }; Wonder_jest.test("test images", (function (param) { var match = _prepareGameObject(state); var sab = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(match[1], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, match[0]); var content = GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* getSceneAssetBundleContent */0](sab); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](content[/* images */4]), /* array */[/* record */[ /* name */match[2][0], /* bufferView */4, /* mimeType */"image/png" ]]); })); return Wonder_jest.test("test image buffer data", (function (param) { var match = _prepareGameObject(state); var sab = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(match[1], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, match[0]); var content = GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* getSceneAssetBundleContent */0](sab); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](content[/* bufferViews */9][4][/* byteLength */2]), BufferUtils$Wonderjs.convertBase64ToBinary(match[2][1]).byteLength); })); })); })); })); })); /* Not a pure module */