You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2017/01/18 01:56:41 UTC
[24/50] [abbrv] cordova-lib git commit: CB-12018: updated custom
jasmine matcher toExist
CB-12018: updated custom jasmine matcher toExist
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/1fa012f3
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/1fa012f3
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/1fa012f3
Branch: refs/heads/fetch-1.0.x
Commit: 1fa012f32c73e75b6de12a2d391326433005287a
Parents: 0e0d7a5
Author: Steve Gill <st...@gmail.com>
Authored: Thu Dec 15 22:52:29 2016 -0800
Committer: audreyso <au...@adobe.com>
Committed: Tue Jan 10 11:14:05 2017 -0800
----------------------------------------------------------------------
cordova-lib/spec-cordova/HooksRunner.spec.js | 2 +-
cordova-lib/spec-cordova/helpers.js | 21 ++++--
cordova-lib/spec-plugman/install.spec.js | 69 ++++++++++---------
cordova-lib/spec-plugman/uninstall.spec.js | 81 ++++++++++++-----------
4 files changed, 94 insertions(+), 79 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/1fa012f3/cordova-lib/spec-cordova/HooksRunner.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/HooksRunner.spec.js b/cordova-lib/spec-cordova/HooksRunner.spec.js
index 367c436..697787d 100644
--- a/cordova-lib/spec-cordova/HooksRunner.spec.js
+++ b/cordova-lib/spec-cordova/HooksRunner.spec.js
@@ -444,7 +444,7 @@ describe('HooksRunner', function() {
// Delete unique ids to allow comparing PluginInfo
delete androidPluginOpts.plugin.pluginInfo._et;
- fire.calls.forEach(function(call) {
+ fire.calls.all().forEach(function(call) {
if(call.args[1] && call.args[1].plugin) {
// Delete unique ids to allow comparing PluginInfo
delete call.args[1].plugin.pluginInfo._et;
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/1fa012f3/cordova-lib/spec-cordova/helpers.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/helpers.js b/cordova-lib/spec-cordova/helpers.js
index 257f4bd..e77078a 100644
--- a/cordova-lib/spec-cordova/helpers.js
+++ b/cordova-lib/spec-cordova/helpers.js
@@ -150,14 +150,21 @@ module.exports.writeConfigContent = function (appPath, configContent) {
beforeEach(function () {
jasmine.addMatchers({
'toExist': function () {
- var notText = this.isNot ? ' not' : '';
- var self = this;
+ return {
+ compare: function(actual, expected) {
+ var result = {};
- this.message = function () {
- return 'Expected file ' + self.actual + notText + ' to exist.';
- };
+ result.pass = fs.existsSync(actual);
- return fs.existsSync(this.actual);
+ if(result.pass) {
+ result.message = "expected " + actual + " to not exist";
+ } else {
+ result.message = "expected " + actual + " to exist";
+ }
+
+ return result;
+ }
+ }
}
});
-});
\ No newline at end of file
+});
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/1fa012f3/cordova-lib/spec-plugman/install.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/install.spec.js b/cordova-lib/spec-plugman/install.spec.js
index 49c09cc..d3af713 100644
--- a/cordova-lib/spec-plugman/install.spec.js
+++ b/cordova-lib/spec-plugman/install.spec.js
@@ -239,7 +239,6 @@ describe('install', function() {
it('should call fetch if provided plugin cannot be resolved locally', function() {
fetchSpy.and.returnValue( Q( plugins['org.test.plugins.dummyplugin'] ) );
spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
-
runs(function() {
installPromise(install('android', project, 'CLEANYOURSHORTS' ));
});
@@ -249,7 +248,8 @@ describe('install', function() {
expect(fetchSpy).toHaveBeenCalled();
});
});
- it('should call fetch and convert oldID to newID', function() {
+
+ it('should call fetch and convert oldID to newID', function(done) {
fetchSpy.and.returnValue( Q( plugins['org.test.plugins.dummyplugin'] ) );
spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
var emit = spyOn(events, 'emit');
@@ -263,7 +263,6 @@ describe('install', function() {
expect(fetchSpy).toHaveBeenCalled();
});
});
-
describe('engine versions', function () {
var fail, satisfies;
beforeEach(function () {
@@ -345,13 +344,14 @@ describe('install', function() {
it('should not check custom engine version that is not supported for platform', function() {
var spy = spyOn(semver, 'satisfies').and.returnValue(true);
- runs(function() {
- installPromise( install('blackberry10', project, plugins['com.cordova.engine']) );
- });
- waitsFor(function() { return done; }, 'install promise never resolved', 200);
- runs(function() {
+ install('blackberry10', project, plugins['com.cordova.engine']).then(function(done) {
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
expect(spy).not.toHaveBeenCalledWith('','>=3.0.0');
- });
+ done();
+ }, 6000);
});
describe('with dependencies', function() {
@@ -479,14 +479,15 @@ describe('install', function() {
});
describe('failure', function() {
- it('should throw if platform is unrecognized', function() {
- runs(function() {
- installPromise( install('atari', project, 'SomePlugin') );
- });
- waitsFor(function() { return done; }, 'install promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('atari not supported.');
- });
+ it('should throw if platform is unrecognized', function(done) {
+ install('atari', project, 'SomePlugin').then(function() {
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toContain('atari not supported.');
+ done();
+ }, 6000);
});
it('should throw if variables are missing', function(done) {
var success = jasmine.createSpy('success');
@@ -494,38 +495,40 @@ describe('install', function() {
install('android', project, plugins['com.adobe.vars'])
.then(success)
.fail(function (err) {
- expect(err).toContain('Variable(s) missing: API_KEY');
+ expect(err.toString()).toContain('Variable(s) missing: API_KEY');
})
.fin(function () {
expect(success).not.toHaveBeenCalled();
done();
});
});
- it('should throw if git is not found on the path and a remote url is requested', function() {
+ it('should throw if git is not found on the path and a remote url is requested', function(done) {
spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
fetchSpy.and.callThrough();
spyOn(shell, 'which').and.returnValue(null);
- runs(function() {
- installPromise( install('android', project, 'https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git') );
- });
- waitsFor(function(){ return done; }, 'install promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('"git" command line tool is not installed: make sure it is accessible on your PATH.');
+ install('android', project, 'https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git').then(function(result) {
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toContain('"git" command line tool is not installed: make sure it is accessible on your PATH.');
+ done();
});
- });
+ }, 6000);
+
it('should not fail when trying to install plugin less than minimum version. Skip instead ', function(){
spyOn(semver, 'satisfies').and.returnValue(false);
exec.and.callFake(function(cmd, cb) {
cb(null, '0.0.1\n');
});
- runs(function() {
- installPromise( install('android', project, plugins['com.cordova.engine']) );
+ install('android', project, plugins['com.cordova.engine']).then(function(result) {
+ expect(false).toBe(true);
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toMatch(true);
});
- waitsFor(function(){ return done; }, 'install promise never resolved', 200);
- runs(function() {
- expect(''+done).toMatch(true);
- });
- });
+ }, 6000);
+
it('should throw if the engine scriptSrc escapes out of the plugin dir.', function(done) {
var success = jasmine.createSpy('success'),
fail = jasmine.createSpy('fail').and.callFake(function(err) {
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/1fa012f3/cordova-lib/spec-plugman/uninstall.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/uninstall.spec.js b/cordova-lib/spec-plugman/uninstall.spec.js
index fe1e96c..95e0b2b 100644
--- a/cordova-lib/spec-plugman/uninstall.spec.js
+++ b/cordova-lib/spec-plugman/uninstall.spec.js
@@ -177,12 +177,12 @@ describe('uninstallPlatform', function() {
.fin(done);
});
- describe('with dependencies', function() {
+ describe('with dependencies', function() {
var emit;
beforeEach(function() {
emit = spyOn(events, 'emit');
});
- it('should uninstall "dangling" dependencies', function() {
+ it('should uninstall "dangling" dependencies', function(done) {
runs(function() {
uninstallPromise(uninstall.uninstallPlatform('android', project, 'A'));
});
@@ -195,24 +195,27 @@ describe('uninstallPlatform', function() {
});
describe('failure', function() {
- it('should throw if platform is unrecognized', function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlatform('atari', project, 'SomePlugin') );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('atari not supported.');
- });
- });
- it('should throw if plugin is missing', function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlatform('android', project, 'SomePluginThatDoesntExist') );
+ it('should throw if platform is unrecognized', function(done) {
+ uninstall.uninstallPlatform('atari', project, 'SomePlugin').then(function(result){
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toContain('atari not supported.');
+ done();
});
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
+ }, 6000);
+
+ it('should throw if plugin is missing', function(done) {
+ uninstall.uninstallPlatform('android', project, 'SomePluginThatDoesntExist').then(function(result){
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
+ done();
});
- });
+ }, 6000);
});
});
@@ -244,7 +247,7 @@ describe('uninstallPlugin', function() {
});
});
- it('should fail if plugin is a required dependency', function() {
+ it('should fail if plugin is a required dependency', function(done) {
runs(function() {
uninstallPromise( uninstall.uninstallPlugin('C', plugins_install_dir) );
});
@@ -281,7 +284,7 @@ describe('uninstallPlugin', function() {
});
});
- it('should not remove dependent plugin if it was installed after as top-level', function() {
+ it('should not remove dependent plugin if it was installed after as top-level', function(done) {
runs(function() {
uninstallPromise( uninstall.uninstallPlugin('A', plugins_install_dir3) );
});
@@ -308,31 +311,34 @@ describe('uninstall', function() {
});
describe('failure', function() {
- it('should throw if platform is unrecognized', function() {
- runs(function() {
- uninstallPromise(uninstall('atari', project, 'SomePlugin'));
+ it('should throw if platform is unrecognized', function(done) {
+ uninstall('atari', project, 'SomePlugin').then(function(result){
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(clone).toHaveBeenCalledWith(url, temp, dir, ref, undefined);
+ expect(save_metadata).toHaveBeenCalled();
+ done();
});
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('atari not supported.');
- });
- });
- it('should throw if plugin is missing', function() {
- runs(function() {
- uninstallPromise(uninstall('android', project, 'SomePluginThatDoesntExist'));
+ }, 6000);
+
+ it('should throw if plugin is missing', function(done) {
+ uninstall('android', project, 'SomePluginThatDoesntExist').then(function(result){
+ expect(false).toBe(true);
+ done();
+ },
+ function err(errMsg) {
+ expect(errMsg.toString()).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
+ done();
});
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
- });
- });
+ }, 6000);
});
});
describe('end', function() {
it('end', function() {
done = false;
-
promise.then(function(){
return uninstall('android', project, plugins['org.test.plugins.dummyplugin']);
}).then(function(){
@@ -350,7 +356,6 @@ describe('end', function() {
shell.rm('-rf', project, project2, project3);
done = true;
});
-
waitsFor(function() { return done; }, 'promise never resolved', 500);
});
});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org