import { Cartesian3, HeadingPitchRange, MetadataClass, GroupMetadata, } from "../../Source/Cesium.js"; import Cesium3DTilesTester from "../Cesium3DTilesTester.js"; import createScene from "../createScene.js"; describe( "Scene/Tileset3DTileContent", function () { var scene; var centerLongitude = -1.31968; var centerLatitude = 0.698874; var tilesetOfTilesetsUrl = "./Data/Cesium3DTiles/Tilesets/TilesetOfTilesets/tileset.json"; beforeAll(function () { scene = createScene(); // Point the camera at the center and far enough way to only load the root tile var center = Cartesian3.fromRadians(centerLongitude, centerLatitude); scene.camera.lookAt(center, new HeadingPitchRange(0.0, -1.57, 100.0)); }); afterAll(function () { scene.destroyForSpecs(); }); afterEach(function () { scene.primitives.removeAll(); }); it("resolves readyPromise", function () { return Cesium3DTilesTester.resolvesReadyPromise( scene, tilesetOfTilesetsUrl ); }); it("destroys", function () { return Cesium3DTilesTester.tileDestroys(scene, tilesetOfTilesetsUrl); }); it("gets properties", function () { return Cesium3DTilesTester.loadTileset(scene, tilesetOfTilesetsUrl).then( function (tileset) { var tile = tileset.root; var content = tile.content; expect(content.featuresLength).toBe(0); expect(content.pointsLength).toBe(0); expect(content.trianglesLength).toBe(0); expect(content.geometryByteLength).toBe(0); expect(content.texturesByteLength).toBe(0); expect(content.batchTableByteLength).toBe(0); expect(content.innerContents).toBeUndefined(); expect(content.readyPromise).toBeDefined(); expect(content.tileset).toBe(tileset); expect(content.tile).toBe(tile); expect(content.url).toBeDefined(); expect(content.batchTable).toBeUndefined(); expect(content.hasProperty(0, "name")).toBe(false); expect(content.getFeature(0)).toBeUndefined(); } ); }); describe("3DTILES_metadata", function () { var metadataClass = new MetadataClass({ id: "test", class: { properties: { name: { componentType: "STRING", }, height: { componentType: "FLOAT32", }, }, }, }); var groupMetadata = new GroupMetadata({ id: "testGroup", group: { properties: { name: "Test Group", height: 35.6, }, }, class: metadataClass, }); it("assigns groupMetadata", function () { return Cesium3DTilesTester.loadTileset( scene, tilesetOfTilesetsUrl ).then(function (tileset) { var content = tileset.root.content; content.groupMetadata = groupMetadata; expect(content.groupMetadata).toBe(groupMetadata); }); }); }); }, "WebGL" );