From 46e524a3b680af32580590e5668dcf87969ffd05 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Mon, 4 Jan 2016 14:25:43 -0800 Subject: [PATCH] [Common UI] Begin testing mct-splitter WTD-1400 --- .../test/directives/MCTSplitterSpec.js | 80 +++++++++++++++++++ platform/commonUI/general/test/suite.json | 1 + 2 files changed, 81 insertions(+) create mode 100644 platform/commonUI/general/test/directives/MCTSplitterSpec.js diff --git a/platform/commonUI/general/test/directives/MCTSplitterSpec.js b/platform/commonUI/general/test/directives/MCTSplitterSpec.js new file mode 100644 index 0000000000..f95c082905 --- /dev/null +++ b/platform/commonUI/general/test/directives/MCTSplitterSpec.js @@ -0,0 +1,80 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../../src/directives/MCTSplitter"], + function (MCTSplitter) { + 'use strict'; + + describe("The mct-splitter directive", function () { + var mctSplitter; + + beforeEach(function () { + mctSplitter = new MCTSplitter(); + }); + + it("is applicable to elements", function () { + expect(mctSplitter.restrict).toEqual("E"); + }); + + it("depends on the mct-split-pane controller", function () { + expect(mctSplitter.require).toEqual("^mctSplitPane"); + }); + + describe("when linked", function () { + var mockScope, + mockElement, + testAttrs, + mockSplitPane; + + beforeEach(function () { + mockScope = jasmine.createSpyObj( + '$scope', + [ '$on', '$watch' ] + ); + mockElement = jasmine.createSpyObj( + 'element', + [ 'addClass' ] + ); + testAttrs = {}; + mockSplitPane = jasmine.createSpyObj( + 'mctSplitPane', + [ 'position', 'toggleClass', 'anchor' ] + ); + + mctSplitter.link( + mockScope, + mockElement, + testAttrs, + mockSplitPane + ); + }); + + it("adds a splitter class", function () { + expect(mockElement.addClass) + .toHaveBeenCalledWith('splitter'); + }); + }); + }); + } +); diff --git a/platform/commonUI/general/test/suite.json b/platform/commonUI/general/test/suite.json index 0ab51dad68..5f3cf8bc64 100644 --- a/platform/commonUI/general/test/suite.json +++ b/platform/commonUI/general/test/suite.json @@ -19,6 +19,7 @@ "directives/MCTResize", "directives/MCTScroll", "directives/MCTSplitPane", + "directives/MCTSplitter", "services/Popup", "services/PopupService", "services/UrlService",