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/04/29 19:19:56 UTC
git commit: a couple of config uninstallation specs and a plugin
interpolation for uninstallation fix for config-handler.
Updated Branches:
refs/heads/master 58f57120f -> a4184091d
a couple of config uninstallation specs and a plugin interpolation for uninstallation fix for config-handler.
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/a4184091
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/a4184091
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/a4184091
Branch: refs/heads/master
Commit: a4184091dd640918b5033d11c439e20518773d44
Parents: 58f5712
Author: Fil Maj <ma...@gmail.com>
Authored: Mon Apr 29 10:19:55 2013 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Mon Apr 29 10:19:55 2013 -0700
----------------------------------------------------------------------
spec/util/config-changes.spec.js | 28 +++++++++++++++++++++++++++-
src/util/config-changes.js | 4 ++--
2 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a4184091/spec/util/config-changes.spec.js
----------------------------------------------------------------------
diff --git a/spec/util/config-changes.spec.js b/spec/util/config-changes.spec.js
index 1c2b27a..d9b29c8 100644
--- a/spec/util/config-changes.spec.js
+++ b/spec/util/config-changes.spec.js
@@ -299,8 +299,34 @@ describe('config-changes module', function() {
describe(': uninstallation', function() {
it('should call pruneXML for every config munge it completely removes from the app (every leaf that is decremented to 0)', function() {
+ shell.cp('-rf', android_two_project, temp);
+ // Run through an "install"
+ configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
+ configChanges.process(plugins_dir, temp, 'android');
+
+ // Now set up an uninstall and make sure prunexml is called properly
+ configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android');
+ var spy = spyOn(xml_helpers, 'pruneXML').andReturn(true);
+ configChanges.process(plugins_dir, temp, 'android');
+ expect(spy.calls.length).toEqual(2);
+ expect(spy.argsForCall[0][2]).toEqual('/manifest/application');
+ expect(spy.argsForCall[1][2]).toEqual('/cordova/plugins');
});
- it('should call pruneXML with variables to interpolate if applicable', function() {
+ it('should generate a config munge that interpolates variables into config changes, if applicable', function() {
+ shell.cp('-rf', android_two_project, temp);
+ shell.cp('-rf', varplugin, plugins_dir);
+ // Run through an "install"
+ configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"canucks"});
+ configChanges.process(plugins_dir, temp, 'android');
+
+ // Now set up an uninstall and make sure prunexml is called properly
+ configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android');
+ var spy = spyOn(configChanges, 'generate_plugin_config_munge').andReturn({});
+ configChanges.process(plugins_dir, temp, 'android');
+ var munge_params = spy.mostRecentCall.args;
+ expect(munge_params[0]).toEqual(path.join(plugins_dir, 'VariablePlugin'));
+ expect(munge_params[1]).toEqual('android');
+ expect(munge_params[2]['API_KEY']).toEqual('canucks');
});
it('should not call pruneXML for a config munge that another plugin depends on', function() {
});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a4184091/src/util/config-changes.js
----------------------------------------------------------------------
diff --git a/src/util/config-changes.js b/src/util/config-changes.js
index 534c8d3..e6b9963 100644
--- a/src/util/config-changes.js
+++ b/src/util/config-changes.js
@@ -123,7 +123,7 @@ module.exports = {
platform_config.prepare_queue.uninstalled.forEach(function(u) {
var plugin_dir = path.join(plugins_dir, u.plugin);
var plugin_id = u.id;
- var plugin_vars = platform_config.installed_plugins[plugin_id].vars;
+ var plugin_vars = platform_config.installed_plugins[plugin_id];
// get config munge, aka how did this plugin change various config files
var config_munge = module.exports.generate_plugin_config_munge(plugin_dir, platform, plugin_vars);
@@ -254,7 +254,7 @@ module.exports = {
platform_config.config_munge = global_munge;
// Move to installed_plugins
- platform_config.installed_plugins[plugin_id] = plugin_vars;
+ platform_config.installed_plugins[plugin_id] = plugin_vars || {};
});
// Empty out installed queue.