2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.UI.Specs {
|
2017-05-04 23:19:28 +00:00
|
|
|
describe("UITools", function () {
|
2017-05-16 23:12:05 +00:00
|
|
|
describe("in UI", function () {
|
|
|
|
let testgame = setupEmptyView();
|
2017-02-21 22:38:31 +00:00
|
|
|
|
2017-10-01 18:16:41 +00:00
|
|
|
it("destroys children", function () {
|
|
|
|
let parent = testgame.baseview.add.group();
|
|
|
|
let child1 = testgame.baseview.add.graphics(0, 0, parent);
|
|
|
|
let child2 = testgame.baseview.add.image(0, 0, "", 0, parent);
|
|
|
|
let child3 = testgame.baseview.add.button(0, 0, "", undefined, undefined, undefined, undefined, undefined, undefined, parent);
|
|
|
|
let child4 = testgame.baseview.add.text(0, 0, "", {}, parent);
|
|
|
|
expect(parent.children.length).toBe(4);
|
|
|
|
|
|
|
|
destroyChildren(parent, 1, 2);
|
|
|
|
expect(parent.children.length).toBe(2);
|
|
|
|
|
|
|
|
destroyChildren(parent);
|
|
|
|
expect(parent.children.length).toBe(0);
|
|
|
|
});
|
|
|
|
|
2017-05-16 23:12:05 +00:00
|
|
|
it("keeps objects inside bounds", function () {
|
|
|
|
let image = testgame.baseview.add.graphics(150, 100);
|
|
|
|
image.beginFill(0xff0000);
|
|
|
|
image.drawEllipse(50, 25, 50, 25);
|
|
|
|
image.endFill();
|
2017-03-15 21:40:19 +00:00
|
|
|
|
2017-05-16 23:12:05 +00:00
|
|
|
UITools.keepInside(image, { x: 0, y: 0, width: 200, height: 200 });
|
2017-03-15 21:40:19 +00:00
|
|
|
|
2017-05-16 23:12:05 +00:00
|
|
|
expect(image.x).toBe(100);
|
|
|
|
expect(image.y).toBe(100);
|
|
|
|
});
|
2017-03-15 21:40:19 +00:00
|
|
|
});
|
|
|
|
|
2017-01-19 00:17:24 +00:00
|
|
|
it("normalizes angles", function () {
|
2017-05-04 23:19:28 +00:00
|
|
|
expect(UITools.normalizeAngle(0)).toEqual(0);
|
|
|
|
expect(UITools.normalizeAngle(0.1)).toBeCloseTo(0.1, 0.000001);
|
|
|
|
expect(UITools.normalizeAngle(Math.PI)).toBeCloseTo(Math.PI, 0.000001);
|
|
|
|
expect(UITools.normalizeAngle(Math.PI + 0.5)).toBeCloseTo(-Math.PI + 0.5, 0.000001);
|
|
|
|
expect(UITools.normalizeAngle(-Math.PI)).toBeCloseTo(Math.PI, 0.000001);
|
|
|
|
expect(UITools.normalizeAngle(-Math.PI - 0.5)).toBeCloseTo(Math.PI - 0.5, 0.000001);
|
2015-01-26 00:00:00 +00:00
|
|
|
});
|
2017-01-19 00:17:24 +00:00
|
|
|
|
2017-05-16 23:12:05 +00:00
|
|
|
it("spaces items evenly", function () {
|
|
|
|
expect(UITools.evenlySpace(100, 20, 0)).toEqual([]);
|
|
|
|
expect(UITools.evenlySpace(100, 20, 1)).toEqual([50]);
|
|
|
|
expect(UITools.evenlySpace(100, 20, 2)).toEqual([25, 75]);
|
|
|
|
expect(UITools.evenlySpace(100, 20, 5)).toEqual([10, 30, 50, 70, 90]);
|
|
|
|
expect(UITools.evenlySpace(100, 20, 6)).toEqual([10, 26, 42, 58, 74, 90]);
|
2017-01-19 00:17:24 +00:00
|
|
|
});
|
2015-01-26 00:00:00 +00:00
|
|
|
});
|
|
|
|
}
|