You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/06/05 19:40:03 UTC

git commit: Added a few prepare specs regarding plugman integration.

Updated Branches:
  refs/heads/master2 50858af5e -> ccecc1313


Added a few prepare specs regarding plugman integration.


Project: http://git-wip-us.apache.org/repos/asf/cordova-cli/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-cli/commit/ccecc131
Tree: http://git-wip-us.apache.org/repos/asf/cordova-cli/tree/ccecc131
Diff: http://git-wip-us.apache.org/repos/asf/cordova-cli/diff/ccecc131

Branch: refs/heads/master2
Commit: ccecc1313233c07577535e26bf84d81b1a159eff
Parents: 50858af
Author: Fil Maj <ma...@gmail.com>
Authored: Wed Jun 5 10:39:56 2013 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Wed Jun 5 10:39:56 2013 -0700

----------------------------------------------------------------------
 spec/cordova-cli/prepare.spec.js |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/ccecc131/spec/cordova-cli/prepare.spec.js
----------------------------------------------------------------------
diff --git a/spec/cordova-cli/prepare.spec.js b/spec/cordova-cli/prepare.spec.js
index da77935..b420024 100644
--- a/spec/cordova-cli/prepare.spec.js
+++ b/spec/cordova-cli/prepare.spec.js
@@ -19,11 +19,13 @@
 var cordova = require('../../cordova'),
     et = require('elementtree'),
     shell = require('shelljs'),
+    plugman = require('plugman'),
     path = require('path'),
     fs = require('fs'),
     config_parser = require('../../src/config_parser'),
     hooker = require('../../src/hooker'),
     fixtures = path.join(__dirname, '..', 'fixtures'),
+    test_plugin = path.join(fixtures, 'plugins', 'android'),
     hooks = path.join(fixtures, 'hooks'),
     tempDir = path.join(__dirname, '..', '..', 'temp'),
     cordova_project = path.join(fixtures, 'projects', 'cordova');
@@ -76,6 +78,37 @@ describe('prepare command', function() {
         }).toThrow();
     });
 
+    describe('plugman integration', function() {
+        beforeEach(function() {
+            shell.cp('-Rf', path.join(cordova_project, 'platforms', 'android'), path.join(tempDir, 'platforms'));
+            process.chdir(tempDir);
+        });
+        afterEach(function() {
+            process.chdir(cwd);
+        });
+
+        it('should invoke plugman.prepare after update_project', function() {
+            var a_parser_spy = spyOn(android_parser.prototype, 'update_project');
+            var prep_spy = spyOn(plugman, 'prepare');
+            cordova.prepare();
+            a_parser_spy.mostRecentCall.args[1](); // fake out android_parser
+            var android_path = path.join(tempDir, 'platforms', 'android');
+            var plugins_dir = path.join(tempDir, 'plugins');
+            expect(prep_spy).toHaveBeenCalledWith(android_path, 'android', plugins_dir);
+        });
+        it('should invoke add_plugin_changes for any added plugins to verify configuration changes for plugins are in place', function() {
+            var platform_path  = path.join(tempDir, 'platforms', 'android');
+            var plugins_dir = path.join(tempDir, 'plugins');
+            plugman.install('android', platform_path, test_plugin, plugins_dir, {});
+            var a_parser_spy = spyOn(android_parser.prototype, 'update_project');
+            var prep_spy = spyOn(plugman, 'prepare');
+            var plugin_changes_spy = spyOn(plugman.config_changes, 'add_plugin_changes');
+            cordova.prepare();
+            a_parser_spy.mostRecentCall.args[1](); // fake out android_parser
+            expect(plugin_changes_spy).toHaveBeenCalledWith('android', platform_path, plugins_dir, 'ca.filmaj.AndroidPlugin', {PACKAGE_NAME:"org.apache.cordova.cordovaExample"}, true, false); 
+        });
+    });
+
     describe('hooks', function() {
         var s;
         beforeEach(function() {