[ https://issues.apache.org/jira/browse/CB-12361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16104070#comment-16104070 ]
ASF GitHub Bot commented on CB-12361: ------------------------------------- Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/579#discussion_r129981636 --- Diff: spec/cordova/platform/save.spec.js --- @@ -0,0 +1,71 @@ +/** + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. +*/ + +var Q = require('q'); +var rewire = require('rewire'); +var platform_save = rewire('../../../src/cordova/platform/save'); +var platform_metadata = require('../../../src/cordova/platform_metadata'); +var fail; +var semver = require('semver'); + +describe('cordova/platform/save', function () { + var hooks_mock; + var projectRoot = '/some/path'; + var cfg_parser_mock = function () {}; + var cfg_parser_revert_mock; + + beforeEach(function () { + spyOn(semver, 'valid'); + cfg_parser_mock.prototype = jasmine.createSpyObj('config parser mock', ['write', 'removeEngine', 'addEngine','getEngines']); + cfg_parser_revert_mock = platform_save.__set__('ConfigParser', cfg_parser_mock); + cfg_parser_mock.prototype.getEngines.and.returnValue(['android']); + }); + + afterEach(function () { + cfg_parser_revert_mock(); + }); + + it('should first remove platforms already in config.xml', function (done) { + platform_save(hooks_mock, projectRoot, {save : true}) + .then(function(res){ + expect(cfg_parser_mock.prototype.getEngines).toHaveBeenCalled(); + expect(cfg_parser_mock.prototype.removeEngine).toHaveBeenCalled(); + }).fail(function (err) { + fail('unexpected failure handler invoked!'); + console.error(err); + }).done(done); + }); + + it('add and write to config.xml', function (done) { + spyOn(platform_metadata, 'getPlatformVersions').and.returnValue(Q(['6.3.0'])); --- End diff -- so getPlatformVersions returns in the format of `{platform: platform, version: version}`. So instead of returning `Q([6.3.0])`, you could return `Q({platform: 'android', version: 6.3.0})`. That way the first argument for line 58 won't be undefined. > Speed up cordova-lib tests > -------------------------- > > Key: CB-12361 > URL: https://issues.apache.org/jira/browse/CB-12361 > Project: Apache Cordova > Issue Type: Improvement > Components: cordova-lib > Reporter: Steve Gill > Assignee: Steve Gill > Labels: cordova-next > > * Split out e2e tests into own folder > * stub i/o and network requests > * use local fixtures when possible & makes sense -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org