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 2012/11/28 19:16:23 UTC
[14/50] git commit: added "remove all access elements" functionality
to config_parser. added whitelist support to blackberry
added "remove all access elements" functionality to config_parser. added whitelist support to blackberry
Project: http://git-wip-us.apache.org/repos/asf/cordova-cli/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-cli/commit/bc4ad3f9
Tree: http://git-wip-us.apache.org/repos/asf/cordova-cli/tree/bc4ad3f9
Diff: http://git-wip-us.apache.org/repos/asf/cordova-cli/diff/bc4ad3f9
Branch: refs/heads/master
Commit: bc4ad3f902feeaa41426f4b66f37c014e73f1fd4
Parents: 9e7b777
Author: Fil Maj <ma...@gmail.com>
Authored: Tue Nov 6 12:59:27 2012 -0800
Committer: Fil Maj <ma...@gmail.com>
Committed: Tue Nov 6 12:59:27 2012 -0800
----------------------------------------------------------------------
spec/config_parser.spec.js | 6 ++++++
spec/metadata/blackberry_parser.spec.js | 11 +++++++++++
src/config_parser.js | 5 ++++-
src/metadata/android_parser.js | 4 +---
src/metadata/blackberry_parser.js | 5 +++++
5 files changed, 27 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/bc4ad3f9/spec/config_parser.spec.js
----------------------------------------------------------------------
diff --git a/spec/config_parser.spec.js b/spec/config_parser.spec.js
index 1791beb..b2727ff 100644
--- a/spec/config_parser.spec.js
+++ b/spec/config_parser.spec.js
@@ -97,6 +97,12 @@ describe('config.xml parser', function () {
cfg.access.add('http://cordova.io');
expect(fs.readFileSync(xml, 'utf-8')).toMatch(/<access origin="http:\/\/cordova\.io/);
});
+ it('should allow removing all access elements when no parameter is specified', function() {
+ cfg.access.add('http://cordova.io');
+ cfg.access.remove();
+
+ expect(fs.readFileSync(xml, 'utf-8')).not.toMatch(/<access.*\/>/);
+ });
});
});
});
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/bc4ad3f9/spec/metadata/blackberry_parser.spec.js
----------------------------------------------------------------------
diff --git a/spec/metadata/blackberry_parser.spec.js b/spec/metadata/blackberry_parser.spec.js
index e7ffeed..bfd7bc8 100644
--- a/spec/metadata/blackberry_parser.spec.js
+++ b/spec/metadata/blackberry_parser.spec.js
@@ -60,6 +60,17 @@ describe('blackberry project parser', function() {
var bb_cfg = new config_parser(blackberry_config);
expect(bb_cfg.packageName()).toBe('sofa.king.awesome');
});
+ it('should update the whitelist properly', function() {
+ config.access.remove('*');
+ config.access.add('http://blackberry.com');
+ config.access.add('http://rim.com');
+ project.update_from_config(config);
+
+ var bb_cfg = new config_parser(blackberry_config);
+ expect(bb_cfg.access.get().length).toEqual(2);
+ expect(bb_cfg.access.get()[0]).toEqual('http://blackberry.com');
+ expect(bb_cfg.access.get()[1]).toEqual('http://rim.com');
+ });
});
describe('update_www method', function() {
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/bc4ad3f9/src/config_parser.js
----------------------------------------------------------------------
diff --git a/src/config_parser.js b/src/config_parser.js
index ecd12e5..49aa2a4 100644
--- a/src/config_parser.js
+++ b/src/config_parser.js
@@ -38,7 +38,10 @@ access.prototype = {
},
remove:function(uri) {
var self = this;
- this.config.doc.findall('access[@origin="' + uri + '"]').forEach(function(a) {
+ var els = [];
+ if (uri) els = this.config.doc.findall('access[@origin="' + uri + '"]');
+ else els = this.config.doc.findall('access');
+ els.forEach(function(a) {
self.config.doc.getroot().remove(0, a);
});
this.config.update();
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/bc4ad3f9/src/metadata/android_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/android_parser.js b/src/metadata/android_parser.js
index f49cc8d..fae804f 100644
--- a/src/metadata/android_parser.js
+++ b/src/metadata/android_parser.js
@@ -45,9 +45,7 @@ module.exports.prototype = {
// Update whitelist by changing res/xml/config.xml
var android_cfg_xml = new config_parser(this.android_config);
// clean out all existing access elements first
- android_cfg_xml.access.get().forEach(function(uri) {
- android_cfg_xml.access.remove(uri);
- });
+ android_cfg_xml.access.remove();
// add only the ones specified in the www/config.xml file
config.access.get().forEach(function(uri) {
android_cfg_xml.access.add(uri);
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/bc4ad3f9/src/metadata/blackberry_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/blackberry_parser.js b/src/metadata/blackberry_parser.js
index d6cf21f..cfc3262 100644
--- a/src/metadata/blackberry_parser.js
+++ b/src/metadata/blackberry_parser.js
@@ -21,6 +21,11 @@ module.exports.prototype = {
this.xml.name(config.name());
this.xml.packageName(config.packageName());
+ this.xml.access.remove();
+ var self = this;
+ config.access.get().forEach(function(uri) {
+ self.xml.access.add(uri);
+ });
},
update_project:function(cfg, callback) {
this.update_from_config(cfg);