import { Cartesian2 } from "../../Source/Cesium.js";
|
import { Cartesian4 } from "../../Source/Cesium.js";
|
import { Color } from "../../Source/Cesium.js";
|
import { Resource } from "../../Source/Cesium.js";
|
import { Cesium3DTileStyle } from "../../Source/Cesium.js";
|
import { ConditionsExpression } from "../../Source/Cesium.js";
|
import { Expression } from "../../Source/Cesium.js";
|
|
describe("Scene/Cesium3DTileStyle", function () {
|
function MockFeature() {
|
this._properties = {};
|
}
|
|
MockFeature.prototype.addProperty = function (name, value) {
|
this._properties[name] = value;
|
};
|
|
MockFeature.prototype.getPropertyInherited = function (name) {
|
return this._properties[name];
|
};
|
|
var feature1 = new MockFeature();
|
feature1.addProperty("ZipCode", "19341");
|
feature1.addProperty("County", "Chester");
|
feature1.addProperty("YearBuilt", 1979);
|
feature1.addProperty("Temperature", 78);
|
feature1.addProperty("red", 38);
|
feature1.addProperty("green", 255);
|
feature1.addProperty("blue", 82);
|
feature1.addProperty("volume", 128);
|
feature1.addProperty("Height", 100);
|
feature1.addProperty("Width", 20);
|
feature1.addProperty("Depth", 20);
|
feature1.addProperty("id", 11);
|
feature1.addProperty("name", "Hello");
|
|
var feature2 = new MockFeature();
|
feature2.addProperty("ZipCode", "19342");
|
feature2.addProperty("County", "Delaware");
|
feature2.addProperty("YearBuilt", 1979);
|
feature2.addProperty("Temperature", 92);
|
feature2.addProperty("red", 255);
|
feature2.addProperty("green", 30);
|
feature2.addProperty("blue", 30);
|
feature2.addProperty("volume", 50);
|
feature2.addProperty("Height", 38);
|
feature2.addProperty("id", 12);
|
|
var styleUrl = "./Data/Cesium3DTiles/Style/style.json";
|
|
it("rejects readyPromise with undefined url", function () {
|
var tileStyle = new Cesium3DTileStyle("invalid.json");
|
|
return tileStyle.readyPromise
|
.then(function (style) {
|
fail("should not resolve");
|
})
|
.otherwise(function (error) {
|
expect(tileStyle.ready).toEqual(false);
|
expect(error.statusCode).toEqual(404);
|
});
|
});
|
|
it("loads style from uri", function () {
|
var tileStyle = new Cesium3DTileStyle(styleUrl);
|
|
return tileStyle.readyPromise
|
.then(function (style) {
|
expect(style.style).toEqual({
|
color: "color('red')",
|
show: "${id} < 100.0",
|
pointSize: "${id} / 100.0",
|
pointOutlineColor: "color('blue')",
|
pointOutlineWidth: "5.0",
|
labelColor: "color('yellow')",
|
labelOutlineColor: "color('orange')",
|
labelOutlineWidth: "6.0",
|
font: "'24px Helvetica'",
|
labelStyle: "1",
|
labelText: "'label text'",
|
backgroundColor: "color('coral')",
|
backgroundPadding: "vec2(1.0, 2.0)",
|
backgroundEnabled: "true",
|
scaleByDistance: "vec4(1.0, 2.0, 3.0, 4.0)",
|
translucencyByDistance: "vec4(5.0, 6.0, 7.0, 8.0)",
|
distanceDisplayCondition: "vec2(3.0, 4.0)",
|
heightOffset: "10.0",
|
anchorLineEnabled: "true",
|
anchorLineColor: "color('fuchsia')",
|
image: "'url/to/invalid/image'",
|
disableDepthTestDistance: "1000.0",
|
horizontalOrigin: "0",
|
verticalOrigin: "0",
|
labelHorizontalOrigin: "0",
|
labelVerticalOrigin: "0",
|
});
|
expect(style.color).toEqual(new Expression("color('red')"));
|
expect(style.show).toEqual(new Expression("${id} < 100.0"));
|
expect(style.pointSize).toEqual(new Expression("${id} / 100.0"));
|
expect(style.pointOutlineColor).toEqual(
|
new Expression("color('blue')")
|
);
|
expect(style.pointOutlineWidth).toEqual(new Expression("5.0"));
|
expect(style.labelColor).toEqual(new Expression("color('yellow')"));
|
expect(style.labelOutlineColor).toEqual(
|
new Expression("color('orange')")
|
);
|
expect(style.labelOutlineWidth).toEqual(new Expression("6.0"));
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
expect(style.labelStyle).toEqual(new Expression("1"));
|
expect(style.labelText).toEqual(new Expression("'label text'"));
|
expect(style.backgroundColor).toEqual(new Expression("color('coral')"));
|
expect(style.backgroundPadding).toEqual(
|
new Expression("vec2(1.0, 2.0)")
|
);
|
expect(style.backgroundEnabled).toEqual(new Expression("true"));
|
expect(style.scaleByDistance).toEqual(
|
new Expression("vec4(1.0, 2.0, 3.0, 4.0)")
|
);
|
expect(style.translucencyByDistance).toEqual(
|
new Expression("vec4(5.0, 6.0, 7.0, 8.0)")
|
);
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression("vec2(3.0, 4.0)")
|
);
|
expect(style.heightOffset).toEqual(new Expression("10.0"));
|
expect(style.anchorLineEnabled).toEqual(new Expression("true"));
|
expect(style.anchorLineColor).toEqual(
|
new Expression("color('fuchsia')")
|
);
|
expect(style.image).toEqual(new Expression("'url/to/invalid/image'"));
|
expect(style.disableDepthTestDistance).toEqual(
|
new Expression("1000.0")
|
);
|
expect(style.horizontalOrigin).toEqual(new Expression("0"));
|
expect(style.verticalOrigin).toEqual(new Expression("0"));
|
expect(style.labelHorizontalOrigin).toEqual(new Expression("0"));
|
expect(style.labelVerticalOrigin).toEqual(new Expression("0"));
|
expect(tileStyle.ready).toEqual(true);
|
})
|
.otherwise(function () {
|
fail("should load style.json");
|
});
|
});
|
|
it("loads style from Resource", function () {
|
var tileStyle = new Cesium3DTileStyle(
|
new Resource({
|
url: styleUrl,
|
})
|
);
|
|
return tileStyle.readyPromise
|
.then(function (style) {
|
expect(style.style).toEqual({
|
color: "color('red')",
|
show: "${id} < 100.0",
|
pointSize: "${id} / 100.0",
|
pointOutlineColor: "color('blue')",
|
pointOutlineWidth: "5.0",
|
labelColor: "color('yellow')",
|
labelOutlineColor: "color('orange')",
|
labelOutlineWidth: "6.0",
|
font: "'24px Helvetica'",
|
labelStyle: "1",
|
labelText: "'label text'",
|
backgroundColor: "color('coral')",
|
backgroundPadding: "vec2(1.0, 2.0)",
|
backgroundEnabled: "true",
|
scaleByDistance: "vec4(1.0, 2.0, 3.0, 4.0)",
|
translucencyByDistance: "vec4(5.0, 6.0, 7.0, 8.0)",
|
distanceDisplayCondition: "vec2(3.0, 4.0)",
|
heightOffset: "10.0",
|
anchorLineEnabled: "true",
|
anchorLineColor: "color('fuchsia')",
|
image: "'url/to/invalid/image'",
|
disableDepthTestDistance: "1000.0",
|
horizontalOrigin: "0",
|
verticalOrigin: "0",
|
labelHorizontalOrigin: "0",
|
labelVerticalOrigin: "0",
|
});
|
expect(style.color).toEqual(new Expression("color('red')"));
|
expect(style.show).toEqual(new Expression("${id} < 100.0"));
|
expect(style.pointSize).toEqual(new Expression("${id} / 100.0"));
|
expect(style.pointOutlineColor).toEqual(
|
new Expression("color('blue')")
|
);
|
expect(style.pointOutlineWidth).toEqual(new Expression("5.0"));
|
expect(style.labelColor).toEqual(new Expression("color('yellow')"));
|
expect(style.labelOutlineColor).toEqual(
|
new Expression("color('orange')")
|
);
|
expect(style.labelOutlineWidth).toEqual(new Expression("6.0"));
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
expect(style.labelStyle).toEqual(new Expression("1"));
|
expect(style.labelText).toEqual(new Expression("'label text'"));
|
expect(style.backgroundColor).toEqual(new Expression("color('coral')"));
|
expect(style.backgroundPadding).toEqual(
|
new Expression("vec2(1.0, 2.0)")
|
);
|
expect(style.backgroundEnabled).toEqual(new Expression("true"));
|
expect(style.scaleByDistance).toEqual(
|
new Expression("vec4(1.0, 2.0, 3.0, 4.0)")
|
);
|
expect(style.translucencyByDistance).toEqual(
|
new Expression("vec4(5.0, 6.0, 7.0, 8.0)")
|
);
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression("vec2(3.0, 4.0)")
|
);
|
expect(style.heightOffset).toEqual(new Expression("10.0"));
|
expect(style.anchorLineEnabled).toEqual(new Expression("true"));
|
expect(style.anchorLineColor).toEqual(
|
new Expression("color('fuchsia')")
|
);
|
expect(style.image).toEqual(new Expression("'url/to/invalid/image'"));
|
expect(style.disableDepthTestDistance).toEqual(
|
new Expression("1000.0")
|
);
|
expect(style.horizontalOrigin).toEqual(new Expression("0"));
|
expect(style.verticalOrigin).toEqual(new Expression("0"));
|
expect(style.labelHorizontalOrigin).toEqual(new Expression("0"));
|
expect(style.labelVerticalOrigin).toEqual(new Expression("0"));
|
expect(tileStyle.ready).toEqual(true);
|
})
|
.otherwise(function () {
|
fail("should load style.json");
|
});
|
});
|
|
it("sets show value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.show).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.show).toBeUndefined();
|
});
|
|
it("sets show value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
show: "true",
|
});
|
expect(style.show).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
show: "false",
|
});
|
expect(style.show).toEqual(new Expression("false"));
|
|
style = new Cesium3DTileStyle({
|
show: "${height} * 10 >= 1000",
|
});
|
expect(style.show).toEqual(new Expression("${height} * 10 >= 1000"));
|
|
style = new Cesium3DTileStyle({
|
show: true,
|
});
|
expect(style.show).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
show: false,
|
});
|
expect(style.show).toEqual(new Expression("false"));
|
});
|
|
it("sets show value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
show: jsonExp,
|
});
|
expect(style.show).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets show expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
});
|
|
style.show = condExp;
|
expect(style.show).toEqual(condExp);
|
|
var exp = new Expression("false");
|
style.show = exp;
|
expect(style.show).toEqual(exp);
|
});
|
|
it("sets show values in setter", function () {
|
var defines = {
|
showFactor: 10,
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.show = "${height} * ${showFactor} >= 1000";
|
expect(style.show).toEqual(
|
new Expression("${height} * ${showFactor} >= 1000", defines)
|
);
|
|
style.show = false;
|
expect(style.show).toEqual(new Expression("false"));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${showFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.show = jsonExp;
|
expect(style.show).toEqual(new ConditionsExpression(jsonExp, defines));
|
|
style.show = undefined;
|
expect(style.show).toBeUndefined();
|
});
|
|
it("sets style.show values in setter", function () {
|
var style = new Cesium3DTileStyle({});
|
style.show = "${height} * ${showFactor} >= 1000";
|
expect(style.style.show).toEqual("${height} * ${showFactor} >= 1000");
|
|
style.show = false;
|
expect(style.style.show).toEqual("false");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${showFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.show = jsonExp;
|
expect(style.style.show).toEqual(jsonExp);
|
|
style.show = undefined;
|
expect(style.style.show).toBeUndefined();
|
});
|
|
it("sets color value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.color).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.color).toBeUndefined();
|
});
|
|
it("sets color value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
color: 'color("red")',
|
});
|
expect(style.color).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
color: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.color).toEqual(new Expression("rgba(30, 30, 30, 0.5)"));
|
|
style = new Cesium3DTileStyle({
|
color:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.color).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets color value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
color: jsonExp,
|
});
|
expect(style.color).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets color expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.color = exp;
|
expect(style.color).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.color = condExp;
|
expect(style.color).toEqual(condExp);
|
|
style.color = undefined;
|
expect(style.color).toBeUndefined();
|
});
|
|
it("sets style.color expression in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var stringExp = 'color("red")';
|
style.color = new Expression(stringExp);
|
expect(style.style.color).toEqual(stringExp);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.color = new ConditionsExpression(jsonExp);
|
expect(style.style.color).toEqual(jsonExp);
|
|
style.color = undefined;
|
expect(style.style.color).toBeUndefined();
|
});
|
|
it("sets color values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.color = 'color("${targetColor}")';
|
expect(style.color).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.color = jsonExp;
|
expect(style.color).toEqual(new ConditionsExpression(jsonExp, defines));
|
});
|
|
it("sets style.color values in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.color = 'color("${targetColor}")';
|
expect(style.style.color).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.color = jsonExp;
|
expect(style.style.color).toEqual(jsonExp);
|
});
|
|
it("sets pointSize value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.pointSize).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.pointSize).toBeUndefined();
|
});
|
|
it("sets pointSize value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
pointSize: "2",
|
});
|
expect(style.pointSize).toEqual(new Expression("2"));
|
|
style = new Cesium3DTileStyle({
|
pointSize: "${height} / 10",
|
});
|
expect(style.pointSize).toEqual(new Expression("${height} / 10"));
|
|
style = new Cesium3DTileStyle({
|
pointSize: 2,
|
});
|
expect(style.pointSize).toEqual(new Expression("2"));
|
});
|
|
it("sets pointSize value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
pointSize: jsonExp,
|
});
|
expect(style.pointSize).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets pointSize expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.pointSize = 2;
|
expect(style.pointSize).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.pointSize = exp;
|
expect(style.pointSize).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
});
|
|
style.pointSize = condExp;
|
expect(style.pointSize).toEqual(condExp);
|
|
style.pointSize = undefined;
|
expect(style.pointSize).toBeUndefined();
|
});
|
|
it("sets style.pointSize expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.pointSize = new Expression("2");
|
expect(style.style.pointSize).toEqual("2");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
style.pointSize = new ConditionsExpression(jsonExp);
|
expect(style.style.pointSize).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.pointSize = customExpression;
|
expect(style.style.pointSize).toEqual(customExpression);
|
|
style.pointSize = undefined;
|
expect(style.style.pointSize).toBeUndefined();
|
});
|
|
it("sets pointSize values in setter", function () {
|
var defines = {
|
targetPointSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointSize = 2;
|
expect(style.pointSize).toEqual(new Expression("2"));
|
|
style.pointSize = "${targetPointSize} + 1.0";
|
expect(style.pointSize).toEqual(
|
new Expression("${targetPointSize} + 1.0", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetPointSize}"],
|
],
|
};
|
|
style.pointSize = jsonExp;
|
expect(style.pointSize).toEqual(new ConditionsExpression(jsonExp, defines));
|
});
|
|
it("sets style.pointSize values in setter", function () {
|
var defines = {
|
targetPointSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointSize = 2;
|
expect(style.style.pointSize).toEqual("2");
|
|
style.pointSize = "${targetPointSize} + 1.0";
|
expect(style.style.pointSize).toEqual("${targetPointSize} + 1.0");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetPointSize}"],
|
],
|
};
|
|
style.pointSize = jsonExp;
|
expect(style.style.pointSize).toEqual(jsonExp);
|
});
|
|
it("sets pointOutlineColor value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.pointOutlineColor).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.pointOutlineColor).toBeUndefined();
|
});
|
|
it("sets pointOutlineColor value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
pointOutlineColor: 'color("red")',
|
});
|
expect(style.pointOutlineColor).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
pointOutlineColor: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.pointOutlineColor).toEqual(
|
new Expression("rgba(30, 30, 30, 0.5)")
|
);
|
|
style = new Cesium3DTileStyle({
|
pointOutlineColor:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.pointOutlineColor).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets pointOutlineColor value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
pointOutlineColor: jsonExp,
|
});
|
expect(style.pointOutlineColor).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets pointOutlineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.pointOutlineColor = exp;
|
expect(style.pointOutlineColor).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.pointOutlineColor = condExp;
|
expect(style.pointOutlineColor).toEqual(condExp);
|
|
style.pointOutlineColor = undefined;
|
expect(style.pointOutlineColor).toBeUndefined();
|
});
|
|
it("sets style.pointOutlineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.pointOutlineColor = new Expression('color("red")');
|
expect(style.style.pointOutlineColor).toEqual('color("red")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.pointOutlineColor = new ConditionsExpression(jsonExp);
|
expect(style.style.pointOutlineColor).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return Color.RED;
|
},
|
evaluateColor: function () {
|
return Color.RED;
|
},
|
};
|
style.pointOutlineColor = customExpression;
|
expect(style.style.pointOutlineColor).toEqual(customExpression);
|
|
style.pointOutlineColor = undefined;
|
expect(style.style.pointOutlineColor).toBeUndefined();
|
});
|
|
it("sets pointOutlineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointOutlineColor = 'color("${targetColor}")';
|
expect(style.pointOutlineColor).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.pointOutlineColor = jsonExp;
|
expect(style.pointOutlineColor).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.pointOutlineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointOutlineColor = 'color("${targetColor}")';
|
expect(style.style.pointOutlineColor).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.pointOutlineColor = jsonExp;
|
expect(style.style.pointOutlineColor).toEqual(jsonExp);
|
});
|
|
it("sets pointOutlineWidth value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.pointOutlineWidth).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.pointOutlineWidth).toBeUndefined();
|
});
|
|
it("sets pointOutlineWidth value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
pointOutlineWidth: "2",
|
});
|
expect(style.pointOutlineWidth).toEqual(new Expression("2"));
|
|
style = new Cesium3DTileStyle({
|
pointOutlineWidth: "${height} / 10",
|
});
|
expect(style.pointOutlineWidth).toEqual(new Expression("${height} / 10"));
|
|
style = new Cesium3DTileStyle({
|
pointOutlineWidth: 2,
|
});
|
expect(style.pointOutlineWidth).toEqual(new Expression("2"));
|
});
|
|
it("sets pointOutlineWidth value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
pointOutlineWidth: jsonExp,
|
});
|
expect(style.pointOutlineWidth).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets pointOutlineWidth expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.pointOutlineWidth = 2;
|
expect(style.pointOutlineWidth).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.pointOutlineWidth = exp;
|
expect(style.pointOutlineWidth).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
});
|
|
style.pointOutlineWidth = condExp;
|
expect(style.pointOutlineWidth).toEqual(condExp);
|
|
style.pointOutlineWidth = undefined;
|
expect(style.pointOutlineWidth).toBeUndefined();
|
});
|
|
it("sets style.pointOutlineWidth expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.pointOutlineWidth = new Expression("2");
|
expect(style.style.pointOutlineWidth).toEqual("2");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
style.pointOutlineWidth = new ConditionsExpression(jsonExp);
|
expect(style.style.pointOutlineWidth).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.pointOutlineWidth = customExpression;
|
expect(style.style.pointOutlineWidth).toEqual(customExpression);
|
|
style.pointOutlineWidth = undefined;
|
expect(style.style.pointOutlineWidth).toBeUndefined();
|
});
|
|
it("sets pointOutlineWidth values in setter", function () {
|
var defines = {
|
targetPointSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointOutlineWidth = 2;
|
expect(style.pointOutlineWidth).toEqual(new Expression("2"));
|
|
style.pointOutlineWidth = "${targetPointSize} + 1.0";
|
expect(style.pointOutlineWidth).toEqual(
|
new Expression("${targetPointSize} + 1.0", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetPointSize}"],
|
],
|
};
|
|
style.pointOutlineWidth = jsonExp;
|
expect(style.pointOutlineWidth).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.pointOutlineWidth values in setter", function () {
|
var defines = {
|
targetPointSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.pointOutlineWidth = 2;
|
expect(style.style.pointOutlineWidth).toEqual("2");
|
|
style.pointOutlineWidth = "${targetPointSize} + 1.0";
|
expect(style.style.pointOutlineWidth).toEqual("${targetPointSize} + 1.0");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetPointSize}"],
|
],
|
};
|
|
style.pointOutlineWidth = jsonExp;
|
expect(style.style.pointOutlineWidth).toEqual(jsonExp);
|
});
|
|
it("sets labelColor value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelColor).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelColor).toBeUndefined();
|
});
|
|
it("sets labelColor value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelColor: 'color("red")',
|
});
|
expect(style.labelColor).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
labelColor: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.labelColor).toEqual(new Expression("rgba(30, 30, 30, 0.5)"));
|
|
style = new Cesium3DTileStyle({
|
labelColor:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.labelColor).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets labelColor value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelColor: jsonExp,
|
});
|
expect(style.labelColor).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets labelColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.labelColor = exp;
|
expect(style.labelColor).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.labelColor = condExp;
|
expect(style.labelColor).toEqual(condExp);
|
|
style.labelColor = undefined;
|
expect(style.labelColor).toBeUndefined();
|
});
|
|
it("sets style.labelColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelColor = new Expression('color("red")');
|
expect(style.style.labelColor).toEqual('color("red")');
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.labelColor = new ConditionsExpression(jsonExp);
|
expect(style.style.labelColor).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return Color.RED;
|
},
|
evaluateColor: function () {
|
return Color.RED;
|
},
|
};
|
style.labelColor = customExpression;
|
expect(style.style.labelColor).toEqual(customExpression);
|
|
style.labelColor = undefined;
|
expect(style.style.labelColor).toBeUndefined();
|
});
|
|
it("sets labelColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelColor = 'color("${targetColor}")';
|
expect(style.labelColor).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.labelColor = jsonExp;
|
expect(style.labelColor).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelColor = 'color("${targetColor}")';
|
expect(style.style.labelColor).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.labelColor = jsonExp;
|
expect(style.style.labelColor).toEqual(jsonExp);
|
});
|
|
it("sets labelOutlineColor value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelOutlineColor).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelOutlineColor).toBeUndefined();
|
});
|
|
it("sets labelOutlineColor value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelOutlineColor: 'color("red")',
|
});
|
expect(style.labelOutlineColor).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
labelOutlineColor: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.labelOutlineColor).toEqual(
|
new Expression("rgba(30, 30, 30, 0.5)")
|
);
|
|
style = new Cesium3DTileStyle({
|
labelOutlineColor:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.labelOutlineColor).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets labelOutlineColor value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelOutlineColor: jsonExp,
|
});
|
expect(style.labelOutlineColor).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets labelOutlineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.labelOutlineColor = exp;
|
expect(style.labelOutlineColor).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.labelOutlineColor = condExp;
|
expect(style.labelOutlineColor).toEqual(condExp);
|
|
style.labelOutlineColor = undefined;
|
expect(style.labelOutlineColor).toBeUndefined();
|
});
|
|
it("sets style.labelOutlineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelOutlineColor = new Expression('color("red")');
|
expect(style.style.labelOutlineColor).toEqual('color("red")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.labelOutlineColor = new ConditionsExpression(jsonExp);
|
expect(style.style.labelOutlineColor).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return Color.RED;
|
},
|
evaluateColor: function () {
|
return Color.RED;
|
},
|
};
|
style.labelOutlineColor = customExpression;
|
expect(style.style.labelOutlineColor).toEqual(customExpression);
|
|
style.labelOutlineColor = undefined;
|
expect(style.style.labelOutlineColor).toBeUndefined();
|
});
|
|
it("sets labelOutlineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelOutlineColor = 'color("${targetColor}")';
|
expect(style.labelOutlineColor).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.labelOutlineColor = jsonExp;
|
expect(style.labelOutlineColor).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelOutlineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelOutlineColor = 'color("${targetColor}")';
|
expect(style.style.labelOutlineColor).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.labelOutlineColor = jsonExp;
|
expect(style.style.labelOutlineColor).toEqual(jsonExp);
|
});
|
|
it("sets labelOutlineWidth value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelOutlineWidth).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelOutlineWidth).toBeUndefined();
|
});
|
|
it("sets labelOutlineWidth value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelOutlineWidth: "2",
|
});
|
expect(style.labelOutlineWidth).toEqual(new Expression("2"));
|
|
style = new Cesium3DTileStyle({
|
labelOutlineWidth: "${height} / 10",
|
});
|
expect(style.labelOutlineWidth).toEqual(new Expression("${height} / 10"));
|
|
style = new Cesium3DTileStyle({
|
labelOutlineWidth: 2,
|
});
|
expect(style.labelOutlineWidth).toEqual(new Expression("2"));
|
});
|
|
it("sets labelOutlineWidth value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelOutlineWidth: jsonExp,
|
});
|
expect(style.labelOutlineWidth).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets labelOutlineWidth expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelOutlineWidth = 2;
|
expect(style.labelOutlineWidth).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.labelOutlineWidth = exp;
|
expect(style.labelOutlineWidth).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
});
|
|
style.labelOutlineWidth = condExp;
|
expect(style.labelOutlineWidth).toEqual(condExp);
|
|
style.labelOutlineWidth = undefined;
|
expect(style.labelOutlineWidth).toBeUndefined();
|
});
|
|
it("sets style.labelOutlineWidth expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelOutlineWidth = new Expression("2");
|
expect(style.style.labelOutlineWidth).toEqual("2");
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
style.labelOutlineWidth = new ConditionsExpression(jsonExp);
|
expect(style.style.labelOutlineWidth).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.labelOutlineWidth = customExpression;
|
expect(style.style.labelOutlineWidth).toEqual(customExpression);
|
|
style.labelOutlineWidth = undefined;
|
expect(style.style.labelOutlineWidth).toBeUndefined();
|
});
|
|
it("sets labelOutlineWidth values in setter", function () {
|
var defines = {
|
targetLabelSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelOutlineWidth = 2;
|
expect(style.labelOutlineWidth).toEqual(new Expression("2"));
|
|
style.labelOutlineWidth = "${targetLabelSize} + 1.0";
|
expect(style.labelOutlineWidth).toEqual(
|
new Expression("${targetLabelSize} + 1.0", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetLabelSize}"],
|
],
|
};
|
|
style.labelOutlineWidth = jsonExp;
|
expect(style.labelOutlineWidth).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelOutlineWidth values in setter", function () {
|
var defines = {
|
targetLabelSize: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelOutlineWidth = 2;
|
expect(style.style.labelOutlineWidth).toEqual("2");
|
|
style.labelOutlineWidth = "${targetLabelSize} + 1.0";
|
expect(style.style.labelOutlineWidth).toEqual("${targetLabelSize} + 1.0");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetLabelSize}"],
|
],
|
};
|
|
style.labelOutlineWidth = jsonExp;
|
expect(style.style.labelOutlineWidth).toEqual(jsonExp);
|
});
|
|
it("sets font value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.font).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.font).toBeUndefined();
|
});
|
|
it("sets font value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
font: "'24px Helvetica'",
|
});
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
|
style = new Cesium3DTileStyle({
|
font: "${font}",
|
});
|
expect(style.font).toEqual(new Expression("${font}"));
|
|
style = new Cesium3DTileStyle({
|
font: "'24px Helvetica'",
|
});
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
});
|
|
it("sets font value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'30px Helvetica'"],
|
["true", "'24px Helvetica'"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
font: jsonExp,
|
});
|
expect(style.font).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets font expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.font = "'24px Helvetica'";
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
|
var exp = new Expression("'24px Helvetica'");
|
style.font = exp;
|
expect(style.font).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "'30px Helvetica'"],
|
["true", "'24px Helvetica'"],
|
],
|
});
|
|
style.font = condExp;
|
expect(style.font).toEqual(condExp);
|
|
style.font = undefined;
|
expect(style.font).toBeUndefined();
|
});
|
|
it("sets style.font expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.font = new Expression("'24px Helvetica'");
|
expect(style.style.font).toEqual("'24px Helvetica'");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'30px Helvetica'"],
|
["true", "'24px Helvetica'"],
|
],
|
};
|
|
style.font = new ConditionsExpression(jsonExp);
|
expect(style.style.font).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return "'24px Helvetica'";
|
},
|
};
|
style.font = customExpression;
|
expect(style.style.font).toEqual(customExpression);
|
|
style.font = undefined;
|
expect(style.style.font).toBeUndefined();
|
});
|
|
it("sets font values in setter", function () {
|
var defines = {
|
targetFont: "'30px Helvetica'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.font = "'24px Helvetica'";
|
expect(style.font).toEqual(new Expression("'24px Helvetica'"));
|
|
style.font = "${targetFont}";
|
expect(style.font).toEqual(new Expression("${targetFont}", defines));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'24px Helvetica'"],
|
["true", "${targetFont}"],
|
],
|
};
|
|
style.font = jsonExp;
|
expect(style.font).toEqual(new ConditionsExpression(jsonExp, defines));
|
});
|
|
it("sets style.font values in setter", function () {
|
var defines = {
|
targetFont: "'30px Helvetica'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.font = "'24px Helvetica'";
|
expect(style.style.font).toEqual("'24px Helvetica'");
|
|
style.font = "${targetFont}";
|
expect(style.style.font).toEqual("${targetFont}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'24px Helvetica'"],
|
["true", "${targetFont}"],
|
],
|
};
|
|
style.font = jsonExp;
|
expect(style.style.font).toEqual(jsonExp);
|
});
|
|
it("sets labelStyle value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelStyle).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelStyle).toBeUndefined();
|
});
|
|
it("sets labelStyle value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelStyle: "2",
|
});
|
expect(style.labelStyle).toEqual(new Expression("2"));
|
});
|
|
it("sets labelStyle value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "2"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelStyle: jsonExp,
|
});
|
expect(style.labelStyle).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets labelStyle expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelStyle = 2;
|
expect(style.labelStyle).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.labelStyle = exp;
|
expect(style.labelStyle).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "2"],
|
],
|
});
|
|
style.labelStyle = condExp;
|
expect(style.labelStyle).toEqual(condExp);
|
|
style.labelStyle = undefined;
|
expect(style.labelStyle).toBeUndefined();
|
});
|
|
it("sets style.labelStyle expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelStyle = new Expression("2");
|
expect(style.style.labelStyle).toEqual("2");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "2"],
|
],
|
};
|
style.labelStyle = new ConditionsExpression(jsonExp);
|
expect(style.style.labelStyle).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 0;
|
},
|
};
|
style.labelStyle = customExpression;
|
expect(style.style.labelStyle).toEqual(customExpression);
|
|
style.labelStyle = undefined;
|
expect(style.style.labelStyle).toBeUndefined();
|
});
|
|
it("sets labelStyle values in setter", function () {
|
var defines = {
|
targetLabelStyle: "2",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelStyle = 2;
|
expect(style.labelStyle).toEqual(new Expression("2"));
|
|
style.labelStyle = "${targetLabelStyle}";
|
expect(style.labelStyle).toEqual(
|
new Expression("${targetLabelStyle}", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetLabelStyle}"],
|
],
|
};
|
|
style.labelStyle = jsonExp;
|
expect(style.labelStyle).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelStyle values in setter", function () {
|
var defines = {
|
targetLabelStyle: "2",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelStyle = 2;
|
expect(style.style.labelStyle).toEqual("2");
|
|
style.labelStyle = "${targetLabelStyle}";
|
expect(style.style.labelStyle).toEqual("${targetLabelStyle}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetLabelStyle}"],
|
],
|
};
|
|
style.labelStyle = jsonExp;
|
expect(style.style.labelStyle).toEqual(jsonExp);
|
});
|
|
it("sets labelText value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelText).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelText).toBeUndefined();
|
});
|
|
it("sets labelText value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelText: "'test text'",
|
});
|
expect(style.labelText).toEqual(new Expression("'test text'"));
|
|
style = new Cesium3DTileStyle({
|
labelText: "${text}",
|
});
|
expect(style.labelText).toEqual(new Expression("${text}"));
|
|
style = new Cesium3DTileStyle({
|
labelText: "'test text'",
|
});
|
expect(style.labelText).toEqual(new Expression("'test text'"));
|
});
|
|
it("sets labelText value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'test text 1'"],
|
["true", "'test text 2'"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelText: jsonExp,
|
});
|
expect(style.labelText).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets labelText expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelText = "'test text'";
|
expect(style.labelText).toEqual(new Expression("'test text'"));
|
|
var exp = new Expression("'test text'");
|
style.labelText = exp;
|
expect(style.labelText).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "'test text 1'"],
|
["true", "'test text 2'"],
|
],
|
});
|
|
style.labelText = condExp;
|
expect(style.labelText).toEqual(condExp);
|
|
style.labelText = undefined;
|
expect(style.labelText).toBeUndefined();
|
});
|
|
it("sets style.labelText expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelText = new Expression("'test text'");
|
expect(style.style.labelText).toEqual("'test text'");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'test text 1'"],
|
["true", "'test text 2'"],
|
],
|
};
|
|
style.labelText = new ConditionsExpression(jsonExp);
|
expect(style.style.labelText).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return "'test text 1'";
|
},
|
};
|
style.labelText = customExpression;
|
expect(style.style.labelText).toEqual(customExpression);
|
|
style.labelText = undefined;
|
expect(style.style.labelText).toBeUndefined();
|
});
|
|
it("sets labelText values in setter", function () {
|
var defines = {
|
targetText: "'test text 1'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelText = "'test text'";
|
expect(style.labelText).toEqual(new Expression("'test text'"));
|
|
style.labelText = "${targetText}";
|
expect(style.labelText).toEqual(new Expression("${targetText}", defines));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'test text 2'"],
|
["true", "${targetText}"],
|
],
|
};
|
|
style.labelText = jsonExp;
|
expect(style.labelText).toEqual(new ConditionsExpression(jsonExp, defines));
|
});
|
|
it("sets style.labelText values in setter", function () {
|
var defines = {
|
targetText: "'test text 1'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelText = "'test text'";
|
expect(style.style.labelText).toEqual("'test text'");
|
|
style.labelText = "${targetText}";
|
expect(style.style.labelText).toEqual("${targetText}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'test text 2'"],
|
["true", "${targetText}"],
|
],
|
};
|
|
style.labelText = jsonExp;
|
expect(style.style.labelText).toEqual(jsonExp);
|
});
|
|
it("sets backgroundColor value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.backgroundColor).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.backgroundColor).toBeUndefined();
|
});
|
|
it("sets backgroundColor value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
backgroundColor: 'color("red")',
|
});
|
expect(style.backgroundColor).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
backgroundColor: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.backgroundColor).toEqual(
|
new Expression("rgba(30, 30, 30, 0.5)")
|
);
|
|
style = new Cesium3DTileStyle({
|
backgroundColor:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.backgroundColor).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets backgroundColor value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
backgroundColor: jsonExp,
|
});
|
expect(style.backgroundColor).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets backgroundColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.backgroundColor = exp;
|
expect(style.backgroundColor).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.backgroundColor = condExp;
|
expect(style.backgroundColor).toEqual(condExp);
|
|
style.backgroundColor = undefined;
|
expect(style.backgroundColor).toBeUndefined();
|
});
|
|
it("sets style.backgroundColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.backgroundColor = new Expression('color("red")');
|
expect(style.style.backgroundColor).toEqual('color("red")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.backgroundColor = new ConditionsExpression(jsonExp);
|
expect(style.style.backgroundColor).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return Color.RED;
|
},
|
evaluateColor: function () {
|
return Color.RED;
|
},
|
};
|
style.backgroundColor = customExpression;
|
expect(style.style.backgroundColor).toEqual(customExpression);
|
|
style.backgroundColor = undefined;
|
expect(style.style.backgroundColor).toBeUndefined();
|
});
|
|
it("sets backgroundColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundColor = 'color("${targetColor}")';
|
expect(style.backgroundColor).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.backgroundColor = jsonExp;
|
expect(style.backgroundColor).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.backgroundColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundColor = 'color("${targetColor}")';
|
expect(style.style.backgroundColor).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.backgroundColor = jsonExp;
|
expect(style.style.backgroundColor).toEqual(jsonExp);
|
});
|
|
it("sets backgroundPadding value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.backgroundPadding).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.backgroundPadding).toBeUndefined();
|
});
|
|
it("sets backgroundPadding value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
backgroundPadding: "vec2(1.0, 2.0)",
|
});
|
expect(style.backgroundPadding).toEqual(new Expression("vec2(1.0, 2.0)"));
|
|
style = new Cesium3DTileStyle({
|
backgroundPadding: "vec2(3.0, 4.0)",
|
});
|
expect(style.backgroundPadding).toEqual(new Expression("vec2(3.0, 4.0)"));
|
|
style = new Cesium3DTileStyle({
|
backgroundPadding:
|
"(${height} * 10 >= 1000) ? vec2(1.0, 2.0) : vec2(3.0, 4.0)",
|
});
|
expect(style.backgroundPadding).toEqual(
|
new Expression(
|
"(${height} * 10 >= 1000) ? vec2(1.0, 2.0) : vec2(3.0, 4.0)"
|
)
|
);
|
});
|
|
it("sets backgroundPadding value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec2(1.0, 2.0)"],
|
["true", "vec2(3.0, 4.0)"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
backgroundPadding: jsonExp,
|
});
|
expect(style.backgroundPadding).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets backgroundPadding expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression("vec2(1.0, 2.0)");
|
style.backgroundPadding = exp;
|
expect(style.backgroundPadding).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "vec2(1.0, 2.0)"],
|
["true", "vec2(3.0, 4.0)"],
|
],
|
});
|
|
style.backgroundPadding = condExp;
|
expect(style.backgroundPadding).toEqual(condExp);
|
|
style.backgroundPadding = undefined;
|
expect(style.backgroundPadding).toBeUndefined();
|
});
|
|
it("sets style.backgroundPadding expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.backgroundPadding = new Expression("vec2(1.0, 2.0)");
|
expect(style.style.backgroundPadding).toEqual("vec2(1.0, 2.0)");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec2(1.0, 2.0)"],
|
["true", "vec2(3.0, 4.0)"],
|
],
|
};
|
|
var customExpression = {
|
evaluate: function () {
|
return new Cartesian2(1.0, 2.0);
|
},
|
};
|
style.labelText = customExpression;
|
expect(style.style.labelText).toEqual(customExpression);
|
|
style.backgroundPadding = new ConditionsExpression(jsonExp);
|
expect(style.style.backgroundPadding).toEqual(jsonExp);
|
|
style.backgroundPadding = undefined;
|
expect(style.style.backgroundPadding).toBeUndefined();
|
});
|
|
it("sets backgroundPadding values in setter", function () {
|
var defines = {
|
targetPadding: "3.0, 4.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundPadding = 'vec2("${targetPadding}")';
|
expect(style.backgroundPadding).toEqual(
|
new Expression('vec2("${targetPadding}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec2(1.0, 2.0)"],
|
["true", 'vec2("${targetPadding}")'],
|
],
|
};
|
|
style.backgroundPadding = jsonExp;
|
expect(style.backgroundPadding).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.backgroundPadding values in setter", function () {
|
var defines = {
|
targetPadding: "3.0, 4.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundPadding = 'vec2("${targetPadding}")';
|
expect(style.style.backgroundPadding).toEqual('vec2("${targetPadding}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec2(1.0, 2.0)"],
|
["true", 'vec2("${targetPadding}")'],
|
],
|
};
|
|
style.backgroundPadding = jsonExp;
|
expect(style.style.backgroundPadding).toEqual(jsonExp);
|
});
|
|
it("sets backgroundEnabled value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.backgroundEnabled).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.backgroundEnabled).toBeUndefined();
|
});
|
|
it("sets backgroundEnabled value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
backgroundEnabled: "true",
|
});
|
expect(style.backgroundEnabled).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
backgroundEnabled: "false",
|
});
|
expect(style.backgroundEnabled).toEqual(new Expression("false"));
|
|
style = new Cesium3DTileStyle({
|
backgroundEnabled: "${height} * 10 >= 1000",
|
});
|
expect(style.backgroundEnabled).toEqual(
|
new Expression("${height} * 10 >= 1000")
|
);
|
|
style = new Cesium3DTileStyle({
|
backgroundEnabled: true,
|
});
|
expect(style.backgroundEnabled).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
backgroundEnabled: false,
|
});
|
expect(style.backgroundEnabled).toEqual(new Expression("false"));
|
});
|
|
it("sets backgroundEnabled value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
backgroundEnabled: jsonExp,
|
});
|
expect(style.backgroundEnabled).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets backgroundEnabled expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
});
|
|
style.backgroundEnabled = condExp;
|
expect(style.backgroundEnabled).toEqual(condExp);
|
|
var exp = new Expression("false");
|
style.backgroundEnabled = exp;
|
expect(style.backgroundEnabled).toEqual(exp);
|
});
|
|
it("sets style.backgroundEnabled expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.backgroundEnabled = new Expression("false");
|
expect(style.style.backgroundEnabled).toEqual("false");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.backgroundEnabled = new ConditionsExpression(jsonExp);
|
expect(style.style.backgroundEnabled).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return true;
|
},
|
};
|
style.backgroundEnabled = customExpression;
|
expect(style.style.backgroundEnabled).toEqual(customExpression);
|
});
|
|
it("sets backgroundEnabled values in setter", function () {
|
var defines = {
|
backgroundFactor: 10,
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundEnabled = "${height} * ${backgroundFactor} >= 1000";
|
expect(style.backgroundEnabled).toEqual(
|
new Expression("${height} * ${backgroundFactor} >= 1000", defines)
|
);
|
|
style.backgroundEnabled = false;
|
expect(style.backgroundEnabled).toEqual(new Expression("false"));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${backgroundFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.backgroundEnabled = jsonExp;
|
expect(style.backgroundEnabled).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
|
style.backgroundEnabled = undefined;
|
expect(style.backgroundEnabled).toBeUndefined();
|
});
|
|
it("sets style.backgroundEnabled values in setter", function () {
|
var defines = {
|
backgroundFactor: 10,
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.backgroundEnabled = "${height} * ${backgroundFactor} >= 1000";
|
expect(style.style.backgroundEnabled).toEqual(
|
"${height} * ${backgroundFactor} >= 1000"
|
);
|
|
style.backgroundEnabled = false;
|
expect(style.style.backgroundEnabled).toEqual("false");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${backgroundFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.backgroundEnabled = jsonExp;
|
expect(style.style.backgroundEnabled).toEqual(jsonExp);
|
|
style.backgroundEnabled = undefined;
|
expect(style.style.backgroundEnabled).toBeUndefined();
|
});
|
|
it("sets scaleByDistance value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.scaleByDistance).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.scaleByDistance).toBeUndefined();
|
});
|
|
it("sets scaleByDistance value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
scaleByDistance: "vec4(1.0, 2.0, 3.0, 4.0)",
|
});
|
expect(style.scaleByDistance).toEqual(
|
new Expression("vec4(1.0, 2.0, 3.0, 4.0)")
|
);
|
|
style = new Cesium3DTileStyle({
|
scaleByDistance: "vec4(5.0, 6.0, 7.0, 8.0)",
|
});
|
expect(style.scaleByDistance).toEqual(
|
new Expression("vec4(5.0, 6.0, 7.0, 8.0)")
|
);
|
|
style = new Cesium3DTileStyle({
|
scaleByDistance:
|
"(${height} * 10 >= 1000) ? vec4(1.0, 2.0, 3.0, 4.0) : vec4(5.0, 6.0, 7.0, 8.0)",
|
});
|
expect(style.scaleByDistance).toEqual(
|
new Expression(
|
"(${height} * 10 >= 1000) ? vec4(1.0, 2.0, 3.0, 4.0) : vec4(5.0, 6.0, 7.0, 8.0)"
|
)
|
);
|
});
|
|
it("sets scaleByDistance value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
scaleByDistance: jsonExp,
|
});
|
expect(style.scaleByDistance).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets scaleByDistance expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression("vec4(5.0, 6.0, 7.0, 8.0)");
|
style.scaleByDistance = exp;
|
expect(style.scaleByDistance).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
});
|
|
style.scaleByDistance = condExp;
|
expect(style.scaleByDistance).toEqual(condExp);
|
|
style.scaleByDistance = undefined;
|
expect(style.scaleByDistance).toBeUndefined();
|
});
|
|
it("sets style.scaleByDistance expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.scaleByDistance = new Expression("vec4(5.0, 6.0, 7.0, 8.0)");
|
expect(style.style.scaleByDistance).toEqual("vec4(5.0, 6.0, 7.0, 8.0)");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
};
|
|
style.scaleByDistance = new ConditionsExpression(jsonExp);
|
expect(style.style.scaleByDistance).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return new Cartesian4(1.0, 2.0, 3.0, 4.0);
|
},
|
};
|
style.scaleByDistance = customExpression;
|
expect(style.style.scaleByDistance).toEqual(customExpression);
|
|
style.scaleByDistance = undefined;
|
expect(style.style.scaleByDistance).toBeUndefined();
|
});
|
|
it("sets scaleByDistance values in setter", function () {
|
var defines = {
|
targetScale: "1.0, 2.0, 3.0, 4.",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.scaleByDistance = 'vec4("${targetScale}")';
|
expect(style.scaleByDistance).toEqual(
|
new Expression('vec4("${targetScale}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
["true", 'vec4("${targetScale}")'],
|
],
|
};
|
|
style.scaleByDistance = jsonExp;
|
expect(style.scaleByDistance).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.scaleByDistance values in setter", function () {
|
var defines = {
|
targetScale: "1.0, 2.0, 3.0, 4.",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.scaleByDistance = 'vec4("${targetScale}")';
|
expect(style.style.scaleByDistance).toEqual('vec4("${targetScale}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
["true", 'vec4("${targetScale}")'],
|
],
|
};
|
|
style.scaleByDistance = jsonExp;
|
expect(style.style.scaleByDistance).toEqual(jsonExp);
|
});
|
|
it("sets distanceDisplayCondition value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.distanceDisplayCondition).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.distanceDisplayCondition).toBeUndefined();
|
});
|
|
it("sets distanceDisplayCondition value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
distanceDisplayCondition: "vec4(1.0, 2.0, 3.0, 4.0)",
|
});
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression("vec4(1.0, 2.0, 3.0, 4.0)")
|
);
|
|
style = new Cesium3DTileStyle({
|
distanceDisplayCondition: "vec4(5.0, 6.0, 7.0, 8.0)",
|
});
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression("vec4(5.0, 6.0, 7.0, 8.0)")
|
);
|
|
style = new Cesium3DTileStyle({
|
distanceDisplayCondition:
|
"(${height} * 10 >= 1000) ? vec4(1.0, 2.0, 3.0, 4.0) : vec4(5.0, 6.0, 7.0, 8.0)",
|
});
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression(
|
"(${height} * 10 >= 1000) ? vec4(1.0, 2.0, 3.0, 4.0) : vec4(5.0, 6.0, 7.0, 8.0)"
|
)
|
);
|
});
|
|
it("sets distanceDisplayCondition value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
distanceDisplayCondition: jsonExp,
|
});
|
expect(style.distanceDisplayCondition).toEqual(
|
new ConditionsExpression(jsonExp)
|
);
|
});
|
|
it("sets distanceDisplayCondition expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression("vec4(5.0, 6.0, 7.0, 8.0)");
|
style.distanceDisplayCondition = exp;
|
expect(style.distanceDisplayCondition).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
});
|
|
style.distanceDisplayCondition = condExp;
|
expect(style.distanceDisplayCondition).toEqual(condExp);
|
|
style.distanceDisplayCondition = undefined;
|
expect(style.distanceDisplayCondition).toBeUndefined();
|
});
|
|
it("sets style.distanceDisplayCondition expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.distanceDisplayCondition = new Expression("vec4(5.0, 6.0, 7.0, 8.0)");
|
expect(style.style.distanceDisplayCondition).toEqual(
|
"vec4(5.0, 6.0, 7.0, 8.0)"
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(1.0, 2.0, 3.0, 4.0)"],
|
["true", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
],
|
};
|
|
style.distanceDisplayCondition = new ConditionsExpression(jsonExp);
|
expect(style.style.distanceDisplayCondition).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return new Cartesian4(1.0, 2.0, 3.0, 4.0);
|
},
|
};
|
style.distanceDisplayCondition = customExpression;
|
expect(style.style.distanceDisplayCondition).toEqual(customExpression);
|
|
style.distanceDisplayCondition = undefined;
|
expect(style.style.distanceDisplayCondition).toBeUndefined();
|
});
|
|
it("sets distanceDisplayCondition values in setter", function () {
|
var defines = {
|
targetTranslucency: "1.0, 2.0, 3.0, 4.",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.distanceDisplayCondition = 'vec4("${targetTranslucency}")';
|
expect(style.distanceDisplayCondition).toEqual(
|
new Expression('vec4("${targetTranslucency}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
["true", 'vec4("${targetTranslucency}")'],
|
],
|
};
|
|
style.distanceDisplayCondition = jsonExp;
|
expect(style.distanceDisplayCondition).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.distanceDisplayCondition values in setter", function () {
|
var defines = {
|
targetTranslucency: "1.0, 2.0, 3.0, 4.",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.distanceDisplayCondition = 'vec4("${targetTranslucency}")';
|
expect(style.style.distanceDisplayCondition).toEqual(
|
'vec4("${targetTranslucency}")'
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "vec4(5.0, 6.0, 7.0, 8.0)"],
|
["true", 'vec4("${targetTranslucency}")'],
|
],
|
};
|
|
style.distanceDisplayCondition = jsonExp;
|
expect(style.style.distanceDisplayCondition).toEqual(jsonExp);
|
});
|
|
it("sets heightOffset value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.heightOffset).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.heightOffset).toBeUndefined();
|
});
|
|
it("sets heightOffset value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
heightOffset: "2",
|
});
|
expect(style.heightOffset).toEqual(new Expression("2"));
|
|
style = new Cesium3DTileStyle({
|
heightOffset: "${height} / 10",
|
});
|
expect(style.heightOffset).toEqual(new Expression("${height} / 10"));
|
|
style = new Cesium3DTileStyle({
|
heightOffset: 2,
|
});
|
expect(style.heightOffset).toEqual(new Expression("2"));
|
});
|
|
it("sets heightOffset value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
heightOffset: jsonExp,
|
});
|
expect(style.heightOffset).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets heightOffset expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.heightOffset = 2;
|
expect(style.heightOffset).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.heightOffset = exp;
|
expect(style.heightOffset).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
});
|
|
style.heightOffset = condExp;
|
expect(style.heightOffset).toEqual(condExp);
|
|
style.heightOffset = undefined;
|
expect(style.heightOffset).toBeUndefined();
|
});
|
|
it("sets style.heightOffset expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.heightOffset = new Expression("2");
|
expect(style.style.heightOffset).toEqual("2");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
style.heightOffset = new ConditionsExpression(jsonExp);
|
expect(style.style.heightOffset).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 2;
|
},
|
};
|
style.heightOffset = customExpression;
|
expect(style.style.heightOffset).toEqual(customExpression);
|
|
style.heightOffset = undefined;
|
expect(style.style.heightOffset).toBeUndefined();
|
});
|
|
it("sets heightOffset values in setter", function () {
|
var defines = {
|
targetHeight: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.heightOffset = 2;
|
expect(style.heightOffset).toEqual(new Expression("2"));
|
|
style.heightOffset = "${targetHeight} + 1.0";
|
expect(style.heightOffset).toEqual(
|
new Expression("${targetHeight} + 1.0", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetHeight}"],
|
],
|
};
|
|
style.heightOffset = jsonExp;
|
expect(style.heightOffset).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.heightOffset values in setter", function () {
|
var defines = {
|
targetHeight: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.heightOffset = "${targetHeight} + 1.0";
|
expect(style.style.heightOffset).toEqual("${targetHeight} + 1.0");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetHeight}"],
|
],
|
};
|
|
style.heightOffset = jsonExp;
|
expect(style.style.heightOffset).toEqual(jsonExp);
|
});
|
|
it("sets anchorLineEnabled value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.anchorLineEnabled).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.anchorLineEnabled).toBeUndefined();
|
});
|
|
it("sets anchorLineEnabled value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
anchorLineEnabled: "true",
|
});
|
expect(style.anchorLineEnabled).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
anchorLineEnabled: "false",
|
});
|
expect(style.anchorLineEnabled).toEqual(new Expression("false"));
|
|
style = new Cesium3DTileStyle({
|
anchorLineEnabled: "${height} * 10 >= 1000",
|
});
|
expect(style.anchorLineEnabled).toEqual(
|
new Expression("${height} * 10 >= 1000")
|
);
|
|
style = new Cesium3DTileStyle({
|
anchorLineEnabled: true,
|
});
|
expect(style.anchorLineEnabled).toEqual(new Expression("true"));
|
|
style = new Cesium3DTileStyle({
|
anchorLineEnabled: false,
|
});
|
expect(style.anchorLineEnabled).toEqual(new Expression("false"));
|
});
|
|
it("sets anchorLineEnabled value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
anchorLineEnabled: jsonExp,
|
});
|
expect(style.anchorLineEnabled).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets anchorLineEnabled expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
});
|
|
style.anchorLineEnabled = condExp;
|
expect(style.anchorLineEnabled).toEqual(condExp);
|
|
var exp = new Expression("false");
|
style.anchorLineEnabled = exp;
|
expect(style.anchorLineEnabled).toEqual(exp);
|
});
|
|
it("sets style.anchorLineEnabled expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.anchorLineEnabled = new Expression("false");
|
expect(style.style.anchorLineEnabled).toEqual("false");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.anchorLineEnabled = new ConditionsExpression(jsonExp);
|
expect(style.style.anchorLineEnabled).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return true;
|
},
|
};
|
style.anchorLineEnabled = customExpression;
|
expect(style.style.anchorLineEnabled).toEqual(customExpression);
|
});
|
|
it("sets anchorLineEnabled values in setter", function () {
|
var defines = {
|
anchorFactor: 10,
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.anchorLineEnabled = "${height} * ${anchorFactor} >= 1000";
|
expect(style.anchorLineEnabled).toEqual(
|
new Expression("${height} * ${anchorFactor} >= 1000", defines)
|
);
|
|
style.anchorLineEnabled = false;
|
expect(style.anchorLineEnabled).toEqual(new Expression("false"));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${anchorFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.anchorLineEnabled = jsonExp;
|
expect(style.anchorLineEnabled).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
|
style.anchorLineEnabled = undefined;
|
expect(style.anchorLineEnabled).toBeUndefined();
|
});
|
|
it("sets style.anchorLineEnabled values in setter", function () {
|
var defines = {
|
anchorFactor: 10,
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.anchorLineEnabled = "${height} * ${anchorFactor} >= 1000";
|
expect(style.style.anchorLineEnabled).toEqual(
|
"${height} * ${anchorFactor} >= 1000"
|
);
|
|
style.anchorLineEnabled = false;
|
expect(style.style.anchorLineEnabled).toEqual("false");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > ${anchorFactor}", "false"],
|
["true", "true"],
|
],
|
};
|
|
style.anchorLineEnabled = jsonExp;
|
expect(style.style.anchorLineEnabled).toEqual(jsonExp);
|
|
style.anchorLineEnabled = undefined;
|
expect(style.style.anchorLineEnabled).toBeUndefined();
|
});
|
|
it("sets anchorLineColor value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.anchorLineColor).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.anchorLineColor).toBeUndefined();
|
});
|
|
it("sets anchorLineColor value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
anchorLineColor: 'color("red")',
|
});
|
expect(style.anchorLineColor).toEqual(new Expression('color("red")'));
|
|
style = new Cesium3DTileStyle({
|
anchorLineColor: "rgba(30, 30, 30, 0.5)",
|
});
|
expect(style.anchorLineColor).toEqual(
|
new Expression("rgba(30, 30, 30, 0.5)")
|
);
|
|
style = new Cesium3DTileStyle({
|
anchorLineColor:
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")',
|
});
|
expect(style.anchorLineColor).toEqual(
|
new Expression(
|
'(${height} * 10 >= 1000) ? rgba(0.0, 0.0, 1.0, 0.5) : color("blue")'
|
)
|
);
|
});
|
|
it("sets anchorLineColor value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
anchorLineColor: jsonExp,
|
});
|
expect(style.anchorLineColor).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets anchorLineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
var exp = new Expression('color("red")');
|
style.anchorLineColor = exp;
|
expect(style.anchorLineColor).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
});
|
|
style.anchorLineColor = condExp;
|
expect(style.anchorLineColor).toEqual(condExp);
|
|
style.anchorLineColor = undefined;
|
expect(style.anchorLineColor).toBeUndefined();
|
});
|
|
it("sets style.anchorLineColor expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.anchorLineColor = new Expression('color("red")');
|
expect(style.style.anchorLineColor).toEqual('color("red")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("blue")'],
|
],
|
};
|
|
style.anchorLineColor = new ConditionsExpression(jsonExp);
|
expect(style.style.anchorLineColor).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return Color.RED;
|
},
|
evaluateColor: function () {
|
return Color.RED;
|
},
|
};
|
style.anchorLineColor = customExpression;
|
expect(style.style.anchorLineColor).toEqual(customExpression);
|
|
style.anchorLineColor = undefined;
|
expect(style.style.anchorLineColor).toBeUndefined();
|
});
|
|
it("sets anchorLineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.anchorLineColor = 'color("${targetColor}")';
|
expect(style.anchorLineColor).toEqual(
|
new Expression('color("${targetColor}")', defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.anchorLineColor = jsonExp;
|
expect(style.anchorLineColor).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.anchorLineColor values in setter", function () {
|
var defines = {
|
targetColor: "red",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.anchorLineColor = 'color("${targetColor}")';
|
expect(style.style.anchorLineColor).toEqual('color("${targetColor}")');
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", 'color("cyan")'],
|
["true", 'color("${targetColor}")'],
|
],
|
};
|
|
style.anchorLineColor = jsonExp;
|
expect(style.style.anchorLineColor).toEqual(jsonExp);
|
});
|
|
it("sets image value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.image).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.image).toBeUndefined();
|
});
|
|
it("sets image value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
image: "'url/to/image'",
|
});
|
expect(style.image).toEqual(new Expression("'url/to/image'"));
|
|
style = new Cesium3DTileStyle({
|
image: "${url}",
|
});
|
expect(style.image).toEqual(new Expression("${url}"));
|
|
style = new Cesium3DTileStyle({
|
image: "'url/to/image'",
|
});
|
expect(style.image).toEqual(new Expression("'url/to/image'"));
|
});
|
|
it("sets image value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'url/to/image1'"],
|
["true", "'url/to/image2'"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
image: jsonExp,
|
});
|
expect(style.image).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets image expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.image = "'url/to/image'";
|
expect(style.image).toEqual(new Expression("'url/to/image'"));
|
|
var exp = new Expression("'url/to/image'");
|
style.image = exp;
|
expect(style.image).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "'url/to/image1'"],
|
["true", "'url/to/image2'"],
|
],
|
});
|
|
style.image = condExp;
|
expect(style.image).toEqual(condExp);
|
|
style.image = undefined;
|
expect(style.image).toBeUndefined();
|
});
|
|
it("sets style.image expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.image = new Expression("'url/to/image'");
|
expect(style.style.image).toEqual("'url/to/image'");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'url/to/image1'"],
|
["true", "'url/to/image2'"],
|
],
|
};
|
|
style.image = new ConditionsExpression(jsonExp);
|
expect(style.style.image).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return "'url/to/image1'";
|
},
|
};
|
style.image = customExpression;
|
expect(style.style.image).toEqual(customExpression);
|
|
style.image = undefined;
|
expect(style.style.image).toBeUndefined();
|
});
|
|
it("sets image values in setter", function () {
|
var defines = {
|
targetUrl: "'url/to/image1'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.image = "'url/to/image'";
|
expect(style.image).toEqual(new Expression("'url/to/image'"));
|
|
style.image = "${targetUrl}";
|
expect(style.image).toEqual(new Expression("${targetUrl}", defines));
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'url/to/image2'"],
|
["true", "${targetUrl}"],
|
],
|
};
|
|
style.image = jsonExp;
|
expect(style.image).toEqual(new ConditionsExpression(jsonExp, defines));
|
});
|
|
it("sets style.image values in setter", function () {
|
var defines = {
|
targetUrl: "'url/to/image1'",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.image = "'url/to/image'";
|
expect(style.style.image).toEqual("'url/to/image'");
|
|
style.image = "${targetUrl}";
|
expect(style.style.image).toEqual("${targetUrl}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "'url/to/image2'"],
|
["true", "${targetUrl}"],
|
],
|
};
|
|
style.image = jsonExp;
|
expect(style.style.image).toEqual(jsonExp);
|
});
|
|
it("sets disableDepthTestDistance value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.disableDepthTestDistance).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.disableDepthTestDistance).toBeUndefined();
|
});
|
|
it("sets disableDepthTestDistance value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
disableDepthTestDistance: "2",
|
});
|
expect(style.disableDepthTestDistance).toEqual(new Expression("2"));
|
|
style = new Cesium3DTileStyle({
|
disableDepthTestDistance: "${height} / 10",
|
});
|
expect(style.disableDepthTestDistance).toEqual(
|
new Expression("${height} / 10")
|
);
|
|
style = new Cesium3DTileStyle({
|
disableDepthTestDistance: 2,
|
});
|
expect(style.disableDepthTestDistance).toEqual(new Expression("2"));
|
});
|
|
it("sets disableDepthTestDistance value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
disableDepthTestDistance: jsonExp,
|
});
|
expect(style.disableDepthTestDistance).toEqual(
|
new ConditionsExpression(jsonExp)
|
);
|
});
|
|
it("sets disableDepthTestDistance expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.disableDepthTestDistance = 2;
|
expect(style.disableDepthTestDistance).toEqual(new Expression("2"));
|
|
var exp = new Expression("2");
|
style.disableDepthTestDistance = exp;
|
expect(style.disableDepthTestDistance).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
});
|
|
style.disableDepthTestDistance = condExp;
|
expect(style.disableDepthTestDistance).toEqual(condExp);
|
|
style.disableDepthTestDistance = undefined;
|
expect(style.disableDepthTestDistance).toBeUndefined();
|
});
|
|
it("sets style.disableDepthTestDistance expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.disableDepthTestDistance = new Expression("2");
|
expect(style.style.disableDepthTestDistance).toEqual("2");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "2.0"],
|
],
|
};
|
|
style.disableDepthTestDistance = new ConditionsExpression(jsonExp);
|
expect(style.style.disableDepthTestDistance).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1.0;
|
},
|
};
|
style.disableDepthTestDistance = customExpression;
|
expect(style.style.disableDepthTestDistance).toEqual(customExpression);
|
|
style.disableDepthTestDistance = undefined;
|
expect(style.style.disableDepthTestDistance).toBeUndefined();
|
});
|
|
it("sets disableDepthTestDistance values in setter", function () {
|
var defines = {
|
targetDistance: "2.0",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.disableDepthTestDistance = 2;
|
expect(style.disableDepthTestDistance).toEqual(new Expression("2"));
|
|
style.disableDepthTestDistance = "${targetDistance} + 1.0";
|
expect(style.disableDepthTestDistance).toEqual(
|
new Expression("${targetDistance} + 1.0", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1.0"],
|
["true", "${targetDistance}"],
|
],
|
};
|
|
style.disableDepthTestDistance = jsonExp;
|
expect(style.disableDepthTestDistance).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets horizontalOrigin value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.horizontalOrigin).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.horizontalOrigin).toBeUndefined();
|
});
|
|
it("sets horizontalOrigin value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
horizontalOrigin: "1",
|
});
|
expect(style.horizontalOrigin).toEqual(new Expression("1"));
|
});
|
|
it("sets horizontalOrigin value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
horizontalOrigin: jsonExp,
|
});
|
expect(style.horizontalOrigin).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets horizontalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.horizontalOrigin = 1;
|
expect(style.horizontalOrigin).toEqual(new Expression("1"));
|
|
var exp = new Expression("1");
|
style.horizontalOrigin = exp;
|
expect(style.horizontalOrigin).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
});
|
|
style.horizontalOrigin = condExp;
|
expect(style.horizontalOrigin).toEqual(condExp);
|
|
style.horizontalOrigin = undefined;
|
expect(style.horizontalOrigin).toBeUndefined();
|
});
|
|
it("sets style.horizontalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.horizontalOrigin = new Expression("1");
|
expect(style.style.horizontalOrigin).toEqual("1");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
style.horizontalOrigin = new ConditionsExpression(jsonExp);
|
expect(style.style.horizontalOrigin).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.horizontalOrigin = customExpression;
|
expect(style.style.horizontalOrigin).toEqual(customExpression);
|
|
style.horizontalOrigin = undefined;
|
expect(style.style.horizontalOrigin).toBeUndefined();
|
});
|
|
it("sets horizontalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.horizontalOrigin = -1;
|
expect(style.horizontalOrigin).toEqual(new Expression("-1"));
|
|
style.horizontalOrigin = "${targetOrigin}";
|
expect(style.horizontalOrigin).toEqual(
|
new Expression("${targetOrigin}", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.horizontalOrigin = jsonExp;
|
expect(style.horizontalOrigin).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.horizontalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.horizontalOrigin = -1;
|
expect(style.style.horizontalOrigin).toEqual("-1");
|
|
style.horizontalOrigin = "${targetOrigin}";
|
expect(style.style.horizontalOrigin).toEqual("${targetOrigin}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.horizontalOrigin = jsonExp;
|
expect(style.style.horizontalOrigin).toEqual(jsonExp);
|
});
|
|
it("sets verticalOrigin value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.verticalOrigin).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.verticalOrigin).toBeUndefined();
|
});
|
|
it("sets verticalOrigin value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
verticalOrigin: "1",
|
});
|
expect(style.verticalOrigin).toEqual(new Expression("1"));
|
});
|
|
it("sets verticalOrigin value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
verticalOrigin: jsonExp,
|
});
|
expect(style.verticalOrigin).toEqual(new ConditionsExpression(jsonExp));
|
});
|
|
it("sets verticalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.verticalOrigin = 1;
|
expect(style.verticalOrigin).toEqual(new Expression("1"));
|
|
var exp = new Expression("1");
|
style.verticalOrigin = exp;
|
expect(style.verticalOrigin).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
});
|
|
style.verticalOrigin = condExp;
|
expect(style.verticalOrigin).toEqual(condExp);
|
|
style.verticalOrigin = undefined;
|
expect(style.verticalOrigin).toBeUndefined();
|
});
|
|
it("sets style.styleverticalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.verticalOrigin = new Expression("1");
|
expect(style.style.verticalOrigin).toEqual("1");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
style.verticalOrigin = new ConditionsExpression(jsonExp);
|
expect(style.style.verticalOrigin).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.verticalOrigin = customExpression;
|
expect(style.style.verticalOrigin).toEqual(customExpression);
|
|
style.verticalOrigin = undefined;
|
expect(style.style.verticalOrigin).toBeUndefined();
|
});
|
|
it("sets verticalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.verticalOrigin = -1;
|
expect(style.verticalOrigin).toEqual(new Expression("-1"));
|
|
style.verticalOrigin = "${targetOrigin}";
|
expect(style.verticalOrigin).toEqual(
|
new Expression("${targetOrigin}", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.verticalOrigin = jsonExp;
|
expect(style.verticalOrigin).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.verticalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.verticalOrigin = -1;
|
expect(style.style.verticalOrigin).toEqual("-1");
|
|
style.verticalOrigin = "${targetOrigin}";
|
expect(style.style.verticalOrigin).toEqual("${targetOrigin}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.verticalOrigin = jsonExp;
|
expect(style.style.verticalOrigin).toEqual(jsonExp);
|
});
|
|
it("sets labelHorizontalOrigin value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelHorizontalOrigin).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelHorizontalOrigin).toBeUndefined();
|
});
|
|
it("sets labelHorizontalOrigin value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelHorizontalOrigin: "1",
|
});
|
expect(style.labelHorizontalOrigin).toEqual(new Expression("1"));
|
});
|
|
it("sets labelHorizontalOrigin value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelHorizontalOrigin: jsonExp,
|
});
|
expect(style.labelHorizontalOrigin).toEqual(
|
new ConditionsExpression(jsonExp)
|
);
|
});
|
|
it("sets labelHorizontalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelHorizontalOrigin = 1;
|
expect(style.labelHorizontalOrigin).toEqual(new Expression("1"));
|
|
var exp = new Expression("1");
|
style.labelHorizontalOrigin = exp;
|
expect(style.labelHorizontalOrigin).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
});
|
|
style.labelHorizontalOrigin = condExp;
|
expect(style.labelHorizontalOrigin).toEqual(condExp);
|
|
style.labelHorizontalOrigin = undefined;
|
expect(style.labelHorizontalOrigin).toBeUndefined();
|
});
|
|
it("sets style.labelHorizontalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelHorizontalOrigin = new Expression("1");
|
expect(style.style.labelHorizontalOrigin).toEqual("1");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
style.labelHorizontalOrigin = new ConditionsExpression(jsonExp);
|
expect(style.style.labelHorizontalOrigin).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.labelHorizontalOrigin = customExpression;
|
expect(style.style.labelHorizontalOrigin).toEqual(customExpression);
|
|
style.labelHorizontalOrigin = undefined;
|
expect(style.style.labelHorizontalOrigin).toBeUndefined();
|
});
|
|
it("sets labelHorizontalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelHorizontalOrigin = -1;
|
expect(style.labelHorizontalOrigin).toEqual(new Expression("-1"));
|
|
style.labelHorizontalOrigin = "${targetOrigin}";
|
expect(style.labelHorizontalOrigin).toEqual(
|
new Expression("${targetOrigin}", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.labelHorizontalOrigin = jsonExp;
|
expect(style.labelHorizontalOrigin).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelHorizontalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelHorizontalOrigin = -1;
|
expect(style.style.labelHorizontalOrigin).toEqual("-1");
|
|
style.labelHorizontalOrigin = "${targetOrigin}";
|
expect(style.style.labelHorizontalOrigin).toEqual("${targetOrigin}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.labelHorizontalOrigin = jsonExp;
|
expect(style.style.labelHorizontalOrigin).toEqual(jsonExp);
|
});
|
|
it("sets labelVerticalOrigin value to undefined if value not present", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.labelVerticalOrigin).toBeUndefined();
|
|
style = new Cesium3DTileStyle();
|
expect(style.labelVerticalOrigin).toBeUndefined();
|
});
|
|
it("sets labelVerticalOrigin value to expression", function () {
|
var style = new Cesium3DTileStyle({
|
labelVerticalOrigin: "1",
|
});
|
expect(style.labelVerticalOrigin).toEqual(new Expression("1"));
|
});
|
|
it("sets labelVerticalOrigin value to conditional", function () {
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
var style = new Cesium3DTileStyle({
|
labelVerticalOrigin: jsonExp,
|
});
|
expect(style.labelVerticalOrigin).toEqual(
|
new ConditionsExpression(jsonExp)
|
);
|
});
|
|
it("sets labelVerticalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelVerticalOrigin = 1;
|
expect(style.labelVerticalOrigin).toEqual(new Expression("1"));
|
|
var exp = new Expression("1");
|
style.labelVerticalOrigin = exp;
|
expect(style.labelVerticalOrigin).toEqual(exp);
|
|
var condExp = new ConditionsExpression({
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
});
|
|
style.labelVerticalOrigin = condExp;
|
expect(style.labelVerticalOrigin).toEqual(condExp);
|
|
style.labelVerticalOrigin = undefined;
|
expect(style.labelVerticalOrigin).toBeUndefined();
|
});
|
|
it("sets style.labelVerticalOrigin expressions in setter", function () {
|
var style = new Cesium3DTileStyle();
|
|
style.labelVerticalOrigin = new Expression("1");
|
expect(style.style.labelVerticalOrigin).toEqual("1");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "-1"],
|
],
|
};
|
|
style.labelVerticalOrigin = new ConditionsExpression(jsonExp);
|
expect(style.style.labelVerticalOrigin).toEqual(jsonExp);
|
|
var customExpression = {
|
evaluate: function () {
|
return 1;
|
},
|
};
|
style.labelVerticalOrigin = customExpression;
|
expect(style.style.labelVerticalOrigin).toEqual(customExpression);
|
|
style.labelVerticalOrigin = undefined;
|
expect(style.style.labelVerticalOrigin).toBeUndefined();
|
});
|
|
it("sets labelVerticalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelVerticalOrigin = -1;
|
expect(style.labelVerticalOrigin).toEqual(new Expression("-1"));
|
|
style.labelVerticalOrigin = "${targetOrigin}";
|
expect(style.labelVerticalOrigin).toEqual(
|
new Expression("${targetOrigin}", defines)
|
);
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.labelVerticalOrigin = jsonExp;
|
expect(style.labelVerticalOrigin).toEqual(
|
new ConditionsExpression(jsonExp, defines)
|
);
|
});
|
|
it("sets style.labelVerticalOrigin values in setter", function () {
|
var defines = {
|
targetOrigin: "-1",
|
};
|
var style = new Cesium3DTileStyle({ defines: defines });
|
|
style.labelVerticalOrigin = -1;
|
expect(style.style.labelVerticalOrigin).toEqual("-1");
|
|
style.labelVerticalOrigin = "${targetOrigin}";
|
expect(style.style.labelVerticalOrigin).toEqual("${targetOrigin}");
|
|
var jsonExp = {
|
conditions: [
|
["${height} > 2", "1"],
|
["true", "${targetOrigin}"],
|
],
|
};
|
|
style.labelVerticalOrigin = jsonExp;
|
expect(style.style.labelVerticalOrigin).toEqual(jsonExp);
|
});
|
|
it("throws on accessing style if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.style;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing color if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.color;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing show if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.show;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing pointSize if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.pointSize;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing pointOutlineColor if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.pointOutlineColor;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing pointOutlineWidth if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.pointOutlineWidth;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelColor if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelColor;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelOutlineColor if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelOutlineColor;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelOutlineWidth if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelOutlineWidth;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing font if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.font;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelStyle if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelStyle;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelText if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelText;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing backgroundColor if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.backgroundColor;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing backgroundPadding if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.backgroundPadding;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing backgroundEnabled if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.backgroundEnabled;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing scaleByDistance if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.scaleByDistance;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing translucencyByDistance if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.translucencyByDistance;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing distanceDisplayCondition if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.distanceDisplayCondition;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing heightOffset if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.heightOffset;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing anchorLineEnabled if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.anchorLineEnabled;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing anchorLineColor if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.anchorLineColor;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing image if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.image;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing disableDepthTestDistance if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.disableDepthTestDistance;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing horizontalOrigin if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.horizontalOrigin;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing verticalOrigin if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.verticalOrigin;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelHorizontalOrigin if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelHorizontalOrigin;
|
}).toThrowDeveloperError();
|
});
|
|
it("throws on accessing labelVerticalOrigin if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.labelVerticalOrigin;
|
}).toThrowDeveloperError();
|
});
|
|
it("sets meta properties", function () {
|
var style = new Cesium3DTileStyle({
|
meta: {
|
description: '"Hello, ${name}"',
|
},
|
});
|
expect(style.meta.description.evaluate(feature1)).toEqual("Hello, Hello");
|
|
style = new Cesium3DTileStyle({
|
meta: {
|
featureColor: "rgb(${red}, ${green}, ${blue})",
|
volume: "${Height} * ${Width} * ${Depth}",
|
},
|
});
|
expect(style.meta.featureColor.evaluateColor(feature1)).toEqual(
|
Color.fromBytes(38, 255, 82)
|
);
|
expect(style.meta.volume.evaluate(feature1)).toEqual(20 * 20 * 100);
|
});
|
|
it("default meta has no properties", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.meta).toEqual({});
|
|
style = new Cesium3DTileStyle({
|
meta: {},
|
});
|
expect(style.meta).toEqual({});
|
});
|
|
it("default meta has no properties", function () {
|
var style = new Cesium3DTileStyle({});
|
expect(style.meta).toEqual({});
|
|
style = new Cesium3DTileStyle({
|
meta: {},
|
});
|
expect(style.meta).toEqual({});
|
});
|
|
it("throws on accessing meta if not ready", function () {
|
var style = new Cesium3DTileStyle({});
|
style._ready = false;
|
|
expect(function () {
|
return style.meta;
|
}).toThrowDeveloperError();
|
});
|
|
// Tests for examples from the style spec
|
|
it("applies default style", function () {
|
var style = new Cesium3DTileStyle({
|
show: "true",
|
color: "color('#ffffff')",
|
pointSize: "1.0",
|
});
|
|
expect(style.show.evaluate(undefined)).toEqual(true);
|
expect(style.color.evaluateColor(undefined)).toEqual(Color.WHITE);
|
expect(style.pointSize.evaluate(undefined)).toEqual(1.0);
|
});
|
|
it("applies show style with variable", function () {
|
var style = new Cesium3DTileStyle({
|
show: "${ZipCode} === '19341'",
|
});
|
|
expect(style.show.evaluate(feature1)).toEqual(true);
|
expect(style.show.evaluate(feature2)).toEqual(false);
|
});
|
|
it("applies show style with regexp and variables", function () {
|
var style = new Cesium3DTileStyle({
|
show: "(regExp('^Chest').test(${County})) && (${YearBuilt} >= 1970)",
|
});
|
|
expect(style.show.evaluate(feature1)).toEqual(true);
|
expect(style.show.evaluate(feature2)).toEqual(false);
|
});
|
|
it("applies show style with conditional", function () {
|
var style = new Cesium3DTileStyle({
|
show: {
|
conditions: [
|
["(${Height} >= 100.0)", "false"],
|
["(${Height} >= 70.0)", "true"],
|
["(${Height} >= 50.0)", "false"],
|
["(${Height} >= 30.0)", "true"],
|
["(${Height} >= 10.0)", "false"],
|
["(${Height} >= 1.0)", "true"],
|
],
|
},
|
});
|
expect(style.show.evaluate(feature1)).toEqual(false);
|
expect(style.show.evaluate(feature2)).toEqual(true);
|
});
|
|
it("applies color style variables", function () {
|
var style = new Cesium3DTileStyle({
|
color: "(${Temperature} > 90) ? color('red') : color('white')",
|
});
|
expect(style.color.evaluateColor(feature1)).toEqual(Color.WHITE);
|
expect(style.color.evaluateColor(feature2)).toEqual(Color.RED);
|
});
|
|
it("applies color style with new color", function () {
|
var style = new Cesium3DTileStyle({
|
color: "rgba(${red}, ${green}, ${blue}, (${volume} > 100 ? 0.5 : 1.0))",
|
});
|
expect(style.color.evaluateColor(feature1)).toEqual(
|
new Color(38 / 255, 255 / 255, 82 / 255, 0.5)
|
);
|
expect(style.color.evaluateColor(feature2)).toEqual(
|
new Color(255 / 255, 30 / 255, 30 / 255, 1.0)
|
);
|
});
|
|
it("applies color style that maps id to color", function () {
|
var style = new Cesium3DTileStyle({
|
defines: {
|
id: "regExp('^1(\\d)').exec(String(${id}))",
|
},
|
color: {
|
conditions: [
|
["${id} === '1'", "color('#FF0000')"],
|
["${id} === '2'", "color('#00FF00')"],
|
["true", "color('#FFFFFF')"],
|
],
|
},
|
});
|
expect(style.color.evaluateColor(feature1)).toEqual(Color.RED);
|
expect(style.color.evaluateColor(feature2)).toEqual(Color.LIME);
|
});
|
|
it("applies color style with conditional", function () {
|
var style = new Cesium3DTileStyle({
|
color: {
|
conditions: [
|
["(${Height} >= 100.0)", "color('#0000FF')"],
|
["(${Height} >= 70.0)", "color('#00FFFF')"],
|
["(${Height} >= 50.0)", "color('#00FF00')"],
|
["(${Height} >= 30.0)", "color('#FFFF00')"],
|
["(${Height} >= 10.0)", "color('#FF0000')"],
|
["(${Height} >= 1.0)", "color('#FF00FF')"],
|
],
|
},
|
});
|
expect(style.color.evaluateColor(feature1)).toEqual(Color.BLUE);
|
expect(style.color.evaluateColor(feature2)).toEqual(Color.YELLOW);
|
});
|
|
it("applies pointSize style with variable", function () {
|
var style = new Cesium3DTileStyle({
|
pointSize: "${Temperature} / 10.0",
|
});
|
|
expect(style.pointSize.evaluate(feature1)).toEqual(7.8);
|
expect(style.pointSize.evaluate(feature2)).toEqual(9.2);
|
});
|
|
it("applies pointSize style with regexp and variables", function () {
|
var style = new Cesium3DTileStyle({
|
pointSize: "(regExp('^Chest').test(${County})) ? 2.0 : 1.0",
|
});
|
|
expect(style.pointSize.evaluate(feature1)).toEqual(2.0);
|
expect(style.pointSize.evaluate(feature2)).toEqual(1.0);
|
});
|
|
it("applies pointSize style with conditional", function () {
|
var style = new Cesium3DTileStyle({
|
pointSize: {
|
conditions: [
|
["(${Height} >= 100.0)", "6"],
|
["(${Height} >= 70.0)", "5"],
|
["(${Height} >= 50.0)", "4"],
|
["(${Height} >= 30.0)", "3"],
|
["(${Height} >= 10.0)", "2"],
|
["(${Height} >= 1.0)", "1"],
|
],
|
},
|
});
|
expect(style.pointSize.evaluate(feature1)).toEqual(6);
|
expect(style.pointSize.evaluate(feature2)).toEqual(3);
|
});
|
|
it("applies with defines", function () {
|
var style = new Cesium3DTileStyle({
|
defines: {
|
halfHeight: "${Height} / 2",
|
quarterHeight: "${Height} / 4",
|
halfVolume: "${volume} / 2",
|
},
|
color: {
|
conditions: [
|
["(${halfHeight} >= 25.0)", "color('red')"],
|
["(${Height} >= 1.0)", "color('blue')"],
|
],
|
},
|
show: "(${quarterHeight} >= 20.0)",
|
pointSize: "${halfVolume} + ${halfHeight}",
|
meta: {
|
description: "'Half height is ' + ${halfHeight}",
|
},
|
});
|
|
expect(style.color.evaluateColor(feature1)).toEqual(Color.RED);
|
expect(style.color.evaluateColor(feature2)).toEqual(Color.BLUE);
|
expect(style.show.evaluate(feature1)).toEqual(true);
|
expect(style.show.evaluate(feature2)).toEqual(false);
|
expect(style.pointSize.evaluate(feature1)).toEqual(114);
|
expect(style.pointSize.evaluate(feature2)).toEqual(44);
|
expect(style.meta.description.evaluate(feature1)).toEqual(
|
"Half height is 50"
|
);
|
expect(style.meta.description.evaluate(feature2)).toEqual(
|
"Half height is 19"
|
);
|
});
|
|
it("return undefined shader functions when the style is empty", function () {
|
// The default color style is white, the default show style is true, and the default pointSize is 1.0,
|
// but the generated generated shader functions should just be undefined. We don't want all the points to be white.
|
var style = new Cesium3DTileStyle({});
|
var colorFunction = style.getColorShaderFunction("getColor", {}, {});
|
var showFunction = style.getShowShaderFunction("getShow", {}, {});
|
var pointSizeFunction = style.getPointSizeShaderFunction(
|
"getPointSize",
|
{},
|
{}
|
);
|
expect(colorFunction).toBeUndefined();
|
expect(showFunction).toBeUndefined();
|
expect(pointSizeFunction).toBeUndefined();
|
});
|
|
it("gets variables", function () {
|
var style = new Cesium3DTileStyle({
|
pointSize: {
|
conditions: [
|
["(${Height} >= 100.0)", "6"],
|
["true", "${PointSize}"],
|
],
|
},
|
color: "${Height} * color('red')",
|
show: "${Floors} > 10",
|
});
|
|
var variables = style.getVariables();
|
expect(variables.sort()).toEqual(["Floors", "Height", "PointSize"]);
|
});
|
});
|