You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.8 KiB
JavaScript
94 lines
2.8 KiB
JavaScript
import { Ellipsoid } from "../../Source/Cesium.js";
|
|
import { GeographicTilingScheme } from "../../Source/Cesium.js";
|
|
import { WebMercatorTilingScheme } from "../../Source/Cesium.js";
|
|
import { GridImageryProvider } from "../../Source/Cesium.js";
|
|
import { ImageryProvider } from "../../Source/Cesium.js";
|
|
import pollToPromise from "../pollToPromise.js";
|
|
import { when } from "../../Source/Cesium.js";
|
|
|
|
describe("Scene/GridImageryProvider", function () {
|
|
it("conforms to ImageryProvider interface", function () {
|
|
expect(GridImageryProvider).toConformToInterface(ImageryProvider);
|
|
});
|
|
|
|
it("resolves readyPromise", function () {
|
|
var provider = new GridImageryProvider();
|
|
|
|
return provider.readyPromise.then(function (result) {
|
|
expect(result).toBe(true);
|
|
expect(provider.ready).toBe(true);
|
|
});
|
|
});
|
|
|
|
it("returns valid value for hasAlphaChannel", function () {
|
|
var provider = new GridImageryProvider();
|
|
|
|
return pollToPromise(function () {
|
|
return provider.ready;
|
|
}).then(function () {
|
|
expect(typeof provider.hasAlphaChannel).toBe("boolean");
|
|
});
|
|
});
|
|
|
|
it("can use a custom ellipsoid", function () {
|
|
var ellipsoid = new Ellipsoid(1, 2, 3);
|
|
var provider = new GridImageryProvider({
|
|
ellipsoid: ellipsoid,
|
|
});
|
|
|
|
return pollToPromise(function () {
|
|
return provider.ready;
|
|
}).then(function () {
|
|
expect(provider.tilingScheme.ellipsoid).toEqual(ellipsoid);
|
|
});
|
|
});
|
|
|
|
it("can provide a root tile", function () {
|
|
var provider = new GridImageryProvider();
|
|
|
|
return pollToPromise(function () {
|
|
return provider.ready;
|
|
}).then(function () {
|
|
expect(provider.tileWidth).toEqual(256);
|
|
expect(provider.tileHeight).toEqual(256);
|
|
expect(provider.maximumLevel).toBeUndefined();
|
|
expect(provider.tilingScheme).toBeInstanceOf(GeographicTilingScheme);
|
|
expect(provider.tileDiscardPolicy).toBeUndefined();
|
|
expect(provider.rectangle).toEqual(
|
|
new GeographicTilingScheme().rectangle
|
|
);
|
|
|
|
return when(provider.requestImage(0, 0, 0), function (image) {
|
|
expect(image).toBeDefined();
|
|
});
|
|
});
|
|
});
|
|
|
|
it("uses alternate tiling scheme if provided", function () {
|
|
var tilingScheme = new WebMercatorTilingScheme();
|
|
var provider = new GridImageryProvider({
|
|
tilingScheme: tilingScheme,
|
|
});
|
|
|
|
return pollToPromise(function () {
|
|
return provider.ready;
|
|
}).then(function () {
|
|
expect(provider.tilingScheme).toBe(tilingScheme);
|
|
});
|
|
});
|
|
|
|
it("uses tile width and height if provided", function () {
|
|
var provider = new GridImageryProvider({
|
|
tileWidth: 123,
|
|
tileHeight: 456,
|
|
});
|
|
|
|
return pollToPromise(function () {
|
|
return provider.ready;
|
|
}).then(function () {
|
|
expect(provider.tileWidth).toEqual(123);
|
|
expect(provider.tileHeight).toEqual(456);
|
|
});
|
|
});
|
|
});
|