You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2013/10/09 02:02:25 UTC

[1/2] git commit: CB-4983 plugin name check

Updated Branches:
  refs/heads/master 64ce537dd -> 399f63d26


CB-4983 plugin name check


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

Branch: refs/heads/master
Commit: a7361c1a7d9b7f5f0f7e3dc6153d23f2c863435c
Parents: f240acc
Author: Anis Kadri <an...@apache.org>
Authored: Tue Oct 8 17:02:13 2013 -0700
Committer: Anis Kadri <an...@apache.org>
Committed: Tue Oct 8 17:02:13 2013 -0700

----------------------------------------------------------------------
 spec/registry/registry.spec.js | 29 ++++++++++++++++++++---------
 src/registry/manifest.js       |  6 +++---
 2 files changed, 23 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a7361c1a/spec/registry/registry.spec.js
----------------------------------------------------------------------
diff --git a/spec/registry/registry.spec.js b/spec/registry/registry.spec.js
index 5cb8386..1f42ae5 100644
--- a/spec/registry/registry.spec.js
+++ b/spec/registry/registry.spec.js
@@ -3,28 +3,39 @@ var registry = require('../../src/registry/registry'),
     fs = require('fs'),
     path = require('path'),
     Q = require('q'),
+    shell   = require('shelljs'),
+    os = require('os'),
     npm = require('npm');
 
 describe('registry', function() {
     describe('manifest', function() {
-        var pluginDir, packageJson;
+        var pluginDir, packageJson, tmp_plugin, tmp_plugin_xml, tmp_package_json;
         beforeEach(function() {
             pluginDir = __dirname + '/../plugins/EnginePlugin';
-            packageJson = path.resolve(pluginDir, 'package.json');
+            tmp_plugin = os.tmpdir() + 'plugin';
+            tmp_plugin_xml = path.join(tmp_plugin, 'plugin.xml');
+            tmp_package_json = path.join(tmp_plugin, 'package.json');
+            shell.cp('-R', pluginDir+"/*", tmp_plugin);
         });
         afterEach(function() {
-            fs.unlink(packageJson);
-            
+            shell.rm('-rf', tmp_plugin);
         });
         it('should generate a package.json from a plugin.xml', function() {
-            manifest.generatePackageJsonFromPluginXml(pluginDir);
-            expect(fs.existsSync(packageJson));
-            expect(JSON.parse(fs.readFileSync(packageJson)).name).toEqual('com.cordova.engine');
-            expect(JSON.parse(fs.readFileSync(packageJson)).version).toEqual('1.0.0');
-            expect(JSON.parse(fs.readFileSync(packageJson)).engines).toEqual(
+            manifest.generatePackageJsonFromPluginXml(tmp_plugin);
+            expect(fs.existsSync(tmp_package_json));
+            var packageJson = JSON.parse(fs.readFileSync(tmp_package_json));
+            expect(packageJson.name).toEqual('com.cordova.engine');
+            expect(packageJson.version).toEqual('1.0.0');
+            expect(packageJson.engines).toEqual(
                 [ { name : 'cordova', version : '>=2.3.0' }, { name : 'cordova-plugman', version : '>=0.10.0' }, { name : 'mega-fun-plugin', version : '>=1.0.0' }, { name : 'mega-boring-plugin', version : '>=3.0.0' } ]
             );
         });
+        it('should raise an error if name does not follow com.domain.* format', function() {
+            var xmlData = fs.readFileSync(tmp_plugin_xml).toString().replace('id="com.cordova.engine"', 'id="engine"');
+            fs.writeFileSync(tmp_plugin_xml, xmlData);
+            manifest.generatePackageJsonFromPluginXml(tmp_plugin);
+            expect(!fs.existsSync(tmp_package_json));
+        });
     });
     describe('actions', function() {
         var done, fakeLoad, fakeNPMCommands;

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a7361c1a/src/registry/manifest.js
----------------------------------------------------------------------
diff --git a/src/registry/manifest.js b/src/registry/manifest.js
index 139a748..dfe265f 100644
--- a/src/registry/manifest.js
+++ b/src/registry/manifest.js
@@ -31,9 +31,9 @@ function generatePackageJsonFromPluginXml(plugin_path) {
 
     if(!name) return Q.reject(new Error('`name` is required'));
 
-    if(!name.match(/^\w+|-*$/))
-        return Q.reject(new Error('`name` can only contain alphanumberic characters and -'));
-
+    if(!name.match(/^(\w+\.){2,}.*$/))
+        return Q.reject(new Error('`name` has to follow com.domain.plugin format'));
+    
     package_json.name = name.toLowerCase();
 
     if(cordova_name) package_json.cordova_name = cordova_name;


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cordova-plugman

Posted by an...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cordova-plugman


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

Branch: refs/heads/master
Commit: 399f63d26257293c0b9fe30b4df11e6b6fc212e7
Parents: a7361c1 64ce537
Author: Anis Kadri <an...@apache.org>
Authored: Tue Oct 8 17:02:16 2013 -0700
Committer: Anis Kadri <an...@apache.org>
Committed: Tue Oct 8 17:02:16 2013 -0700

----------------------------------------------------------------------
 spec/plugins/VariablePlugin/plugin.xml |  3 +++
 spec/util/config-changes.spec.js       | 10 ++++++++++
 src/util/config-changes.js             |  3 ++-
 3 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------