You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

267 lines
8.6 KiB
JavaScript

import { Check } from "../../Source/Cesium.js";
describe("Core/Check", function () {
describe("type checks", function () {
it("Check.typeOf.bool does not throw when passed a boolean", function () {
expect(function () {
Check.typeOf.bool("bool", true);
}).not.toThrowDeveloperError();
});
it("Check.typeOf.bool throws when passed a non-boolean", function () {
expect(function () {
Check.typeOf.bool("mockName", {});
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.bool("mockName", []);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.bool("mockName", 1);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.bool("mockName", "snth");
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.bool("mockName", function () {
return true;
});
}).toThrowDeveloperError();
});
it("Check.typeOf.func does not throw when passed a function", function () {
expect(function () {
Check.typeOf.func("mockName", function () {
return true;
});
}).not.toThrowDeveloperError();
});
it("Check.typeOf.func throws when passed a non-function", function () {
expect(function () {
Check.typeOf.func("mockName", {});
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.func("mockName", [2]);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.func("mockName", 1);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.func("mockName", "snth");
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.func("mockName", true);
}).toThrowDeveloperError();
});
it("Check.typeOf.object does not throw when passed object", function () {
expect(function () {
Check.typeOf.object("mockName", {});
}).not.toThrowDeveloperError();
});
it("Check.typeOf.object throws when passed non-object", function () {
expect(function () {
Check.typeOf.object("mockName", "snth");
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.object("mockName", true);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.object("mockName", 1);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.object("mockName", function () {
return true;
});
}).toThrowDeveloperError();
});
it("Check.typeOf.number does not throw when passed number", function () {
expect(function () {
Check.typeOf.number("mockName", 2);
}).not.toThrowDeveloperError();
});
it("Check.typeOf.number throws when passed non-number", function () {
expect(function () {
Check.typeOf.number("mockName", "snth");
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number("mockName", true);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number("mockName", {});
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number("mockName", [2]);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number("mockName", function () {
return true;
});
}).toThrowDeveloperError();
});
it("Check.typeOf.string does not throw when passed a string", function () {
expect(function () {
Check.typeOf.string("mockName", "s");
}).not.toThrowDeveloperError();
});
it("Check.typeOf.string throws on non-string", function () {
expect(function () {
Check.typeOf.string("mockName", {});
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.string("mockName", true);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.string("mockName", 1);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.string("mockName", [2]);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.string("mockName", function () {
return true;
});
}).toThrowDeveloperError();
});
});
describe("Check.defined", function () {
it("does not throw unless passed value that is undefined or null", function () {
expect(function () {
Check.defined("mockName", {});
}).not.toThrowDeveloperError();
expect(function () {
Check.defined("mockName", []);
}).not.toThrowDeveloperError();
expect(function () {
Check.defined("mockName", 2);
}).not.toThrowDeveloperError();
expect(function () {
Check.defined("mockName", function () {
return true;
});
}).not.toThrowDeveloperError();
expect(function () {
Check.defined("mockName", "snt");
}).not.toThrowDeveloperError();
});
it("throws when passed undefined", function () {
expect(function () {
Check.defined("mockName", undefined);
}).toThrowDeveloperError();
});
});
describe("Check.typeOf.number.lessThan", function () {
it("throws if test is equal to limit", function () {
expect(function () {
Check.typeOf.number.lessThan("mockName", 3, 3);
}).toThrowDeveloperError();
});
it("throws if test is greater than limit", function () {
expect(function () {
Check.typeOf.number.lessThan("mockName", 4, 3);
}).toThrowDeveloperError();
});
it("does not throw if test is less than limit", function () {
expect(function () {
Check.typeOf.number.lessThan("mockName", 2, 3);
}).not.toThrowDeveloperError();
});
});
describe("Check.typeOf.number.lessThanOrEquals", function () {
it("throws if test is greater than limit", function () {
expect(function () {
Check.typeOf.number.lessThanOrEquals("mockName", 4, 3);
}).toThrowDeveloperError();
});
it("does not throw if test is equal to limit", function () {
expect(function () {
Check.typeOf.number.lessThanOrEquals("mockName", 3, 3);
}).not.toThrowDeveloperError();
});
it("does not throw if test is less than limit", function () {
expect(function () {
Check.typeOf.number.lessThanOrEquals("mockName", 2, 3);
}).not.toThrowDeveloperError();
});
});
describe("Check.typeOf.number.equals", function () {
it("throws if either value is not a number", function () {
expect(function () {
Check.typeOf.number.equals("mockName1", "mockname2", "a", 3);
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number.equals("mockName1", "mockname2", 3, "a");
}).toThrowDeveloperError();
expect(function () {
Check.typeOf.number.equals("mockName1", "mockname2", "b", "a");
}).toThrowDeveloperError();
});
it("throws if both the values are a number but not equal", function () {
expect(function () {
Check.typeOf.number.equals("mockName1", "mockName2", 1, 4);
}).toThrowDeveloperError();
});
it("does not throw if both values are a number and are equal", function () {
expect(function () {
Check.typeOf.number.equal("mockName1", "mockName2", 3, 3);
}).not.toThrowDeveloperError();
});
});
describe("Check.typeOf.number.greaterThan", function () {
it("throws if test is equal to limit", function () {
expect(function () {
Check.typeOf.number.greaterThan("mockName", 3, 3);
}).toThrowDeveloperError();
});
it("throws if test is less than limit", function () {
expect(function () {
Check.typeOf.number.greaterThan("mockName", 2, 3);
}).toThrowDeveloperError();
});
it("does not throw if test is greater than limit", function () {
expect(function () {
Check.typeOf.number.greaterThan("mockName", 4, 3);
}).not.toThrowDeveloperError();
});
});
describe("Check.typeOf.number.greaterThanOrEquals", function () {
it("throws if test is less than limit", function () {
expect(function () {
Check.typeOf.number.greaterThanOrEquals("mockName", 2, 3);
}).toThrowDeveloperError();
});
it("does not throw if test is equal to limit", function () {
expect(function () {
Check.typeOf.number.greaterThanOrEquals("mockName", 3, 3);
}).not.toThrowDeveloperError();
});
it("does not throw if test is greater than limit", function () {
expect(function () {
Check.typeOf.number.greaterThanOrEquals("mockName", 4, 3);
}).not.toThrowDeveloperError();
});
});
});