wonder.js
Version:
522 lines (519 loc) • 139 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 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 TestTool$Wonderjs = require("../../../../tool/TestTool.js");
var IMGUITool$Wonderjs = require("../../../../tool/service/imgui/IMGUITool.js");
var ConvertTool$Wonderjs = require("../tool/ConvertTool.js");
var ConvertCommon$Wonderjs = require("../../../../../src/asset/converter/ConvertCommon.js");
var ExecIMGUITool$Wonderjs = require("../../../../tool/service/imgui/ExecIMGUITool.js");
var OptionService$Wonderjs = require("../../../../../src/service/atom/OptionService.js");
var ConvertGLBTool$Wonderjs = require("../tool/ConvertGLBTool.js");
var SceneGraphIMGUITool$Wonderjs = require("../tool/SceneGraphIMGUITool.js");
var MutableSparseMapTool$Wonderjs = require("../../../../tool/structure/MutableSparseMapTool.js");
var SceneGraphScriptTool$Wonderjs = require("../tool/SceneGraphScriptTool.js");
var ConvertScriptDataUtils$Wonderjs = require("../../../../../src/asset/utils/ConvertScriptDataUtils.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 BufferCubemapTextureService$Wonderjs = require("../../../../../src/service/record/main/texture/cubemap/BufferCubemapTextureService.js");
var ConvertMultiPrimitivesSystem$Wonderjs = require("../../../../../src/asset/converter/ConvertMultiPrimitivesSystem.js");
var ConvertGLTFJsonToRecordSystem$Wonderjs = require("../../../../../src/asset/converter/ConvertGLTFJsonToRecordSystem.js");
var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js");
var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js");
Wonder_jest.describe("convert glb to wd", (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, undefined, /* () */0);
return ConvertTool$Wonderjs.setFakeTransformCount(50);
}));
afterEach((function () {
return Curry._1(Sinon.restoreSandbox, sandbox[0]);
}));
Wonder_jest.describe("test multi primitives", (function (param) {
Wonder_jest.describe("convert multi primitives to gltf nodes", (function (param) {
var _prepare = function (param) {
return ConvertMultiPrimitivesSystem$Wonderjs.convertMultiPrimitivesToNodes(ConvertGLTFJsonToRecordSystem$Wonderjs.convert(JSON.parse(ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitivesWithName(/* () */0))));
};
Wonder_jest.test("test nodes", (function (param) {
var gltfRecord = _prepare(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](gltfRecord[/* nodes */10]), /* array */[
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, undefined, Caml_option.some(/* array */[
3,
2,
1,
4,
5
]), undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode("node1", undefined, 1, undefined, Caml_option.some(/* array */[
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
10.0,
30.0,
50.0,
1.0
]), undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode("node2", undefined, undefined, Caml_option.some(/* array */[
1,
6,
7
]), Caml_option.some(/* array */[
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
1.0,
2.0,
3.0,
1.0
]), undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, undefined, Caml_option.some(/* array */[
8,
9
]), undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 3, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 4, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode("node2_0", undefined, 3, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode("node2_1", undefined, 4, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 5, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 6, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)
]);
}));
return Wonder_jest.test("test meshes", (function (param) {
var gltfRecord = _prepare(/* () */0);
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](gltfRecord[/* meshes */11]), /* array */[
/* record */[
/* primitives : array */[
ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */2,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 0, 0, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */6,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 4, 1, undefined, /* () */0)
],
/* name */"mesh0"
],
/* record */[
/* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */9,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 7, 2, undefined, /* () */0)],
/* name */undefined
],
/* record */[
/* primitives : array */[
ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */10,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 8, 2, undefined, /* () */0),
ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */6,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 4, 1, undefined, /* () */0)
],
/* name */undefined
],
/* record */[
/* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */2,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 0, 0, undefined, /* () */0)],
/* name */"mesh0_0"
],
/* record */[
/* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */6,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 4, 1, undefined, /* () */0)],
/* name */"mesh0_1"
],
/* record */[
/* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */10,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 8, 2, undefined, /* () */0)],
/* name */undefined
],
/* record */[
/* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[
/* position */6,
/* normal */undefined,
/* texCoord_0 */undefined,
/* texCoord_1 */undefined
], 4, 1, undefined, /* () */0)],
/* name */undefined
]
]);
}));
}));
return Wonder_jest.describe("test convert to wdb", (function (param) {
Wonder_jest.test("test geometrys", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* geometrys */18]), /* array */[
ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* record */[
/* name */"geometry_1",
/* position */0,
/* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* index */1
],
/* record */[
/* name */"geometry_2",
/* position */2,
/* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* index */3
],
/* record */[
/* name */"geometry_3",
/* position */4,
/* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* index */5
]
]);
}), state, undefined, /* () */0);
}));
Wonder_jest.test("test meshRenderers", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* meshRenderers */19]), /* array */[
/* record */[
/* drawMode : Triangles */4,
/* isRender */true
],
/* record */[
/* drawMode : Triangles */4,
/* isRender */true
],
/* record */[
/* drawMode : Triangles */4,
/* isRender */true
],
/* record */[
/* drawMode : Triangles */4,
/* isRender */true
],
/* record */[
/* drawMode : Triangles */4,
/* isRender */true
]
]);
}), state, undefined, /* () */0);
}));
Wonder_jest.describe("test gameObjects", (function (param) {
return Wonder_jest.test("test count", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* count */0]), 7);
}), state, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test indices", (function (param) {
return Wonder_jest.describe("test gameObjectIndices", (function (param) {
Wonder_jest.describe("test geometryGameObjectIndices", (function (param) {
return Wonder_jest.test("test multi primitives geometry should has no gameObject", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* indices */2][/* gameObjectIndices */0][/* geometryGameObjectIndexData */10]), /* record */[
/* gameObjectIndices : array */[
1,
3,
4,
5,
6
],
/* componentIndices : array */[
1,
2,
3,
2,
3
]
]);
}), state, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test meshRendererGameObjectIndices", (function (param) {
return Wonder_jest.test("test multi primitives corresponding meshRenderer should has no gameObject", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* indices */2][/* gameObjectIndices */0][/* meshRendererGameObjectIndexData */11]), /* record */[
/* gameObjectIndices : array */[
1,
3,
4,
5,
6
],
/* componentIndices : array */[
0,
1,
2,
3,
4
]
]);
}), state, undefined, /* () */0);
}));
}));
}));
}));
}));
}));
Wonder_jest.test("test asset", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* asset */0]), /* record */[
/* version */"2.0",
/* generator */"GLTF2WD"
]);
}), state, undefined, /* () */0);
}));
Wonder_jest.describe("test scene", (function (param) {
Wonder_jest.test("test gameObjects", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* gameObjects */0]), /* array */[0]);
}), state, undefined, /* () */0);
}));
Wonder_jest.test("test ambientLight", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* ambientLight */1]), /* record */[/* color : array */[
1,
0.5,
1
]]);
}), state, undefined, /* () */0);
}));
Wonder_jest.test("test imgui", (function (param) {
var execFuncName = "e1";
var customData = "[1,2]";
var execFunc = ExecIMGUITool$Wonderjs.buildEmptyExecFuncStr(/* () */0);
var execData = ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(execFuncName, customData, undefined, execFunc, /* () */0);
var assetData = ConvertGLBTool$Wonderjs.buildAssetData("fnt", "aaa", "bbb", 0, /* array */[], /* () */0);
var extendData = ConvertGLBTool$Wonderjs.buildExtendData(Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("c1", 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 ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(execData), Caml_option.some(extendData), Caml_option.some(assetData), /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* imgui */2]), /* record */[
/* assetData */SceneGraphIMGUITool$Wonderjs.buildAssetData("fnt", "aaa", "bbb", 0, /* array */[], /* () */0),
/* execData */SceneGraphIMGUITool$Wonderjs.buildExecDataToOneExecFuncData(execFuncName, Caml_option.some(JSON.parse(customData)), undefined, Caml_option.some(ExecIMGUITool$Wonderjs.buildEmptyExecFunc(/* () */0)), /* () */0),
/* extendData */SceneGraphIMGUITool$Wonderjs.buildExtendData(Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("c1", 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)
]);
}), state, undefined, /* () */0);
}));
Wonder_jest.test("test skybox", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(0, 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](param[/* scene */1][/* skybox */3]), /* record */[/* cubemap */0]);
}), state, undefined, /* () */0);
}));
return Wonder_jest.describe("test isRoot", (function (param) {
Wonder_jest.test("if not has extras, set true", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* isRoot */4]), true);
}), state, undefined, /* () */0);
}));
Wonder_jest.describe("else", (function (param) {
Wonder_jest.test("if extras has no isRoot, set true", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(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[/* scene */1][/* isRoot */4]), true);
}), state, undefined, /* () */0);
}));
return Wonder_jest.test("else, set it", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneIsRoot(true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* isRoot */4]), true);
}), state, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test truck glb", (function (param) {
return Wonder_jest.test("scene->isRoot should be true", (function (param) {
return ConvertGLBTool$Wonderjs.testResult(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[0][/* scene */1][/* isRoot */4]), true);
}));
}));
}));
}));
}));
Wonder_jest.describe("test directionLights", (function (param) {
return Wonder_jest.test("test light gltf", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* directionLights */11]), /* array */[/* record */[
/* color : array */[
0.5,
0.5,
1
],
/* intensity */1
]]);
}), state, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test pointLights", (function (param) {
return Wonder_jest.test("test light gltf", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* pointLights */12]), /* array */[/* record */[
/* color : array */[
0,
0,
0
],
/* intensity */2.5,
/* constantAttenuation */1,
/* linearAttenuation */1.5,
/* quadraticAttenuation */0,
/* range */55.5
]]);
}), state, undefined, /* () */0);
}));
}));
Wonder_jest.describe("test gameObjects", (function (param) {
Wonder_jest.test("test single node gltf", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3]), /* record */[
/* count */1,
/* names : array */["gameObject_0"],
/* isRoots */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0),
/* isActives */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0)
]);
}), state, undefined, /* () */0);
}));
Wonder_jest.test("test truck glb", (function (param) {
return ConvertGLBTool$Wonderjs.testResult(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[0][/* gameObjects */3]), /* record */[
/* count */8,
/* names : array */[
"gameObject_0",
"gameObject_1",
"Wheels",
"gameObject_3",
"Wheels",
"Cesium_Milk_Truck_0",
"Cesium_Milk_Truck_1",
"Cesium_Milk_Truck_2"
],
/* isRoots */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0),
/* isActives */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0)
]);
}));
}));
Wonder_jest.describe("test isActive", (function (param) {
return Wonder_jest.test("if extras has isActive, set it", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsActive(true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* isActives */3]), MutableSparseMapTool$Wonderjs.createByArr(/* array */[
true,
true
]));
}), state, undefined, /* () */0);
}));
}));
return Wonder_jest.describe("test isRoot", (function (param) {
return Wonder_jest.test("if extras has isRoot, set it", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsRoot(true), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* isRoots */2]), MutableSparseMapTool$Wonderjs.createByArr(/* array */[
true,
true
]));
}), state, undefined, /* () */0);
}));
}));
}));
Wonder_jest.describe("test camera data", (function (param) {
Wonder_jest.describe("test basicCameraViews", (function (param) {
Wonder_jest.test("test no data", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[]);
}), state, undefined, /* () */0);
}));
return Wonder_jest.describe("test has data", (function (param) {
Wonder_jest.test("default isActiveIndex is 0", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[
/* record */[/* isActive */true],
/* record */[/* isActive */false],
/* record */[/* isActive */false]
]);
}), state, undefined, /* () */0);
}));
return Wonder_jest.test("test extras", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicCameraView(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[
/* record */[/* isActive */false],
/* record */[/* isActive */true],
/* record */[/* isActive */false]
]);
}), state, undefined, /* () */0);
}));
}));
}));
return Wonder_jest.describe("test perspectiveCameraProjections", (function (param) {
Wonder_jest.test("test no data", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* perspectiveCameraProjections */14]), /* array */[]);
}), state, undefined, /* () */0);
}));
return Wonder_jest.test("test has data", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* perspectiveCameraProjections */14]), /* array */[
/* record */[
/* near */1.0,
/* far */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0),
/* fovy */34.37746770784939,
/* aspect */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0)
],
/* record */[
/* near */2.0,
/* far */1000.0,
/* fovy */28.64788975654116,
/* aspect */2.0
]
]);
}), state, undefined, /* () */0);
}));
}));
}));
Wonder_jest.describe("test cameraController data", (function (param) {
Wonder_jest.describe("test flyCameraControllers", (function (param) {
Wonder_jest.test("test no data", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* flyCameraControllers */15]), /* array */[]);
}), state, undefined, /* () */0);
}));
return Wonder_jest.test("test has data", (function (param) {
return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) {
return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* flyCameraControllers */15]), /* array */[/* record */[
/* moveSpeed */2.1,