wonder.js
Version:
351 lines (349 loc) • 59.8 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_option = require("bs-platform/lib/js/caml_option.js");
var Wonder_jest = require("wonder-bs-jest/lib/js/src/wonder_jest.js");
var MostTool$Wonderjs = require("../tool/MostTool.js");
var SceneAPI$Wonderjs = require("../../../../../src/api/SceneAPI.js");
var TestTool$Wonderjs = require("../../../../tool/TestTool.js");
var Copyright$Wonderjs = require("../../../../../src/Copyright.js");
var SkyboxTool$Wonderjs = require("../../job/tool/SkyboxTool.js");
var PrepareABTool$Wonderjs = require("../tool/PrepareABTool.js");
var ABBufferViewUtils$Wonderjs = require("../../../../../src/asset_bundle/all/utils/ABBufferViewUtils.js");
var GenerateAllABTool$Wonderjs = require("../tool/GenerateAllABTool.js");
var CubemapTextureTool$Wonderjs = require("../../../../tool/service/texture/CubemapTextureTool.js");
var GenerateSingleRABTool$Wonderjs = require("../tool/GenerateSingleRABTool.js");
var GenerateSingleSABTool$Wonderjs = require("../tool/GenerateSingleSABTool.js");
var CreateStateMainService$Wonderjs = require("../../../../../src/service/state/main/state/CreateStateMainService.js");
var GenerateSingleRABSystem$Wonderjs = require("../../../../../src/asset_bundle/single/rab/generate/GenerateSingleRABSystem.js");
var GenerateSingleSABSystem$Wonderjs = require("../../../../../src/asset_bundle/single/sab/generate/GenerateSingleSABSystem.js");
var GenerateSceneGraphSystemTool$Wonderjs = require("../../asset/tool/GenerateSceneGraphSystemTool.js");
var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js");
var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js");
var ImmutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableSparseMapService.js");
Wonder_jest.describe("generate new abs from rabs and sabs", (function (param) {
var sandbox = Sinon.getSandboxDefaultVal(/* () */0);
var state = /* record */[/* contents */CreateStateMainService$Wonderjs.createState(/* () */0)];
beforeEach((function () {
sandbox[0] = Sinon$1.sandbox.create();
state[0] = TestTool$Wonderjs.initWithoutBuildFakeDom(sandbox, undefined, undefined, /* () */0);
PrepareABTool$Wonderjs.prepare(sandbox[0]);
return GenerateAllABTool$Wonderjs.Manifest[/* prepareDigest */4](sandbox[0]);
}));
afterEach((function () {
return Curry._1(Sinon.restoreSandbox, sandbox[0]);
}));
Wonder_jest.describe("remove duplicate buffer data", (function (param) {
Wonder_jest.describe("remove duplicate buffer data from rab", (function (param) {
Wonder_jest.describe("remove duplicate image buffer data", (function (param) {
return Wonder_jest.describe("judge duplicate by image name", (function (param) {
Wonder_jest.describe("test image from basicSourceTexture", (function (param) {
Wonder_jest.testPromise("test with textures", undefined, (function (param) {
var imageName = "image1";
var image1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildImageData */1](undefined, imageName, undefined, /* () */0);
var basicSourceTextureImageDataMap = ImmutableSparseMapService$WonderCommonlib.set(0, image1, ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0));
var match = GenerateSingleRABTool$Wonderjs.ResourceData[/* createBasicSourceTextureResourceData */2](state[0], undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 0, /* () */0);
var state$1 = match[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, /* array */[match[1]], undefined, undefined, undefined, undefined, basicSourceTextureImageDataMap, undefined, /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var image2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildImageData */1](undefined, imageName, undefined, /* () */0);
var basicSourceTextureImageDataMap$1 = ImmutableSparseMapService$WonderCommonlib.set(0, image2, ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0));
var match$1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* createBasicSourceTextureResourceData */2](state$1, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 0, /* () */0);
var state$2 = match$1[0];
var resourceData2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, /* array */[match$1[1]], undefined, undefined, undefined, undefined, basicSourceTextureImageDataMap$1, undefined, /* () */0);
var rab2 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData2, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getNewRabContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* images */2],
match[1][/* images */2]
]), /* tuple */[
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1[/* name */1], image1[/* mimeType */2], 0, /* () */0)],
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2[/* name */1], image2[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0)]
]));
}), GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* generateAllAB */2](/* tuple */[
rab1,
rab2
], state$2));
}));
return Wonder_jest.testPromise("test with lightMaterials", undefined, (function (param) {
var imageName = "image1";
var image1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildImageData */1](undefined, imageName, undefined, /* () */0);
var basicSourceTextureImageDataMap = ImmutableSparseMapService$WonderCommonlib.set(0, image1, ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0));
var match = GenerateSingleRABTool$Wonderjs.ResourceData[/* createBasicSourceTextureResourceData */2](state[0], undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 0, /* () */0);
var textureResourceData1 = match[1];
var match$1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* createLightMaterialResourceData */5](match[0], Caml_option.some(textureResourceData1[/* textureComponent */0]), undefined, undefined, "lightMaterial1", /* () */0);
var state$1 = match$1[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, /* array */[match$1[1]], /* array */[textureResourceData1], undefined, undefined, undefined, undefined, basicSourceTextureImageDataMap, undefined, /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var image2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildImageData */1](undefined, imageName, undefined, /* () */0);
ImmutableSparseMapService$WonderCommonlib.set(0, image2, ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0));
var match$2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* createBasicSourceTextureResourceData */2](state$1, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 0, /* () */0);
var state$2 = match$2[0];
var resourceData2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, /* array */[match$2[1]], undefined, undefined, undefined, undefined, basicSourceTextureImageDataMap, undefined, /* () */0);
var rab2 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData2, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getNewRabContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* images */2],
match[1][/* images */2]
]), /* tuple */[
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1[/* name */1], image1[/* mimeType */2], 0, /* () */0)],
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2[/* name */1], image2[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0)]
]));
}), GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* generateAllAB */2](/* tuple */[
rab1,
rab2
], state$2));
}));
}));
return Wonder_jest.describe("test image from cubemapTexture", (function (param) {
return Wonder_jest.testPromise("test with cubemapTextures", undefined, (function (param) {
var image1Name = "i1";
var image2Name = "i2";
var image3Name = "i3";
var image4Name = "i4";
var image5Name = "i5";
var image6Name = "i6";
var match = GenerateSingleRABTool$Wonderjs.Test[/* createCubemapTextureResourceData */1](state[0], image1Name, image2Name, image3Name, image4Name, image5Name, image6Name, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
var match$1 = match[3];
var match$2 = match$1[1];
var image1_6 = match$2[5];
var image1_5 = match$2[4];
var image1_4 = match$2[3];
var image1_3 = match$2[2];
var image1_2 = match$2[1];
var image1_1 = match$2[0];
var state$1 = match[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, /* array */[match[1]], undefined, undefined, undefined, undefined, match$1[0], /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var match$3 = GenerateSingleRABTool$Wonderjs.Test[/* createCubemapTextureResourceData */1](state$1, image1Name, image2Name, image3Name, image4Name, image5Name, image6Name, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0);
var match$4 = match$3[3];
var match$5 = match$4[1];
var image2_6 = match$5[5];
var image2_5 = match$5[4];
var image2_4 = match$5[3];
var image2_3 = match$5[2];
var image2_2 = match$5[1];
var image2_1 = match$5[0];
var state$2 = match$3[0];
var resourceData2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, /* array */[match$3[1]], undefined, undefined, undefined, undefined, match$4[0], /* () */0);
var rab2 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData2, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getNewRabContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* images */2],
match[1][/* images */2]
]), /* tuple */[
/* array */[
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_1[/* name */1], image1_1[/* mimeType */2], 0, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_2[/* name */1], image1_2[/* mimeType */2], 1, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_3[/* name */1], image1_3[/* mimeType */2], 2, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_4[/* name */1], image1_4[/* mimeType */2], 3, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_5[/* name */1], image1_5[/* mimeType */2], 4, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_6[/* name */1], image1_6[/* mimeType */2], 5, /* () */0)
],
/* array */[
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_1[/* name */1], image2_1[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_2[/* name */1], image2_2[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_3[/* name */1], image2_3[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_4[/* name */1], image2_4[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_5[/* name */1], image2_5[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image2_6[/* name */1], image2_6[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0)
]
]));
}), GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* generateAllAB */2](/* tuple */[
rab1,
rab2
], state$2));
}));
}));
}));
}));
return Wonder_jest.describe("remove duplicate geometry buffer data", (function (param) {
return Wonder_jest.describe("judge duplicate by geometry name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
var match = GenerateSingleRABTool$Wonderjs.ResourceData[/* createGeometryResourceData */6](state[0], "geometry1", undefined, undefined, undefined, Caml_option.some(undefined), Caml_option.some(Caml_option.some(new Uint32Array(/* array */[2]))), /* () */0);
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, undefined, /* array */[match[2]], undefined, undefined, undefined, undefined, /* () */0);
var match$1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* createGeometryResourceData */6](match[0], "geometry1", undefined, undefined, undefined, Caml_option.some(undefined), Caml_option.some(Caml_option.some(new Uint32Array(/* array */[2]))), /* () */0);
var match$2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* createGeometryResourceData */6](match$1[0], "geometry3", undefined, undefined, undefined, Caml_option.some(undefined), Caml_option.some(Caml_option.some(new Uint32Array(/* array */[3]))), /* () */0);
var state$1 = match$2[0];
var resourceData2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, undefined, /* array */[
match$1[2],
match$2[2]
], undefined, undefined, undefined, undefined, /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var rab2 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData2, state$1);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getNewRabContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* geometrys */5],
match[1][/* geometrys */5]
]), /* tuple */[
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildGeometryData */5]("geometry1", /* Index32 */1, 0, ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), 1, /* () */0)],
/* array */[
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildGeometryData */5]("geometry1", /* Index32 */1, ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildGeometryData */5]("geometry3", /* Index32 */1, 0, ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), 1, /* () */0)
]
]));
}), GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* generateAllAB */2](/* tuple */[
rab1,
rab2
], state$1));
}));
}));
}));
}));
return Wonder_jest.describe("remove duplicate buffer data from sab", (function (param) {
Wonder_jest.describe("remove duplicate image buffer data", (function (param) {
return Wonder_jest.describe("judge duplicate by image name", (function (param) {
Wonder_jest.testPromise("test image from basicSourceTexture", undefined, (function (param) {
var imageName = "image1";
var image1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildImageData */1](undefined, imageName, undefined, /* () */0);
var basicSourceTextureImageDataMap = ImmutableSparseMapService$WonderCommonlib.set(0, image1, ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0));
var match = GenerateSingleRABTool$Wonderjs.ResourceData[/* createBasicSourceTextureResourceData */2](state[0], undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 0, /* () */0);
var state$1 = match[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, /* array */[match[1]], undefined, undefined, undefined, undefined, basicSourceTextureImageDataMap, undefined, /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var match$1 = Curry._2(GenerateAllABTool$Wonderjs.TestDuplicateDataForSAB[/* TestDuplicateImageData */0][/* createGameObject1 */0], imageName, state$1);
var state$2 = SceneAPI$Wonderjs.addSceneChild(match$1[2], match$1[0]);
GenerateSceneGraphSystemTool$Wonderjs.prepareCanvas(sandbox);
var sab1 = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(SceneAPI$Wonderjs.getSceneGameObject(state$2), MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* getNewABContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* images */2],
match[1][/* images */4]
]), /* tuple */[
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1[/* name */1], image1[/* mimeType */2], 0, /* () */0)],
/* array */[GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1[/* name */1], image1[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0)]
]));
}), GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* generateAllAB */2](/* tuple */[
rab1,
sab1
], state$2));
}));
return Wonder_jest.testPromise("test image from cubemapTexture", undefined, (function (param) {
var image1Name = "i1";
var image2Name = "i2";
var image3Name = "i3";
var image4Name = "i4";
var image5Name = "i5";
var image6Name = "i6";
var match = GenerateSingleRABTool$Wonderjs.Test[/* createCubemapTextureResourceData */1](state[0], image1Name, image2Name, image3Name, image4Name, image5Name, image6Name, undefined, undefined, undefined, undefined, undefined, "image/jpeg", undefined, /* () */0);
var match$1 = match[3];
var match$2 = match$1[1];
var image1_6 = match$2[5];
var image1_5 = match$2[4];
var image1_4 = match$2[3];
var image1_3 = match$2[2];
var image1_2 = match$2[1];
var image1_1 = match$2[0];
var state$1 = match[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, /* array */[match[1]], undefined, undefined, undefined, undefined, match$1[0], /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var match$3 = SkyboxTool$Wonderjs.prepareCubemapTexture(state$1);
var state$2 = CubemapTextureTool$Wonderjs.setAllSources(match$3[0], match$3[1], undefined, undefined, image1Name, image2Name, image3Name, image4Name, image5Name, image6Name, /* () */0);
GenerateSceneGraphSystemTool$Wonderjs.prepareCanvasForCubemapTexture(sandbox);
var sab1 = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(SceneAPI$Wonderjs.getSceneGameObject(state$2), MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* getNewABContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* images */2],
match[1][/* images */4]
]), /* tuple */[
/* array */[
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_1[/* name */1], image1_1[/* mimeType */2], 0, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_2[/* name */1], image1_2[/* mimeType */2], 1, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_3[/* name */1], image1_3[/* mimeType */2], 2, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_4[/* name */1], image1_4[/* mimeType */2], 3, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_5[/* name */1], image1_5[/* mimeType */2], 4, /* () */0),
GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildImageData */1](image1_6[/* name */1], image1_6[/* mimeType */2], 5, /* () */0)
],
/* array */[
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_1[/* name */1], image1_1[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_2[/* name */1], image1_2[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_3[/* name */1], image1_3[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_4[/* name */1], image1_4[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_5[/* name */1], image1_5[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0),
GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildImageData */1](image1_6[/* name */1], image1_6[/* mimeType */2], ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), /* () */0)
]
]));
}), GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* generateAllAB */2](/* tuple */[
rab1,
sab1
], state$2));
}));
}));
}));
return Wonder_jest.describe("remove duplicate geometry buffer data", (function (param) {
return Wonder_jest.describe("judge duplicate by geometry name", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
var geometryName = "geometry1";
var match = GenerateSingleRABTool$Wonderjs.ResourceData[/* createGeometryResourceData */6](state[0], geometryName, undefined, undefined, undefined, Caml_option.some(undefined), Caml_option.some(Caml_option.some(new Uint32Array(/* array */[2]))), /* () */0);
var state$1 = match[0];
var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, undefined, /* array */[match[2]], undefined, undefined, undefined, undefined, /* () */0);
var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state$1);
var match$1 = Curry._2(GenerateAllABTool$Wonderjs.TestDuplicateDataForSAB[/* TestDuplicateGeometryData */1][/* createGameObject1 */1], geometryName, state$1);
var state$2 = SceneAPI$Wonderjs.addSceneChild(match$1[2], match$1[0]);
var sab1 = GenerateSingleSABSystem$Wonderjs.generateSingleSAB(SceneAPI$Wonderjs.getSceneGameObject(state$2), MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), true, state$2);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* getNewABContents */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* geometrys */5],
match[1][/* geometrys */18]
]), /* tuple */[
/* array */[GenerateSingleRABTool$Wonderjs.ResourceAssetBundleContent[/* buildGeometryData */5]("geometry1", /* Index32 */1, 0, ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), ABBufferViewUtils$Wonderjs.buildNoneBufferViewIndex(/* () */0), 1, /* () */0)],
/* array */[GenerateSingleSABTool$Wonderjs.SceneAssetBundleContent[/* buildGeometryData */2](geometryName, ABBufferViewUtils$Wonderjs.buildNoneAccessorIndex(/* () */0), undefined, undefined, ABBufferViewUtils$Wonderjs.buildNoneAccessorIndex(/* () */0), /* () */0)]
]));
}), GenerateAllABTool$Wonderjs.TestWithOneSABAndOneRAB[/* generateAllAB */2](/* tuple */[
rab1,
sab1
], state$2));
}));
}));
}));
}));
}));
Wonder_jest.describe("add manifest data", (function (param) {
Wonder_jest.describe("rab add manifest data", (function (param) {
Wonder_jest.describe("add hashId", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
var hashIdData = GenerateAllABTool$Wonderjs.Manifest[/* buildHashIdData */0](/* () */0);
GenerateAllABTool$Wonderjs.Manifest[/* stubDigestForGenerateHashId */3](sandbox[0], hashIdData);
var rab1 = GenerateSingleRABTool$Wonderjs.generateOneRAB(state[0]);
return MostTool$Wonderjs.testStream((function (data) {
var manifest = GenerateAllABTool$Wonderjs.TestWithOneRAB[/* getNewRabManifest */4](data);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](manifest[/* hashId */0]), GenerateAllABTool$Wonderjs.Manifest[/* getFirstHashId */1](hashIdData)));
}), GenerateAllABTool$Wonderjs.TestWithOneRAB[/* generateAllAB */2](rab1, state[0]));
}));
}));
return Wonder_jest.describe("add dependencyRelation", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
var hashIdData = GenerateAllABTool$Wonderjs.Manifest[/* buildHashIdData */0](/* () */0);
GenerateAllABTool$Wonderjs.Manifest[/* stubDigestForGenerateHashId */3](sandbox[0], hashIdData);
var rab1 = GenerateSingleRABTool$Wonderjs.generateOneRAB(state[0]);
var rab2 = GenerateSingleRABTool$Wonderjs.generateOneRAB(state[0]);
return MostTool$Wonderjs.testStream((function (data) {
var match = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getNewRabManifests */5](data);
var match$1 = GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* getRabRelativePaths */1](/* () */0);
return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](/* tuple */[
match[0][/* dependencyRelation */1],
match[1][/* dependencyRelation */1]
]), /* tuple */[
/* array */[],
/* array */[match$1[0]]
]));
}), GenerateAllABTool$Wonderjs.TestWithTwoRAB[/* generateAllAB */2](/* tuple */[
rab1,
rab2
], state[0]));
}));
}));
}));
return Wonder_jest.describe("sab add manifest data", (function (param) {
Wonder_jest.describe("add hashId", (function (param) {
return Wonder_jest.testPromise("test", undefined, (function (param) {
var hashIdData = GenerateAllABTool$Wonderjs.Manifest[/* buildHashIdData */0](/* () */0);
Genera