From c0a1e0a0d4885cbe8526b10b3387714b2f8db045 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 28 Jan 2015 16:43:18 -0800 Subject: [PATCH] [Browse] Add spec for SplitPaneController Add unit test for controller which supports the moveable splitter in Browse mode, WTD-747. --- .../controllers/SplitPaneControllerSpec.js | 46 +++++++++++++++++++ platform/commonUI/general/test/suite.json | 1 + 2 files changed, 47 insertions(+) create mode 100644 platform/commonUI/general/test/controllers/SplitPaneControllerSpec.js diff --git a/platform/commonUI/general/test/controllers/SplitPaneControllerSpec.js b/platform/commonUI/general/test/controllers/SplitPaneControllerSpec.js new file mode 100644 index 0000000000..03b65dac62 --- /dev/null +++ b/platform/commonUI/general/test/controllers/SplitPaneControllerSpec.js @@ -0,0 +1,46 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../../src/controllers/SplitPaneController"], + function (SplitPaneController) { + "use strict"; + + describe("The split pane controller", function () { + var controller; + + beforeEach(function () { + controller = new SplitPaneController(); + }); + + it("has an initial position", function () { + expect(controller.state() > 0).toBeTruthy(); + }); + + it("can be moved", function () { + var initialState = controller.state(); + controller.startMove(); + controller.move(50); + expect(controller.state()).toEqual(initialState + 50); + }); + + it("clamps its position", function () { + var initialState = controller.state(); + controller.startMove(); + // Move some really extreme number + controller.move(-100000); + // Shouldn't have moved below 0... + expect(controller.state() > 0).toBeTruthy(); + // ...but should have moved left somewhere + expect(controller.state() < initialState).toBeTruthy(); + + // Then do the same to the right + controller.move(100000); + // Shouldn't have moved below 0... + expect(controller.state() < 100000).toBeTruthy(); + // ...but should have moved left somewhere + expect(controller.state() > initialState).toBeTruthy(); + }); + + }); + } +); \ No newline at end of file diff --git a/platform/commonUI/general/test/suite.json b/platform/commonUI/general/test/suite.json index 0aa52f1503..ae3a54f37b 100644 --- a/platform/commonUI/general/test/suite.json +++ b/platform/commonUI/general/test/suite.json @@ -4,6 +4,7 @@ "controllers/ClickAwayController", "controllers/ContextMenuController", "controllers/GetterSetterController", + "controllers/SplitPaneController", "controllers/ToggleController", "controllers/TreeNodeController", "controllers/ViewSwitcherController",