From e2af1e85a1a599c8c0ca0fed39798cc1718e1c88 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 24 Feb 2015 11:54:41 -0800 Subject: [PATCH] [Fixed Position] Add spec for LineHandle Add tests for handles for positioning end point of lines in fixed position view, WTD-882. --- .../layout/test/elements/LineHandleSpec.js | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 platform/features/layout/test/elements/LineHandleSpec.js diff --git a/platform/features/layout/test/elements/LineHandleSpec.js b/platform/features/layout/test/elements/LineHandleSpec.js new file mode 100644 index 0000000000..c9049f81b9 --- /dev/null +++ b/platform/features/layout/test/elements/LineHandleSpec.js @@ -0,0 +1,53 @@ +/*global define,describe,it,expect,beforeEach,jasmine,xit*/ + +define( + ['../../src/elements/LineHandle'], + function (LineHandle) { + "use strict"; + + describe("A fixed position drag handle", function () { + var testElement, + handle; + + beforeEach(function () { + testElement = { + x: 3, + y: 42, + x2: 8, + y2: 11 + }; + + handle = new LineHandle(testElement, 'x', 'y', 'x2', 'y2'); + }); + + it("provides x/y grid coordinates for its corner", function () { + expect(handle.x()).toEqual(3); + expect(handle.y()).toEqual(42); + }); + + it("changes x and y positions", function () { + handle.x(30); + expect(testElement.x).toEqual(30); + handle.y(40); + expect(testElement.y).toEqual(40); + }); + + it("disallows values less than zero", function () { + handle.x(-1); + handle.y(-400); + expect(testElement.x).toEqual(0); + expect(testElement.y).toEqual(0); + }); + + it("ensures that end points remain different", function () { + handle.x(testElement.x2); + handle.y(testElement.y2); + // First change should have been fine, because y was different + expect(testElement.x).toEqual(testElement.x2); + // Second change should have been rejected + expect(testElement.y).not.toEqual(testElement.y2); + }); + + }); + } +); \ No newline at end of file