GUI -- TopoView - added skeleton topoFilter.js (WIP)
- fixed broken unit tests.
Change-Id: Ibeb85d2724d460b7e681ea2b247e5429ba3d5d7e
diff --git a/web/gui/src/main/webapp/app/index.html b/web/gui/src/main/webapp/app/index.html
index 3b05d23..f6e2be7 100644
--- a/web/gui/src/main/webapp/app/index.html
+++ b/web/gui/src/main/webapp/app/index.html
@@ -81,6 +81,7 @@
<script src="view/sample/sample.js"></script>
<script src="view/topo/topo.js"></script>
<script src="view/topo/topoEvent.js"></script>
+ <script src="view/topo/topoFilter.js"></script>
<script src="view/topo/topoForce.js"></script>
<script src="view/topo/topoInst.js"></script>
<script src="view/topo/topoModel.js"></script>
diff --git a/web/gui/src/main/webapp/app/view/topo/topoFilter.js b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
new file mode 100644
index 0000000..eba31ae
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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.
+ */
+
+/*
+ ONOS GUI -- Topology layer filtering Module.
+ Provides functionality to visually differentiate between the packet and
+ optical layers of the topology.
+ */
+
+(function () {
+ 'use strict';
+
+ // injected refs
+ var $log, fs, flash, tps, tts;
+
+ // api to topoForce
+ var api;
+ /*
+ node() // get ref to D3 selection of nodes
+ */
+
+ // internal state
+
+
+ // === -----------------------------------------------------
+ // === MODULE DEFINITION ===
+
+ angular.module('ovTopo')
+ .factory('TopoFilterService',
+ ['$log', 'FnService',
+ 'FlashService',
+ 'TopoPanelService',
+ 'TopoTrafficService',
+
+ function (_$log_, _fs_, _flash_, _tps_, _tts_) {
+ $log = _$log_;
+ fs = _fs_;
+ flash = _flash_;
+ tps = _tps_;
+ tts = _tts_;
+
+ function initFilter(_api_) {
+ api = _api_;
+ }
+
+ function destroyFilter() { }
+
+ return {
+ initFilter: initFilter,
+ destroyFilter: destroyFilter
+ };
+ }]);
+}());
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
index 6fb1a60..e2b4868 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
@@ -40,14 +40,15 @@
it('should define api functions', function () {
expect(fs.areFunctions(sus, [
- 'createDragBehavior', 'loadGlow', 'cat7', 'translate', 'stripPx',
- 'safeId', 'visible'
+ 'createDragBehavior', 'loadGlowDefs', 'cat7',
+ 'translate',
+ 'stripPx', 'safeId', 'visible'
])).toBeTruthy();
});
// TODO: add unit tests for drag behavior
- // TODO: add unit tests for loadGlow
+ // TODO: add unit tests for loadGlowDefs
// === cat7
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js
new file mode 100644
index 0000000..983469c
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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.
+ */
+
+/*
+ ONOS GUI -- Topo View -- Topo Filter Service - Unit Tests
+ */
+describe('factory: view/topo/topoFilter.js', function() {
+ var $log, fs, filter;
+
+ beforeEach(module('ovTopo', 'onosUtil', 'onosLayer'));
+
+ beforeEach(inject(function (_$log_, FnService, TopoFilterService) {
+ $log = _$log_;
+ fs = FnService;
+ filter = TopoFilterService;
+ }));
+
+ it('should define TopoFilterService', function () {
+ expect(filter).toBeDefined();
+ });
+
+ it('should define api functions', function () {
+ expect(fs.areFunctions(filter, [
+ 'initFilter', 'destroyFilter'
+ ])).toBeTruthy();
+ });
+
+ // TODO: more tests...
+});
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
index 546f2f9..17a0d09 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
@@ -37,7 +37,7 @@
'initForce', 'newDim', 'destroyForce',
'updateDeviceColors', 'toggleHosts', 'toggleOffline',
- 'cycleDeviceLabels', 'unpin',
+ 'cycleDeviceLabels', 'unpin', 'showMastership',
'addDevice', 'updateDevice', 'removeDevice',
'addHost', 'updateHost', 'removeHost',
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
index 8eefc4a..a6a1265 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
@@ -36,7 +36,8 @@
expect(fs.areFunctions(tis, [
'initInst', 'destroyInst',
'addInstance', 'updateInstance', 'removeInstance',
- 'isVisible', 'show', 'hide', 'toggle'
+ 'cancelAffinity',
+ 'isVisible', 'show', 'hide', 'toggle', 'showMaster'
])).toBeTruthy();
});