wonder.js
Version:
1,781 lines • 206 kB
JavaScript
'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 Js_option = require("bs-platform/lib/js/js_option.js");
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Caml_option = require("bs-platform/lib/js/caml_option.js");
var Wonder_jest = require("wonder-bs-jest/lib/js/src/wonder_jest.js");
var GLBTool$Wonderjs = require("../tool/GLBTool.js");
var WDBTool$Wonderjs = require("../tool/WDBTool.js");
var GLTFTool$Wonderjs = require("../tool/GLTFTool.js");
var SceneAPI$Wonderjs = require("../../../../../src/api/SceneAPI.js");
var TestTool$Wonderjs = require("../../../../tool/TestTool.js");
var ViewTool$Wonderjs = require("../../../../tool/service/device/ViewTool.js");
var IMGUITool$Wonderjs = require("../../../../tool/service/imgui/IMGUITool.js");
var JudgeTool$Wonderjs = require("../../../../tool/JudgeTool.js");
var SceneTool$Wonderjs = require("../../../../tool/service/scene/SceneTool.js");
var ScriptAPI$Wonderjs = require("../../../../../src/api/script/ScriptAPI.js");
var CameraTool$Wonderjs = require("../../../../tool/service/camera/CameraTool.js");
var FakeGlTool$Wonderjs = require("../../../../tool/gl/FakeGlTool.js");
var ScriptTool$Wonderjs = require("../../../../tool/service/script/ScriptTool.js");
var SkyboxTool$Wonderjs = require("../../job/tool/SkyboxTool.js");
var StringTool$Wonderjs = require("../../../../tool/StringTool.js");
var ConvertTool$Wonderjs = require("../tool/ConvertTool.js");
var GeometryAPI$Wonderjs = require("../../../../../src/api/geometry/GeometryAPI.js");
var SettingTool$Wonderjs = require("../../../../tool/service/setting/SettingTool.js");
var ArrayService$Wonderjs = require("../../../../../src/service/atom/ArrayService.js");
var TransformAPI$Wonderjs = require("../../../../../src/api/TransformAPI.js");
var ExecIMGUITool$Wonderjs = require("../../../../tool/service/imgui/ExecIMGUITool.js");
var GameObjectAPI$Wonderjs = require("../../../../../src/api/GameObjectAPI.js");
var OptionService$Wonderjs = require("../../../../../src/service/atom/OptionService.js");
var PointLightAPI$Wonderjs = require("../../../../../src/api/light/PointLightAPI.js");
var SerializeTool$Wonderjs = require("../../../../unit/tool/service/atom/SerializeTool.js");
var TransformTool$Wonderjs = require("../../../../tool/service/transform/TransformTool.js");
var ConvertGLBTool$Wonderjs = require("../tool/ConvertGLBTool.js");
var IOIMGUITool$WonderImgui = require("wonder-imgui/lib/js/test/integration/tool/IOIMGUITool.js");
var RenderJobsTool$Wonderjs = require("../../../../tool/job/no_worker/loop/RenderJobsTool.js");
var MeshRendererAPI$Wonderjs = require("../../../../../src/api/MeshRendererAPI.js");
var BasicMaterialAPI$Wonderjs = require("../../../../../src/api/material/BasicMaterialAPI.js");
var LightMaterialAPI$Wonderjs = require("../../../../../src/api/material/LightMaterialAPI.js");
var CubemapTextureAPI$Wonderjs = require("../../../../../src/api/texture/CubemapTextureAPI.js");
var DirectionLightAPI$Wonderjs = require("../../../../../src/api/light/DirectionLightAPI.js");
var LightMaterialTool$Wonderjs = require("../../../../tool/service/material/LightMaterialTool.js");
var LoadStreamWDBTool$Wonderjs = require("../../../tool/asset/load/LoadStreamWDBTool.js");
var SceneGraphDomTool$Wonderjs = require("../tool/SceneGraphDomTool.js");
var BasicCameraViewAPI$Wonderjs = require("../../../../../src/api/camera/BasicCameraViewAPI.js");
var CubemapTextureTool$Wonderjs = require("../../../../tool/service/texture/CubemapTextureTool.js");
var SceneGraphIMGUITool$Wonderjs = require("../tool/SceneGraphIMGUITool.js");
var SceneGraphScriptTool$Wonderjs = require("../tool/SceneGraphScriptTool.js");
var AssembleWDBSystemTool$Wonderjs = require("../tool/AssembleWDBSystemTool.js");
var BasicSourceTextureAPI$Wonderjs = require("../../../../../src/api/texture/BasicSourceTextureAPI.js");
var NoWorkerJobConfigTool$Wonderjs = require("../../../../tool/service/noWorkerJob/NoWorkerJobConfigTool.js");
var BasicSourceTextureTool$Wonderjs = require("../../../../tool/service/texture/BasicSourceTextureTool.js");
var CreateStateMainService$Wonderjs = require("../../../../../src/service/state/main/state/CreateStateMainService.js");
var ExtendIMGUIMainService$Wonderjs = require("../../../../../src/service/state/main/imgui/extend/ExtendIMGUIMainService.js");
var FlyCameraControllerAPI$Wonderjs = require("../../../../../src/api/camera_controller/FlyCameraControllerAPI.js");
var SerializeAllIMGUIService$Wonderjs = require("../../../../../src/service/record/all/imgui/SerializeAllIMGUIService.js");
var SetAssetIMGUIMainService$Wonderjs = require("../../../../../src/service/state/main/imgui/SetAssetIMGUIMainService.js");
var ArcballCameraControllerAPI$Wonderjs = require("../../../../../src/api/camera_controller/ArcballCameraControllerAPI.js");
var MutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableHashMapService.js");
var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js");
var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js");
var PerspectiveCameraProjectionTool$Wonderjs = require("../../../../tool/service/camera/PerspectiveCameraProjectionTool.js");
Wonder_jest.describe("assemble wdb from glb", (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.init(sandbox, undefined, SettingTool$Wonderjs.buildBufferConfigStr(10000, 10, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), /* () */0);
Curry._1(SceneGraphDomTool$Wonderjs.buildFakeImage, /* () */0);
return ConvertTool$Wonderjs.setFakeTransformCount(50);
}));
afterEach((function () {
return Curry._1(Sinon.restoreSandbox, sandbox[0]);
}));
Wonder_jest.describe("build scene gameObject", (function (param) {
Wonder_jest.testPromise("test single scene gameObject", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[2][0]), 1);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test multi scene gameObjects", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], AssembleWDBSystemTool$Wonderjs.buildGLTFJsonOfMultiSceneGameObjects(/* () */0), (function (param) {
var rootGameObject = param[2][0];
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
rootGameObject,
TransformAPI$Wonderjs.unsafeGetTransformChildren(GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(rootGameObject, state), state)
]), /* tuple */[
3,
/* array */[
1,
2
]
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test set isRoot", (function (param) {
Wonder_jest.describe("if scene gameObject only has one child, its isRoot should be decided by the child", (function (param) {
Wonder_jest.testPromise("test1", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneAndOneNodeIsRoot(true, false), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](GameObjectAPI$Wonderjs.unsafeGetGameObjectIsRoot(param[2][0], param[0])), false);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test2", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneAndOneNodeIsRoot(false, true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](GameObjectAPI$Wonderjs.unsafeGetGameObjectIsRoot(param[2][0], param[0])), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test3", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneAndOneNodeIsRoot(true, true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](GameObjectAPI$Wonderjs.unsafeGetGameObjectIsRoot(param[2][0], param[0])), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("else, its isRoot should decided by the itself", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneAndTwoNodeIsRoot(true, false), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](GameObjectAPI$Wonderjs.unsafeGetGameObjectIsRoot(param[2][0], param[0])), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test truck glb", (function (param) {
return Wonder_jest.testPromise("root gameObject->isRoot should be true", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](GameObjectAPI$Wonderjs.unsafeGetGameObjectIsRoot(param[2][0], param[0])), true);
}), state[0]);
}));
}));
}));
}));
Wonder_jest.describe("test imgui", (function (param) {
Wonder_jest.describe("if isHandleIMGUI === true, handle imgui data", (function (param) {
Wonder_jest.describe("test return hasIMGUIData", (function (param) {
return Wonder_jest.testPromise("return true", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[1][1]), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test execData", (function (param) {
Wonder_jest.describe("test customData", (function (param) {
return Wonder_jest.testPromise("test value with function", undefined, (function (param) {
var name = "e1";
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(name, "[ 1, \"function (a) { return a; }\" ]", undefined, undefined, /* () */0)), undefined, undefined, /* () */0), (function (param) {
var match = OptionService$Wonderjs.unsafeGet(ExecIMGUITool$Wonderjs.getCustomData(name, param[0]));
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Curry._1(match[1], 10)), 10);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.testPromise("test empty imgui func", undefined, (function (param) {
var customData = "1";
var execFunc = ExecIMGUITool$Wonderjs.buildEmptyExecFuncStr(/* () */0);
var name = "e1";
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(name, customData, undefined, execFunc, /* () */0)), undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
SerializeTool$Wonderjs.serializeFunction(OptionService$Wonderjs.unsafeGet(ExecIMGUITool$Wonderjs.getExecFunc(name, state))),
OptionService$Wonderjs.unsafeGet(ExecIMGUITool$Wonderjs.getCustomData(name, state))
]), /* tuple */[
execFunc,
JSON.parse(customData)
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test use imguiAPIJsObj", undefined, (function (param) {
var match = LightMaterialTool$Wonderjs.createGameObject(state[0]);
var gameObject = match[1];
var name = "e1";
var customData = JSON.stringify(/* array */[gameObject]);
var execFunc = StringTool$Wonderjs.removeNewLines(SerializeTool$Wonderjs.serializeFunction((function (customData, imguiAPIJsObj, state) {
var gameObject = customData[0];
var unsafeGetGameObjectLightMaterialComponent = imguiAPIJsObj.unsafeGetGameObjectLightMaterialComponent;
unsafeGetGameObjectLightMaterialComponent(gameObject, state);
return state;
})));
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(name, customData, undefined, execFunc, /* () */0)), undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
StringTool$Wonderjs.removeSpaces(StringTool$Wonderjs.removeNewLines(SerializeTool$Wonderjs.serializeFunction(OptionService$Wonderjs.unsafeGet(ExecIMGUITool$Wonderjs.getExecFunc(name, state))))),
OptionService$Wonderjs.unsafeGet(ExecIMGUITool$Wonderjs.getCustomData(name, state))
]), /* tuple */[
StringTool$Wonderjs.removeSpaces(StringTool$Wonderjs.removeNewLines("\n function (customData, imguiAPIJsObj, state) {\n var gameObject = customData[0];\n var unsafeGetGameObjectLightMaterialComponent = imguiAPIJsObj.unsafeGetGameObjectLightMaterialComponent;\n unsafeGetGameObjectLightMaterialComponent(gameObject, state);\n return state;\n }\n ")),
/* array */[gameObject]
]);
}), /* record */[/* contents */match[0]], undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test multi exec func data", (function (param) {
return Wonder_jest.describe("test execOrder", (function (param) {
return Wonder_jest.testPromise("the execFuncDataArr is sorted by execOrder", undefined, (function (param) {
var execFunc1 = ExecIMGUITool$Wonderjs.buildEmptyExecFuncStr(/* () */0);
var name1 = "e1";
var name2 = "e2";
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(ConvertGLBTool$Wonderjs.buildExecData(/* array */[
ConvertGLBTool$Wonderjs.buildExecFuncData(name1, "1", 2, execFunc1, /* () */0),
ConvertGLBTool$Wonderjs.buildExecFuncData(name2, "2", 0, "function (customData, imguiAPIJsObj, state){ var a = 1; return state; }", /* () */0)
])), undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](ExecIMGUITool$Wonderjs.getExecFuncDataArr(param[0]).map((function (param) {
return param[/* name */3];
}))), /* array */[
name2,
name1
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
Wonder_jest.testPromise("test extendData", undefined, (function (param) {
var customControlName = "c1";
var extendData = ConvertGLBTool$Wonderjs.buildExtendData(Caml_option.some(ImmutableHashMapService$WonderCommonlib.set(customControlName, IMGUITool$Wonderjs.buildEmptyCustomControlFunc(/* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("s1", Curry._1(ExtendIMGUIMainService$Wonderjs.ExtendData[/* Skin */2][/* createDefaultSkinData */10], /* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), /* () */0);
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(undefined, Caml_option.some(extendData), undefined, /* () */0), (function (param) {
var state = param[0];
var funcMap = Curry._1(ExtendIMGUIMainService$Wonderjs.ExtendData[/* CustomControl */1][/* getFuncMap */0], state);
var allSkinDataMap = Curry._1(ExtendIMGUIMainService$Wonderjs.ExtendData[/* Skin */2][/* getAllSkinDataMap */0], state);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
/* tuple */[
JudgeTool$Wonderjs.isFunction(ImmutableHashMapService$WonderCommonlib.unsafeGet(customControlName, funcMap)),
SerializeAllIMGUIService$Wonderjs.CustomControl[/* serializeFuncMap */0](funcMap)
],
SerializeAllIMGUIService$Wonderjs.Skin[/* serializeAllSkinDataMap */0](allSkinDataMap)
]), /* tuple */[
/* tuple */[
true,
extendData.customControlData.funcMap
],
extendData.skinData.allSkinDataMap
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test assetData", undefined, (function (param) {
IOIMGUITool$WonderImgui.buildFakeURL(sandbox[0]);
IOIMGUITool$WonderImgui.buildFakeLoadImage();
var bitmapName = "bbb";
var assetData = ConvertGLBTool$Wonderjs.buildAssetData(SceneGraphIMGUITool$Wonderjs.buildFakeFntName(/* () */0), SceneGraphIMGUITool$Wonderjs.buildFakeFntContent(/* () */0), bitmapName, 0, /* array */[ConvertGLBTool$Wonderjs.buildCustomImageData("c1", 2, "image/png", /* () */0)], /* () */0);
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(undefined, undefined, Caml_option.some(assetData), /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
SetAssetIMGUIMainService$Wonderjs.unsafeGetSettedAssetFntName(state),
SetAssetIMGUIMainService$Wonderjs.unsafeGetSettedAssetFntContent(state),
SetAssetIMGUIMainService$Wonderjs.unsafeGetSettedAssetBitmapName(state),
SetAssetIMGUIMainService$Wonderjs.unsafeGetSettedAssetBitmapArrayBuffer(state).byteLength,
SceneGraphIMGUITool$Wonderjs.getSettedAssetCustomImageDataArrForTest(state)
]), /* tuple */[
SceneGraphIMGUITool$Wonderjs.buildFakeFntName(/* () */0),
SceneGraphIMGUITool$Wonderjs.buildFakeFntContent(/* () */0),
bitmapName,
288,
/* array */[/* tuple */[
192,
"c1",
"image/png"
]]
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("else, not handle", (function (param) {
Wonder_jest.describe("test return hasIMGUIData", (function (param) {
return Wonder_jest.testPromise("return true", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[1][1]), true);
}), state, undefined, false, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.testPromise("should has no customData", undefined, (function (param) {
var name = "e1";
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(name, "[ 1, \\\"function (a) { return a; }\\\" ]", undefined, undefined, /* () */0)), undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Js_option.isNone(ExecIMGUITool$Wonderjs.getCustomData(name, param[0]))), true);
}), state, undefined, false, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
Wonder_jest.describe("test skybox", (function (param) {
Wonder_jest.testPromise("get skybox->cubemap", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Js_option.isSome(param[2][1])), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("not set to skybox", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](SceneTool$Wonderjs.getCubemapTexture(param[0])), undefined);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test skybox->cubemap texture", (function (param) {
Wonder_jest.describe("test set texture name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, "aaa", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](CubemapTextureAPI$Wonderjs.unsafeGetCubemapTextureName(OptionService$Wonderjs.unsafeGet(param[2][1]), param[0])), "aaa");
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.testPromise("test set flipY", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, true, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](CubemapTextureAPI$Wonderjs.getCubemapTextureFlipY(OptionService$Wonderjs.unsafeGet(param[2][1]), param[0])), true);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test set sampler data", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
var cubemapTexture = OptionService$Wonderjs.unsafeGet(param[2][1]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
CubemapTextureAPI$Wonderjs.getCubemapTextureMagFilter(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureMinFilter(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureWrapS(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureWrapT(cubemapTexture, state)
]), /* tuple */[
/* Linear */1,
/* Nearest_mipmap_linear */4,
/* Repeat */2,
/* Repeat */2
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.describe("test set source", (function (param) {
Wonder_jest.testPromise("if isLoadImage === false, not set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Js_option.isNone(CubemapTextureTool$Wonderjs.getCubemapTexturePXSource(OptionService$Wonderjs.unsafeGet(param[2][1]), param[0]))), true);
}), state, undefined, undefined, undefined, undefined, undefined, false, /* () */0);
}));
return Wonder_jest.testPromise("else, set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
var cubemapTexture = OptionService$Wonderjs.unsafeGet(param[2][1]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTexturePXSource(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTextureNXSource(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTexturePYSource(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTextureNYSource(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTexturePZSource(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.unsafeGetCubemapTextureNZSource(cubemapTexture, state)
]), /* tuple */[
GLBTool$Wonderjs.createFakeImage("pxSource.png", "object_url1", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("nxSource.jpg", "object_url2", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("pySource.png", "object_url3", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("nySource.jpg", "object_url4", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("pzSource.png", "object_url5", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("nzSource.jpg", "object_url6", undefined, undefined, /* () */0)
]);
}), state, undefined, undefined, undefined, undefined, undefined, true, /* () */0);
}));
}));
Wonder_jest.testPromise("test release blobs", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
OptionService$Wonderjs.unsafeGet(param[2][1]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Sinon.getCallCount(GLBTool$Wonderjs.getURL().revokeObjectURL)), 7);
}), state, undefined, undefined, undefined, undefined, undefined, true, /* () */0);
}));
Wonder_jest.testPromise("test set format", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, /* Alpha */2, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
var cubemapTexture = OptionService$Wonderjs.unsafeGet(param[2][1]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
CubemapTextureAPI$Wonderjs.getCubemapTexturePXFormat(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNXFormat(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTexturePYFormat(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNYFormat(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTexturePZFormat(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNZFormat(cubemapTexture, state)
]), /* tuple */[
CubemapTextureTool$Wonderjs.getDefaultFormat(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultFormat(/* () */0),
/* Alpha */2,
CubemapTextureTool$Wonderjs.getDefaultFormat(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultFormat(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultFormat(/* () */0)
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test set type", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 3, undefined, undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
var cubemapTexture = OptionService$Wonderjs.unsafeGet(param[2][1]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
CubemapTextureAPI$Wonderjs.getCubemapTexturePXType(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNXType(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTexturePYType(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNYType(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTexturePZType(cubemapTexture, state),
CubemapTextureAPI$Wonderjs.getCubemapTextureNZType(cubemapTexture, state)
]), /* tuple */[
CubemapTextureTool$Wonderjs.getDefaultType(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultType(/* () */0),
3,
CubemapTextureTool$Wonderjs.getDefaultType(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultType(/* () */0),
CubemapTextureTool$Wonderjs.getDefaultType(/* () */0)
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
Wonder_jest.describe("test gameObject", (function (param) {
Wonder_jest.describe("set gameObject name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectName(gameObject, state);
}))), /* array */[
"gameObject_0",
"gameObject_3",
"gameObject_1",
"Cesium_Milk_Truck_0",
"Cesium_Milk_Truck_1",
"Cesium_Milk_Truck_2",
"Wheels",
"Wheels"
]);
}), state[0]);
}));
}));
Wonder_jest.describe("set gameObject isActive", (function (param) {
Wonder_jest.testPromise("if gltf->node->extras has no isActive, set true", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllChildrenData(AssembleWDBSystemTool$Wonderjs.getAllGameObjectsIsActive(param[2][0], param[0]))), /* array */[
true,
true,
true,
true,
true,
true,
true
]);
}), state[0]);
}));
return Wonder_jest.testPromise("else, set it", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsActive(false), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjectsIsActive(param[2][0], param[0])), /* array */[
false,
false
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("set gameObject isRoot", (function (param) {
Wonder_jest.testPromise("if gltf->node->extras has no isRoot, set false", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllChildrenData(AssembleWDBSystemTool$Wonderjs.getAllGameObjectsIsRoot(param[2][0], param[0]))), /* array */[
false,
false,
false,
false,
false,
false,
false
]);
}), state[0]);
}));
return Wonder_jest.testPromise("else, set it", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsRoot(true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjectsIsRoot(param[2][0], param[0])), /* array */[
true,
true
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test gameObject count", (function (param) {
return Wonder_jest.testPromise("test 2CylinderEngine glb", undefined, (function (param) {
ConvertTool$Wonderjs.setFakeTransformCount(1000);
state[0] = TestTool$Wonderjs.initWithoutBuildFakeDom(sandbox, undefined, SettingTool$Wonderjs.buildBufferConfigStr(300000, 50, 500, undefined, 480, undefined, undefined, 500, undefined, undefined, undefined, undefined, undefined, /* () */0), /* () */0);
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("2CylinderEngine.glb"), (function (param) {
GLTFTool$Wonderjs.getTruckGeometryData(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], param[0]).length), 159);
}), state[0]);
}));
}));
}));
Wonder_jest.describe("test transforms", (function (param) {
Wonder_jest.describe("test set parent", (function (param) {
Wonder_jest.testPromise("test children", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var allTransformChildren = AssembleWDBSystemTool$Wonderjs.getAllChildrenTransform(param[2][0], param[0]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](allTransformChildren), /* array */[
4,
2,
6,
7,
8,
5,
3
]);
}), state[0]);
}));
return Wonder_jest.testPromise("test parent", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
AssembleWDBSystemTool$Wonderjs.getAllChildrenTransform(param[2][0], state);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](TransformTool$Wonderjs.getRecord(state)[/* parentMap */15]), /* array */[
undefined,
undefined,
1,
2,
1,
4,
1,
1,
1
]);
}), state[0]);
}));
}));
return Wonder_jest.describe("test set data", (function (param) {
return Wonder_jest.testPromise("test set localPosition, localRotation, localScale", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllSortedTransforms(param[2][0], state).map((function (transform) {
return /* tuple */[
TransformAPI$Wonderjs.getTransformLocalPosition(transform, state),
TransformAPI$Wonderjs.getTransformLocalRotation(transform, state),
TransformAPI$Wonderjs.getTransformLocalScale(transform, state)
];
}))), /* array */[
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
-1.352329969406128,
0.4277220070362091,
-2.98022992950564e-8
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0.08848590403795242,
-0.9960774183273315
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
1.432669997215271,
0.4277220070362091,
-2.98022992950564e-8
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0.08848590403795242,
-0.9960774183273315
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
],
/* tuple */[
/* tuple */[
0,
0,
0
],
/* tuple */[
0,
0,
0,
1
],
/* tuple */[
1,
1,
1
]
]
]);
}), state[0]);
}));
}));
}));
Wonder_jest.describe("test geometrys", (function (param) {
Wonder_jest.describe("test set point data", (function (param) {
Wonder_jest.testPromise("test single node gltf", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
var state = param[0];
var geometry = GameObjectAPI$Wonderjs.unsafeGetGameObjectGeometryComponent(param[2][0], state);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
GeometryAPI$Wonderjs.getGeometryVertices(geometry, state),
GeometryAPI$Wonderjs.getGeometryNormals(geometry, state),
GeometryAPI$Wonderjs.getGeometryTexCoords(geometry, state),
Caml_option.some(GeometryAPI$Wonderjs.getGeometryIndices16(geometry, state)),
undefined
]), GLTFTool$Wonderjs.getBoxTexturedGeometryData(/* () */0));
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test truck glb", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var dataMap = GLTFTool$Wonderjs.getTruckGeometryData(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGeometryData(param[2][0], param[0])), /* array */[
/* tuple */[
"Cesium_Milk_Truck_0",
MutableHashMapService$WonderCommonlib.unsafeGet("Cesium_Milk_Truck_0", dataMap)
],
/* tuple */[
"Cesium_Milk_Truck_1",
MutableHashMapService$WonderCommonlib.unsafeGet("Cesium_Milk_Truck_1", dataMap)
],
/* tuple */[
"Cesium_Milk_Truck_2",
MutableHashMapService$WonderCommonlib.unsafeGet("Cesium_Milk_Truck_2", dataMap)
],
/* tuple */[
"Wheels",
MutableHashMapService$WonderCommonlib.unsafeGet("Wheels", dataMap)
],
/* tuple */[
"Wheels",
MutableHashMapService$WonderCommonlib.unsafeGet("Wheels", dataMap)
]
]);
}), state[0]);
}));
Wonder_jest.testPromise("test AlphaBlendModeTest glb", undefined, (function (param) {
state[0] = TestTool$Wonderjs.initWithoutBuildFakeDom(sandbox, undefined, SettingTool$Wonderjs.buildBufferConfigStr(8000000, 50, 500, undefined, 480, undefined, undefined, 500, undefined, undefined, undefined, undefined, undefined, /* () */0), /* () */0);
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("AlphaBlendModeTest.glb"), (function (param) {
var allGeometryData = AssembleWDBSystemTool$Wonderjs.getAllGeometryData(param[2][0], param[0]);
var dataMap = GLTFTool$Wonderjs.getAlphaBlendModeTestGeometryData(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
allGeometryData.length,
Caml_array.caml_array_get(allGeometryData, 1)
]), /* tuple */[
9,
/* tuple */[
"DecalBlendMesh",
MutableHashMapService$WonderCommonlib.unsafeGet("DecalBlendMesh", dataMap)
]
]);
}), state[0]);
}));
Wonder_jest.testPromise("test SuperLowPolyStove glb", undefined, (function (param) {
state[0] = TestTool$Wonderjs.initWithoutBuildFakeDom(sandbox, undefined, SettingTool$Wonderjs.buildBufferConfigStr(100000, 100, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), /* () */0);
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var allGeometryData = AssembleWDBSystemTool$Wonderjs.getAllGeometryData(param[2][0], param[0]);
var dataMap = GLTFTool$Wonderjs.getSuperLowPolyStoveGeometryData(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
allGeometryData.length,
Caml_array.caml_array_get(allGeometryData, 1)
]), /* tuple */[
2,
/* tuple */[
"Stove_1",
MutableHashMapService$WonderCommonlib.unsafeGet("Stove_1", dataMap)
]
]);
}), state[0]);
}));
return Wonder_jest.testPromise("test gameObjects which has no cutomGeometry component", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllSortedTransforms(param[2][0], state).map((function (transform) {
return TransformAPI$Wonderjs.unsafeGetTransformGameObject(transform, state);
})).map((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectGeometryComponent(gameObject, state);
}))), /* array */[
false,
false,
true,
false,
true,
true,
true,
true
]);
}), state[0]);
}));
}));
return Wonder_jest.describe("set geometry name", (function (param) {
Wonder_jest.testPromise("test BoxTextured glb", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGeometrys(param[2][0], state).map((function (geometry) {
return GeometryAPI$Wonderjs.unsafeGetGeometryName(geometry, state);
}))), /* array */["Mesh"]);
}), state[0]);
}));
return Wonder_jest.testPromise("test truck glb", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGeometrys(param[2][0], state).map((function (geometry) {
return GeometryAPI$Wonderjs.unsafeGetGeometryName(geometry, state);
}))), /* array */[
"Cesium_Milk_Truck_0",
"Cesium_Milk_Truck_1",
"Cesium_Milk_Truck_2",
"Wheels",
"Wheels"
]);
}), state[0]);
}));
}));
}));
Wonder_jest.describe("test basicCameraViews", (function (param) {
Wonder_jest.describe("test add basicCameraView components", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectBasicCameraViewComponent(gameObject, state);
}))), /* array */[
true,
true,
false
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test set active", (function (param) {
var _getAllBasicCameraViewGameObjects = function (rootGameObject, state) {
return AssembleWDBSystemTool$Wonderjs.getAllGameObjects(rootGameObject, state).filter((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectBasicCameraViewComponent(gameObject, state);
}));
};
Wonder_jest.describe("test no extras", (function (param) {
return Wonder_jest.describe("active the one whose cameraViewIndex === 0", (function (param) {
Wonder_jest.testPromise("if isActiveCamera === false, not active", undefined, (function (param) {
var match = CameraTool$Wonderjs.createBasicCameraViewPerspectiveCamera(state[0]);
var basicCameraView = match[1];
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](ArrayService$Wonderjs.push(basicCameraView, _getAllBasicCameraViewGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectBasicCameraViewComponent(gameObject, state);
}))).map((function (cameraView) {
return /* tuple */[
cameraView,
BasicCameraViewAPI$Wonderjs.isActiveBasicCameraView(cameraView, state)
];
}))), /* array */[
/* tuple */[
3,
false
],
/* tuple */[
1,
false
],
/* tuple */[
0,
false
]
]);
}), /* record */[/* contents */match[0]], undefined, undefined, undefined, false, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("else", (function (param) {
return Wonder_jest.testPromise("unactive other ones", undefined, (function (param) {
var match = CameraTool$Wonderjs.createBasicCameraViewPerspectiveCamera(state[0]);
var basicCameraView = match[1];
var state$1 = BasicCameraViewAPI$Wonderjs.activeBasicCameraView(basicCameraView, match[0]);
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](ArrayService$Wonderjs.push(basicCameraView, _getAllBasicCameraViewGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectBasicCameraViewComponent(gameObject, state);
}))).map((function (cameraView) {
return /* tuple */[
cameraView,
BasicCameraViewAPI$Wonderjs.isActiveBasicCameraView(cameraView, state)
];
}))), /* array */[
/* tuple */[
3,
false
],
/* tuple */[
1,
true
],
/* tuple */[
0,
false
]
]);
}), /* record */[/* contents */state$1], undefined, undefined, undefined, true, undefined, undefined, /* () */0);
}));
}));
}));
}));
return Wonder_jest.describe("test extras", (function (param) {
Wonder_jest.testPromise("if isActiveCamera === false, not active", undefined, (function (param) {
var match = CameraTool$Wonderjs.createBasicCameraViewPerspectiveCamera(state[0]);
var basicCameraView = match[1];
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicCameraView(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](ArrayService$Wonderjs.push(basicCameraView, _getAllBasicCameraViewGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectBasicCameraViewComponent(gameObject, state);
}))).map((function (cameraView) {
return /* tuple */[
cameraView,
BasicCameraViewAPI$Wonderjs.isActiveBasicCameraView(cameraView, state)
];
}))), /* array */[
/* tuple */[
2,
false
],
/* tuple */[
1,
false
],
/* tuple */[
3,
false
],
/* tuple */[
0,
false
]
]);
}), /* record */[/* contents */match[0]], undefined, undefined, undefined, false, undefined, undefined, /* () */0);
}));
Wonder_jest.describe("else", (function (param) {
return Wonder_jest.testPromise("unactive other ones", undefined, (function (param) {
var match = CameraTool$Wonderjs.createBasicCameraViewPerspectiveCamera(state[0]);
var basicCameraView = match[1];
var state$1 = BasicCameraViewAPI$Wonderjs.activeBasicCameraView(basicCameraView, match[0]);
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicCameraView(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](ArrayService$Wonderjs.push(basicCameraView, _getAllBasicCameraViewGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectBasicCameraViewComponent(gameObject, state);
}))).map((function (cameraView) {
return /* tuple */[
cameraView,
BasicCameraViewAPI$Wonderjs.isActiveBasicCameraView(cameraView, state)
];
}))), /* array */[
/* tuple */[
2,
true
],
/* tuple */[
1,
false
],
/* tuple */[
3,
false
],
/* tuple */[
0,
false
]
]);
}), /* record */[/* contents */state$1], undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("fix bug", (function (param) {
return Wonder_jest.testPromise("shouldn't affect by isLoadImage", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicCameraView(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllBasicCameraViewGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectBasicCameraViewComponent(gameObject, state);
})).map((function (cameraView) {
return /* tuple */[
cameraView,
BasicCameraViewAPI$Wonderjs.isActiveBasicCameraView(cameraView, state)
];
}))), /* array */[
/* tuple */[
1,
true
],
/* tuple */[
0,
false
],
/* tuple */[
2,
false
]
]);
}), /* record */[/* contents */state[0]], undefined, undefined, undefined, true, undefined, false, /* () */0);
}));
}));
}));
}));
}));
Wonder_jest.describe("test perspectiveCameraProjections", (function (param) {
return Wonder_jest.describe("test set data", (function (param) {
var _getAllPerspectiveCameraProjectionComponent = function (rootGameObject, state) {
return AssembleWDBSystemTool$Wonderjs.getAllGameObjects(rootGameObject, state).filter((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectPerspectiveCameraProjectionComponent(gameObject, state);
})).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectPerspectiveCameraProjectionComponent(gameObject, state);
}));
};
Wonder_jest.testPromise("test set near, fovy", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllPerspectiveCameraProjectionComponent(param[2][0], state).map((function (cameraProjection) {
return /* tuple */[
PerspectiveCameraProjectionTool$Wonderjs.unsafeGetNear(cameraProjection, state),
PerspectiveCameraProjectionTool$Wonderjs.unsafeGetFovy(cameraProjection, state)
];
}))), /* array */[
/* tuple */[
2,
28.64788975654116
],
/* tuple */[
1,
34.37746770784939
]
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.describe("test set far", (function (param) {
return Wonder_jest.testPromise("if no far, set infinite", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllPerspectiveCameraProjectionComponent(param[2][0], state).map((function (cameraProjection) {
return PerspectiveCameraProjectionTool$Wonderjs.unsafeGetFar(cameraProjection, state);
}))), /* array */[
1000,
100000
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test set aspect", (function (param) {
return Wonder_jest.testPromise("if has no aspect data, not set aspect", undefined, (function (param) {
var state = RenderJobsTool$Wonderjs.initWithJobConfigWithoutBuildFakeDom(sandbox, NoWorkerJobConfigTool$Wonderjs.buildNoWorkerJobConfig(undefined, "\n [\n {\n \"name\": \"default\",\n \"jobs\": [\n {\n \"name\": \"init_camera\"\n }\n ]\n }\n ]\n ", undefined, undefined, undefined, /* () */0));
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
var state = FakeGlTool$Wonderjs.setFakeGl(FakeGlTool$Wonderjs.buildFakeGl(sandbox, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), param[0]);
var canvas = {
width: 100,
height: 200
};
var state$1 = ViewTool$Wonderjs.setCanvas(canvas, state);
var state$2 = RenderJobsTool$Wonderjs.init(state$1);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllPerspectiveCameraProjectionComponent(param[2][0], state$2).map((function (cameraProjection) {
return PerspectiveCameraProjectionTool$Wonderjs.getAspect(cameraProjection, state$2);
}))), /* array */[
2,
undefined
]);
}), /* record */[/* contents */state], undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
Wonder_jest.describe("test flyCameraControllers", (function (param) {
return Wonder_jest.describe("test set data", (function (param) {
var _getAllFlyCameraControllerComponent = function (rootGameObject, state) {
return AssembleWDBSystemTool$Wonderjs.getAllGameObjects(rootGameObject, state).filter((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectFlyCameraControllerComponent(gameObject, state);
})).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectFlyCameraControllerComponent(gameObject, state);
}));
};
Wonder_jest.testPromise("test set moveSpeed", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerMoveSpeed(cameraController, state);
}))), /* array */[2.1]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test set rotateSpeed", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerRotateSpeed(cameraController, state);
}))), /* array */[2.3]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test set wheelSpeed", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.unsafeGetFlyCameraControllerWheelSpeed(cameraController, state);
}))), /* array */[3.9]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test set isBindEvent", (function (param) {
Wonder_jest.testPromise("if isBindEvent===false, not bind event", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.isBindFlyCameraControllerEvent(cameraController, state);
}))), /* array */[false]);
}), state, undefined, undefined, false, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("else, judge by whether the cameraController's gameObject's cameraView is active or not", (function (param) {
Wonder_jest.testPromise("if not active, not bind", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(" [\n {\n \"isActive\": false\n }\n ]", undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.isBindFlyCameraControllerEvent(cameraController, state);
}))), /* array */[false]);
}), state, undefined, undefined, true, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("if active, bind", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(" [\n {\n \"isActive\": true\n }\n ]", undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllFlyCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return FlyCameraControllerAPI$Wonderjs.isBindFlyCameraControllerEvent(cameraController, state);
}))), /* array */[true]);
}), state, undefined, undefined, true, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
}));
Wonder_jest.describe("test arcballCameraControllers", (function (param) {
return Wonder_jest.describe("test set data", (function (param) {
var _getAllArcballCameraControllerComponent = function (rootGameObject, state) {
return AssembleWDBSystemTool$Wonderjs.getAllGameObjects(rootGameObject, state).filter((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectArcballCameraControllerComponent(gameObject, state);
})).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectArcballCameraControllerComponent(gameObject, state);
}));
};
Wonder_jest.testPromise("test set distance", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.unsafeGetArcballCameraControllerDistance(cameraController, state);
}))), /* array */[1.5]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test set minDistance", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.unsafeGetArcballCameraControllerMinDistance(cameraController, state);
}))), /* array */[1]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
Wonder_jest.testPromise("test set wheelSpeed", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.unsafeGetArcballCameraControllerWheelSpeed(cameraController, state);
}))), /* array */[0.9]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test set isBindEvent", (function (param) {
Wonder_jest.testPromise("if isBindEvent===false, not bind event", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.isBindArcballCameraControllerEvent(cameraController, state);
}))), /* array */[false]);
}), state, undefined, undefined, false, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("else, judge by whether the cameraController's gameObject's cameraView is active or not", (function (param) {
Wonder_jest.testPromise("if not active, not bind", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(" [\n {\n \"isActive\": false\n }\n ]", undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.isBindArcballCameraControllerEvent(cameraController, state);
}))), /* array */[false]);
}), state, undefined, undefined, true, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("if active, bind", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfArcballCameraController(" [\n {\n \"isActive\": true\n }\n ]", undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](_getAllArcballCameraControllerComponent(param[2][0], state).map((function (cameraController) {
return ArcballCameraControllerAPI$Wonderjs.isBindArcballCameraControllerEvent(cameraController, state);
}))), /* array */[true]);
}), state, undefined, undefined, true, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
}));
Wonder_jest.describe("test materials", (function (param) {
Wonder_jest.describe("test basicMaterials", (function (param) {
Wonder_jest.describe("test set material name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicMaterial(undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllBasicMaterials(param[2][0], state).map((function (basicMaterial) {
return BasicMaterialAPI$Wonderjs.unsafeGetBasicMaterialName(basicMaterial, state);
}))), /* array */["basicMaterial"]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test set color", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicMaterial(/* array */[
0,
0,
1,
1
], undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllBasicMaterials(param[2][0], state).map((function (basicMaterial) {
return BasicMaterialAPI$Wonderjs.getBasicMaterialColor(basicMaterial, state);
}))), /* array */[/* array */[
0,
0,
1
]]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
Wonder_jest.describe("test lightMaterials", (function (param) {
Wonder_jest.describe("test set material name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(param[2][0], state).map((function (material) {
return LightMaterialAPI$Wonderjs.unsafeGetLightMaterialName(material, state);
}))), /* array */[
"truck",
"glass",
"window_trim",
"wheels",
"wheels"
]);
}), state[0]);
}));
}));
Wonder_jest.describe("test pbrMetallicRoughness", (function (param) {
Wonder_jest.testPromise("test set diffuseColor", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(param[2][0], state).map((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.getLightMaterialDiffuseColor(lightMaterial, state);
}))), /* array */[
LightMaterialTool$Wonderjs.getDefaultDiffuseColor(state),
/* array */[
0,
0.04050629958510399,
0.021240700036287308
],
/* array */[
0.06400000303983688,
0.06400000303983688,
0.06400000303983688
],
LightMaterialTool$Wonderjs.getDefaultDiffuseColor(state),
LightMaterialTool$Wonderjs.getDefaultDiffuseColor(state)
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set diffuseMap", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(param[2][0], state).filter((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.hasLightMaterialDiffuseMap(lightMaterial, state);
})).map((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.unsafeGetLightMaterialDiffuseMap(lightMaterial, state);
}))), /* array */[
0,
1,
1
]);
}), state[0]);
}));
return Wonder_jest.describe("test diffuseMaps", (function (param) {
Wonder_jest.describe("test BoxTextured glb", (function (param) {
Wonder_jest.describe("test set texture name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureName(diffuseMap, state);
}))), /* array */["basicSourceTexture_0"]);
}), state[0]);
}));
}));
Wonder_jest.testPromise("set not flipY", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureFlipY(diffuseMap, state);
}))), /* array */[false]);
}), state[0]);
}));
Wonder_jest.testPromise("test set sampler data", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return /* tuple */[
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMagFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMinFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapS(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapT(diffuseMap, state)
];
}))), /* array */[/* tuple */[
/* Linear */1,
/* Nearest_mipmap_linear */4,
/* Repeat */2,
/* Repeat */2
]]);
}), state[0]);
}));
Wonder_jest.describe("test set source", (function (param) {
Wonder_jest.testPromise("if isLoadImage === true, set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureSource(diffuseMap, state);
}))), /* array */[GLBTool$Wonderjs.createFakeImage("CesiumLogoFlat.png", "object_url0", undefined, undefined, /* () */0)]);
}), state[0]);
}));
return Wonder_jest.testPromise("else, not set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLBWithConfig(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return Caml_option.nullable_to_opt(BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureSource(diffuseMap, state));
}))), /* array */[undefined]);
}), state[0], undefined, undefined, undefined, undefined, false, /* () */0);
}));
}));
Wonder_jest.testPromise("test release blobs", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Sinon.getCallCount(GLBTool$Wonderjs.getURL().revokeObjectURL)), 1);
}), state[0]);
}));
Wonder_jest.describe("test set format", (function (param) {
Wonder_jest.testPromise("png source should set Rgba format", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureFormat(diffuseMap, state);
}))), /* array */[/* Rgba */1]);
}), state[0]);
}));
return Wonder_jest.testPromise("jpeg source should set Rgb format", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("AlphaBlendModeTest.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureFormat(diffuseMap, state);
}))), /* array */[
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgba */1,
/* Rgb */0
]);
}), state[0]);
}));
}));
return Wonder_jest.describe("test set type", (function (param) {
return Wonder_jest.testPromise("set default type", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureType(diffuseMap, state);
}))), /* array */[BasicSourceTextureTool$Wonderjs.getDefaultType(/* () */0)]);
}), state[0]);
}));
}));
}));
Wonder_jest.describe("test truck glb", (function (param) {
Wonder_jest.describe("test set texture name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureName(diffuseMap, state);
}))), /* array */[
"basicSourceTexture_0",
"basicSourceTexture_1",
"basicSourceTexture_1"
]);
}), state[0]);
}));
}));
Wonder_jest.testPromise("set not flipY", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureFlipY(diffuseMap, state);
}))), /* array */[
false,
false,
false
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set sampler data", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return /* tuple */[
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMagFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMinFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapS(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapT(diffuseMap, state)
];
}))), /* array */[
/* tuple */[
/* Linear */1,
/* Nearest_mipmap_linear */4,
/* Repeat */2,
/* Repeat */2
],
/* tuple */[
/* Linear */1,
/* Nearest_mipmap_linear */4,
/* Repeat */2,
/* Repeat */2
],
/* tuple */[
/* Linear */1,
/* Nearest_mipmap_linear */4,
/* Repeat */2,
/* Repeat */2
]
]);
}), state[0]);
}));
return Wonder_jest.testPromise("test set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureSource(diffuseMap, state);
}))), /* array */[
GLBTool$Wonderjs.createFakeImage("image_0", "object_url0", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("image_0", "object_url0", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("image_0", "object_url0", undefined, undefined, /* () */0)
]);
}), state[0]);
}));
}));
return Wonder_jest.describe("test AlphaBlendModeTest glb", (function (param) {
return Wonder_jest.testPromise("test release blobs", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("AlphaBlendModeTest.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Sinon.getCallCount(GLBTool$Wonderjs.getURL().revokeObjectURL)), 2);
}), state[0]);
}));
}));
}));
}));
return Wonder_jest.describe("khrMaterialsPBRSpecularGlossiness", (function (param) {
Wonder_jest.testPromise("test set diffuseColor", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(param[2][0], state).map((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.getLightMaterialDiffuseColor(lightMaterial, state);
}))), /* array */[
LightMaterialTool$Wonderjs.getDefaultDiffuseColor(state),
LightMaterialTool$Wonderjs.getDefaultDiffuseColor(state)
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set diffuseMap", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(param[2][0], state).filter((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.hasLightMaterialDiffuseMap(lightMaterial, state);
})).map((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.unsafeGetLightMaterialDiffuseMap(lightMaterial, state);
}))), /* array */[
0,
1
]);
}), state[0]);
}));
return Wonder_jest.describe("test diffuseMaps", (function (param) {
return Wonder_jest.describe("test SuperLowPolyStove glb", (function (param) {
Wonder_jest.describe("test set texture name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureName(diffuseMap, state);
}))), /* array */[
"basicSourceTexture_0",
"basicSourceTexture_2"
]);
}), state[0]);
}));
}));
Wonder_jest.testPromise("set not flipY", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureFlipY(diffuseMap, state);
}))), /* array */[
false,
false
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set sampler data", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return /* tuple */[
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMagFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureMinFilter(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapS(diffuseMap, state),
BasicSourceTextureAPI$Wonderjs.getBasicSourceTextureWrapT(diffuseMap, state)
];
}))), /* array */[
/* tuple */[
/* Linear */1,
/* Linear_mipmap_linear */5,
/* Repeat */2,
/* Repeat */2
],
/* tuple */[
/* Linear */1,
/* Linear_mipmap_linear */5,
/* Repeat */2,
/* Repeat */2
]
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set source", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDiffuseMaps(param[2][0], state).map((function (diffuseMap) {
return BasicSourceTextureAPI$Wonderjs.unsafeGetBasicSourceTextureSource(diffuseMap, state);
}))), /* array */[
GLBTool$Wonderjs.createFakeImage("MetalBrillante_diffuse.png", "object_url0", undefined, undefined, /* () */0),
GLBTool$Wonderjs.createFakeImage("MetalNegro_diffuse.png", "object_url1", undefined, undefined, /* () */0)
]);
}), state[0]);
}));
return Wonder_jest.testPromise("test release blobs", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("SuperLowPolyStove.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](Sinon.getCallCount(GLBTool$Wonderjs.getURL().revokeObjectURL)), 2);
}), state[0]);
}));
}));
}));
}));
}));
return Wonder_jest.describe("test basicMaterials and lightMaterials", (function (param) {
return Wonder_jest.describe("test set material name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicMaterialAndLightMaterial(/* () */0), (function (param) {
var rootGameObject = param[2][0];
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
AssembleWDBSystemTool$Wonderjs.getAllBasicMaterials(rootGameObject, state).map((function (basicMaterial) {
return BasicMaterialAPI$Wonderjs.unsafeGetBasicMaterialName(basicMaterial, state);
})),
AssembleWDBSystemTool$Wonderjs.getAllLightMaterials(rootGameObject, state).map((function (lightMaterial) {
return LightMaterialAPI$Wonderjs.unsafeGetLightMaterialName(lightMaterial, state);
}))
]), /* tuple */[
/* array */["basicMaterial_0"],
/* array */[
"lightMaterial_1",
"lightMaterial_0"
]
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
Wonder_jest.describe("test meshRenderers", (function (param) {
Wonder_jest.testPromise("each gameObject with geometry component should has one meshRenderer", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).filter((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectMeshRendererComponent(gameObject, state);
})).length), 5);
}), state[0]);
}));
Wonder_jest.testPromise("test gameObjects which has no meshRenderer component", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllSortedTransforms(param[2][0], state).map((function (transform) {
return TransformAPI$Wonderjs.unsafeGetTransformGameObject(transform, state);
})).map((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectMeshRendererComponent(gameObject, state);
}))), /* array */[
false,
false,
true,
false,
true,
true,
true,
true
]);
}), state[0]);
}));
Wonder_jest.testPromise("test set isRender", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMeshRenderer(true, false, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectMeshRendererComponent(gameObject, state);
})).map((function (meshRenderer) {
return MeshRendererAPI$Wonderjs.getMeshRendererIsRender(meshRenderer, state);
}))), /* array */[false]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test set drawMode", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMeshRenderer(undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.unsafeGetGameObjectMeshRendererComponent(gameObject, state);
})).map((function (meshRenderer) {
return MeshRendererAPI$Wonderjs.getMeshRendererDrawMode(meshRenderer, state);
}))), /* array */[3]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test directionLights", (function (param) {
Wonder_jest.testPromise("if isRenderLight === false, set light not render", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDirectionLights(param[2][0], state).map((function (light) {
return DirectionLightAPI$Wonderjs.getDirectionLightIsRender(light, state);
}))), /* array */[false]);
}), state, undefined, undefined, undefined, undefined, false, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test set color, intensity", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllDirectionLightData(param[2][0], param[0])), /* array */[/* tuple */[
/* array */[
0.5,
0.5,
1
],
1
]]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test pointLights", (function (param) {
Wonder_jest.testPromise("if isRenderLight === false, set light not render", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllPointLights(param[2][0], state).map((function (light) {
return PointLightAPI$Wonderjs.getPointLightIsRender(light, state);
}))), /* array */[false]);
}), state, undefined, undefined, undefined, undefined, false, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test set color, intensity, constant, linear, quadratic, range", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllPointLightData(param[2][0], param[0])), /* array */[/* tuple */[
/* array */[
0,
0,
0
],
2.5,
1,
1.5,
0,
55.5
]]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test ambientLight", (function (param) {
return Wonder_jest.testPromise("test set color", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](SceneAPI$Wonderjs.getAmbientLightColor(param[0])), /* array */[
1,
0.5,
1
]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test scripts", (function (param) {
Wonder_jest.describe("test add script components", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfScript(undefined, undefined, undefined, /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllGameObjects(param[2][0], state).map((function (gameObject) {
return GameObjectAPI$Wonderjs.hasGameObjectScriptComponent(gameObject, state);
}))), /* array */[true]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
Wonder_jest.testPromise("test set isActive", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfScript(false, Caml_option.some(undefined), Caml_option.some(undefined), /* () */0), (function (param) {
var state = param[0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllScripts(param[2][0], state).map((function (script) {
return ScriptAPI$Wonderjs.unsafeGetScriptIsActive(script, state);
}))), /* array */[false]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.describe("test event function", (function (param) {
Wonder_jest.testPromise("test exec init event function", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfScript(undefined, Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildEventFunctionDataMap(Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildEventFunc(/* () */0))), undefined, undefined, /* () */0))), Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildAttributeMap(/* () */0))), /* () */0), (function (param) {
var state = ScriptTool$Wonderjs.ExecEventFunction[/* execAllInitEventFunction */0](param[0]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllScripts(param[2][0], state).map((function (script) {
return ScriptTool$Wonderjs.unsafeGetScriptAttributeIntFieldValue(script, SceneGraphScriptTool$Wonderjs.getScriptAttributeName(/* () */0), SceneGraphScriptTool$Wonderjs.getScriptAttributeFieldName(/* () */0), state);
}))), /* array */[SceneGraphScriptTool$Wonderjs.getAttributeFieldAValueAfterExecEventeFunc(/* () */0)]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("test exec update event function", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfScript(undefined, Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildEventFunctionDataMap(undefined, Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildEventFunc2(/* () */0))), undefined, /* () */0))), Caml_option.some(Caml_option.some(SceneGraphScriptTool$Wonderjs.buildAttributeMap(/* () */0))), /* () */0), (function (param) {
var state = ScriptTool$Wonderjs.ExecEventFunction[/* execAllUpdateEventFunction */1](param[0]);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.getAllScripts(param[2][0], state).map((function (script) {
return ScriptTool$Wonderjs.unsafeGetScriptAttributeIntFieldValue(script, SceneGraphScriptTool$Wonderjs.getScriptAttributeName(/* () */0), SceneGraphScriptTool$Wonderjs.getScriptAttributeFieldName(/* () */0), state);
}))), /* array */[SceneGraphScriptTool$Wonderjs.getAttributeFieldAValueAfterExecEventeFunc2(/* () */0)]);
}), state, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
return Wonder_jest.describe("test imageUint8ArrayDataMap", (function (param) {
Wonder_jest.describe("test basicSourceTextureImageUint8ArrayMap", (function (param) {
Wonder_jest.testPromise("return imageUint8ArrayDataMap with mimeType and uint8Array", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("BoxTextured.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.isImageUint8ArrayMapEqual(param[1][0][0], MutableSparseMapService$WonderCommonlib.set(0, /* tuple */[
"image/png",
23516
], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0)))), true);
}), state[0]);
}));
return Wonder_jest.testPromise("imageUint8ArrayDataMap's key should be basicSourceTexture", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testGLB(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.isImageUint8ArrayMapEqual(param[1][0][0], MutableSparseMapService$WonderCommonlib.set(1, /* tuple */[
"image/png",
427633
], MutableSparseMapService$WonderCommonlib.set(0, /* tuple */[
"image/png",
427633
], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0))))), true);
}), state[0]);
}));
}));
return Wonder_jest.describe("test cubemapTextureImageUint8ArrayDataMap", (function (param) {
var skyboxWDBArrayBuffer = /* record */[/* contents */-1];
beforeAll((function () {
skyboxWDBArrayBuffer[0] = WDBTool$Wonderjs.generateWDB((function (state) {
var rootGameObject = SceneAPI$Wonderjs.getSceneGameObject(state);
var match = SkyboxTool$Wonderjs.prepareCubemapTextureAndSetAllSources(state);
var state$1 = match[0];
var sceneGameObjectTransform = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(rootGameObject, state$1);
var match$1 = LoadStreamWDBTool$Wonderjs.createGameObjectWithDiffuseMap(state$1);
var state$2 = TransformAPI$Wonderjs.setTransformParent(sceneGameObjectTransform, match$1[2], match$1[0]);
return /* tuple */[
state$2,
rootGameObject
];
}));
return /* () */0;
}));
Wonder_jest.testPromise("test basicSourceTextureImageUint8ArrayDataMap and cubemapTextureImageUint8ArrayDataMap->length", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testWDB(sandbox[0], skyboxWDBArrayBuffer[0], (function (param) {
var match = param[1][0];
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
MutableSparseMapService$WonderCommonlib.length(match[0]),
MutableSparseMapService$WonderCommonlib.length(match[1])
]), /* tuple */[
1,
1
]);
}), state[0], undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
return Wonder_jest.testPromise("return cubemapTextureImageUint8ArrayMap with all face sources' mimeType and uint8Array", undefined, (function (param) {
return AssembleWDBSystemTool$Wonderjs.testWDB(sandbox[0], skyboxWDBArrayBuffer[0], (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](AssembleWDBSystemTool$Wonderjs.isCubemapTextureImageUint8ArrayMapEqual(param[1][0][1], MutableSparseMapService$WonderCommonlib.set(0, /* record */[
/* pxImageUint8ArrayData : tuple */[
"image/png",
167
],
/* nxImageUint8ArrayData : tuple */[
"image/png",
145
],
/* pyImageUint8ArrayData : tuple */[
"image/png",
143
],
/* nyImageUint8ArrayData : tuple */[
"image/png",
161
],
/* pzImageUint8ArrayData : tuple */[
"image/jpeg",
151
],
/* nzImageUint8ArrayData : tuple */[
"image/png",
129
]
], MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0)))), true);
}), state[0], undefined, undefined, undefined, undefined, undefined, /* () */0);
}));
}));
}));
}));
/* Not a pure module */