From b731e2f1dd0972409b136aebc7b463dd72c9cfad Mon Sep 17 00:00:00 2001 From: CNlucius Date: Tue, 13 Sep 2016 11:40:12 +0800 Subject: ONOSFW-171 O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius --- .../main/webapp/tests/app/fw/svg/geodata-spec.js | 159 --------------------- 1 file changed, 159 deletions(-) delete mode 100644 framework/src/onos/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js (limited to 'framework/src/onos/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js') diff --git a/framework/src/onos/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js b/framework/src/onos/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js deleted file mode 100644 index ccf4782f..00000000 --- a/framework/src/onos/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js +++ /dev/null @@ -1,159 +0,0 @@ -/* - * 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 -- SVG -- GeoData Service - Unit Tests - */ -describe('factory: fw/svg/geodata.js', function() { - var $log, $httpBackend, fs, gds, promise; - - beforeEach(module('onosUtil', 'onosSvg')); - - beforeEach(inject(function (_$log_, _$httpBackend_, FnService, GeoDataService) { - $log = _$log_; - $httpBackend = _$httpBackend_; - fs = FnService; - gds = GeoDataService; - gds.clearCache(); - })); - - - it('should define GeoDataService', function () { - expect(gds).toBeDefined(); - }); - - it('should define api functions', function () { - expect(fs.areFunctions(gds, [ - 'clearCache', 'fetchTopoData', 'createPathGenerator' - ])).toBeTruthy(); - }); - - it('should return null when no parameters given', function () { - promise = gds.fetchTopoData(); - expect(promise).toBeNull(); - }); - - it('should augment the id of a bundled map', function () { - var id = '*foo'; - promise = gds.fetchTopoData(id); - expect(promise.meta).toBeDefined(); - expect(promise.meta.id).toBe(id); - expect(promise.meta.url).toBe('data/map/foo.json'); - }); - - it('should treat an external id as the url itself', function () { - var id = 'some/path/to/foo'; - promise = gds.fetchTopoData(id); - expect(promise.meta).toBeDefined(); - expect(promise.meta.id).toBe(id); - expect(promise.meta.url).toBe(id + '.json'); - }); - - it('should cache the returned objects', function () { - var id = 'foo'; - promise = gds.fetchTopoData(id); - expect(promise).toBeDefined(); - expect(promise.meta.wasCached).toBeFalsy(); - expect(promise.tagged).toBeUndefined(); - - promise.tagged = 'I woz here'; - - promise = gds.fetchTopoData(id); - expect(promise).toBeDefined(); - expect(promise.meta.wasCached).toBeTruthy(); - expect(promise.tagged).toEqual('I woz here'); - }); - - it('should clear the cache when asked', function () { - var id = 'foo'; - promise = gds.fetchTopoData(id); - expect(promise.meta.wasCached).toBeFalsy(); - - promise = gds.fetchTopoData(id); - expect(promise.meta.wasCached).toBeTruthy(); - - gds.clearCache(); - promise = gds.fetchTopoData(id); - expect(promise.meta.wasCached).toBeFalsy(); - }); - - - it('should log a warning if data fails to load', function () { - var id = 'foo'; - $httpBackend.expectGET('foo.json').respond(404, 'Not found'); - spyOn($log, 'warn'); - - promise = gds.fetchTopoData(id); - $httpBackend.flush(); - expect(promise.topodata).toBeUndefined(); - expect($log.warn) - .toHaveBeenCalledWith('Failed to retrieve map TopoJSON data: foo.json', - 404, 'Not found'); - }); - - // --- path generator tests - - function simpleTopology(object) { - return { - type: "Topology", - transform: {scale: [1, 1], translate: [0, 0]}, - objects: {states: object}, - arcs: [ - [[0, 0], [1, 0], [0, 1], [-1, 0], [0, -1]], - [[0, 0], [1, 0], [0, 1]], - [[1, 1], [-1, 0], [0, -1]], - [[1, 1]], - [[0, 0]] - ] - }; - } - - function simpleLineStringTopo() { - return simpleTopology({type: "LineString", arcs: [1, 2]}); - } - - it('should use default settings if none are supplied', function () { - var gen = gds.createPathGenerator(simpleLineStringTopo()); - expect(gen.settings.objectTag).toBe('states'); - expect(gen.settings.logicalSize).toBe(1000); - expect(gen.settings.mapFillScale).toBe(.95); - // best we can do for now is test that projection is a function ... - expect(fs.isF(gen.settings.projection)).toBeTruthy(); - }); - - it('should allow us to override default settings', function () { - var gen = gds.createPathGenerator(simpleLineStringTopo(), { - mapFillScale: .80 - }); - expect(gen.settings.objectTag).toBe('states'); - expect(gen.settings.logicalSize).toBe(1000); - expect(gen.settings.mapFillScale).toBe(.80); - }); - - it('should create transformed geodata, and a path generator', function () { - var gen = gds.createPathGenerator(simpleLineStringTopo()); - expect(fs.isO(gen.settings)).toBeTruthy(); - expect(fs.isO(gen.geodata)).toBeTruthy(); - expect(fs.isF(gen.pathgen)).toBeTruthy(); - }); - // NOTE: we probably should have more unit tests that assert stuff about - // the transformed data (geo data) -- though perhaps we can rely on - // the unit testing of TopoJSON? See... - // https://github.com/mbostock/topojson/blob/master/test/feature-test.js - // and, what about the path generator?, and the computed bounds? - // In summary, more work should be done here.. - -}); -- cgit 1.2.3-korg