You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2016/08/19 06:36:54 UTC

[1/2] cordova-lib git commit: CB-9825 framework tag spec parsing

Repository: cordova-lib
Updated Branches:
  refs/heads/master bef308869 -> 3b38b5382


CB-9825 framework tag spec parsing

Tests for cocoapod integration for plugins
Tests for conflicting spec dependency


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

Branch: refs/heads/master
Commit: 4353e10473ecd5d4b8b10b39ca60cc20d508be14
Parents: bef3088
Author: juliascript <ju...@gmail.com>
Authored: Fri Jul 1 11:42:45 2016 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Thu Aug 18 23:20:28 2016 -0700

----------------------------------------------------------------------
 .../plugin.xml                                  |  15 +++
 .../www/test.js                                 |   0
 .../plugin.xml                                  |  14 +++
 .../www/test.js                                 |   0
 cordova-lib/spec-cordova/platform.spec.js       | 114 +++++++++++++++++++
 cordova-lib/src/cordova/util.js                 |   2 +-
 6 files changed, 144 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/plugin.xml b/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/plugin.xml
new file mode 100644
index 0000000..ec193d0
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/plugin.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="sample-cocoapod-plugin-overlapping-dependency"
+    version="1.1.3-dev">
+
+    <name>Test Plugin</name>
+
+    <asset src="www/test.js" target="test.js" />
+    <platform name="ios">
+        <framework src="AFNetworking" spec="~> 2.0" weak="false" type="podspec"/>
+        <framework src="CWStatusBarNotification" weak="false" type="podpsec"/>
+    </platform>
+</plugin>
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/www/test.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/www/test.js b/cordova-lib/spec-cordova/fixtures/plugins/sample-cocoapod-plugin-overlapping-dependency/www/test.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/plugin.xml b/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/plugin.xml
new file mode 100644
index 0000000..6ea800f
--- /dev/null
+++ b/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/plugin.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="sample-cordova-plugin-cocoapod-dependent"
+    version="1.1.3-dev">
+
+    <name>Test Plugin</name>
+
+    <asset src="www/test.js" target="test.js" />
+    <platform name="ios">
+        <framework src="AFNetworking" spec="~> 3.0" weak="false" type="podspec"/>
+    </platform>
+</plugin>
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/www/test.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/www/test.js b/cordova-lib/spec-cordova/fixtures/plugins/sample-cordova-plugin-cocoapod-dependent/www/test.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/spec-cordova/platform.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/platform.spec.js b/cordova-lib/spec-cordova/platform.spec.js
index a944a24..fffe5ce 100644
--- a/cordova-lib/spec-cordova/platform.spec.js
+++ b/cordova-lib/spec-cordova/platform.spec.js
@@ -356,3 +356,117 @@ describe('plugin add and rm end-to-end --fetch', function () {
         .fin(done);
     }, 60000);
 });
+
+describe('cocoapod plugin add and rm end-to-end', function () {
+
+    var tmpDir = helpers.tmpDir('cocoapod_plugin_test');
+    var project = path.join(tmpDir, 'hello4');
+
+    var samplePlugin = path.join(__dirname, 'fixtures', 'plugins', 'sample-cordova-plugin-cocoapod-dependent');
+    var overlappingDependencyPlugin = path.join(__dirname, 'fixtures', 'plugins', 'sample-cocoapod-plugin-overlapping-dependency');
+    var AFNetworking = 'AFNetworking',
+        CWStatusBarNotification = 'CWStatusBarNotification';
+    var podfile, podsJSON, workspace;
+
+    beforeEach(function() {
+        process.chdir(tmpDir);
+    });
+
+    afterEach(function() {
+        process.chdir(path.join(__dirname, '..'));  // Needed to rm the dir on Windows.
+        shell.rm('-rf', tmpDir);
+    });
+
+    it('installs and uninstalls plugin depending on new pod and existing pod', function(done) {
+
+        cordova.raw.create('hello4')
+        .then(function() {
+            process.chdir(project);
+            //TODO: change this to cordova-ios on npm 
+            return cordova.raw.platform('add', 'https://github.com/juliascript/cordova-ios.git#CB-9825');
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', samplePlugin);
+        })
+        .then(function() {
+            podfile = path.resolve('./platforms/ios/Podfile');
+            podsJSON = path.resolve('./platforms/ios/pods.json');
+            workspace = path.resolve('./platforms/ios/HelloCordova.xcworkspace');
+
+            //podfile should have been created
+            fs.exists(podfile, function(podfileExists){
+                expect(podfileExists);
+            });
+
+            //pods.json should have been created
+            fs.exists(podsJSON, function(podsJSONExists){
+                expect(podsJSONExists);
+            });
+
+            //workspace should have been created
+            fs.exists(workspace, function(workspaceCreated){
+                expect(workspaceCreated);
+            });
+
+            var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'});
+            expect(podfileContent.includes(AFNetworking));
+
+            var podsJSONContent = require(podsJSON);
+            expect(podsJSONContent[AFNetworking] !== null);
+
+            return cordova.raw.plugin('add', overlappingDependencyPlugin);
+        })
+        .then(function() {
+            var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
+            var numberOfTimesAFNetworkingIsInPodfile = podfileContent.match(/AFNetworking/g || []).length;
+
+            expect(podfileContent.includes(CWStatusBarNotification));
+            expect(numberOfTimesAFNetworkingIsInPodfile).toEqual(1); 
+
+            delete require.cache[require.resolve(podsJSON)];
+            var podsJSONContent = require(podsJSON);
+            var countPropertyOfAFNetworkingInPodsJSON = podsJSONContent[AFNetworking].count;
+            var specPropertyOfAFNetworkingInPodsJSON = podsJSONContent[AFNetworking].spec;
+
+            expect(countPropertyOfAFNetworkingInPodsJSON).toEqual(2);
+            //spec property should not be changed because of overlapping dependency
+            expect(specPropertyOfAFNetworkingInPodsJSON).toEqual('~> 3.0');
+
+            return cordova.raw.plugin('rm','sample-cocoapod-plugin-overlapping-dependency');
+        })
+        .then(function() {
+            //expect only AFNetworking
+            var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
+
+            expect(podfileContent.includes(CWStatusBarNotification)).toBe(false);
+            expect(podfileContent.includes(AFNetworking));
+  
+            delete require.cache[require.resolve(podsJSON)];
+            var podsJSONContent = require(podsJSON);
+
+            expect(podsJSONContent[AFNetworking]);
+            expect(podsJSONContent[CWStatusBarNotification] === undefined);
+
+            return cordova.raw.plugin('rm', 'sample-cordova-plugin-cocoapod-dependent');
+        })
+        .then(function() {
+            //expect no pods 
+            delete require.cache[require.resolve(podfile)];
+            var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
+
+            expect(podfileContent.includes(CWStatusBarNotification)).toBe(false);
+            expect(podfileContent.includes(AFNetworking)).toBe(false);
+
+            delete require.cache[require.resolve(podsJSON)];
+            var podsJSONContent = require(podsJSON);
+
+            expect(podsJSONContent[AFNetworking] === undefined);
+            expect(podsJSONContent[CWStatusBarNotification] === undefined);
+        })
+        .fail(function(err) {
+            console.error(err);
+            expect(err).toBeUndefined();
+        })
+        .fin(done);
+    }, 60000); 
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/4353e104/cordova-lib/src/cordova/util.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/util.js b/cordova-lib/src/cordova/util.js
index e617e08..1dffcd8 100644
--- a/cordova-lib/src/cordova/util.js
+++ b/cordova-lib/src/cordova/util.js
@@ -416,4 +416,4 @@ function getAvailableNpmVersions(module_name) {
             return result[Object.keys(result)[0]].versions;
         });
     });
-}
\ No newline at end of file
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[2/2] cordova-lib git commit: CB-9825 - Fixes for node 0.10 and 0.12, point test to apache cordova-ios repo

Posted by sh...@apache.org.
CB-9825 - Fixes for node 0.10 and 0.12, point test to apache cordova-ios repo

This closes #467, closes #481


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

Branch: refs/heads/master
Commit: 3b38b5382b9a52d1fe522514b61d3ebd6016796d
Parents: 4353e10
Author: Shazron Abdullah <sh...@apache.org>
Authored: Thu Aug 18 17:36:52 2016 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Thu Aug 18 23:21:51 2016 -0700

----------------------------------------------------------------------
 cordova-lib/spec-cordova/platform.spec.js | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/3b38b538/cordova-lib/spec-cordova/platform.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/platform.spec.js b/cordova-lib/spec-cordova/platform.spec.js
index fffe5ce..6ededf0 100644
--- a/cordova-lib/spec-cordova/platform.spec.js
+++ b/cordova-lib/spec-cordova/platform.spec.js
@@ -382,8 +382,7 @@ describe('cocoapod plugin add and rm end-to-end', function () {
         cordova.raw.create('hello4')
         .then(function() {
             process.chdir(project);
-            //TODO: change this to cordova-ios on npm 
-            return cordova.raw.platform('add', 'https://github.com/juliascript/cordova-ios.git#CB-9825');
+            return cordova.raw.platform('add', 'https://git-wip-us.apache.org/repos/asf/cordova-ios.git');
         })
         .then(function() {
             return cordova.raw.plugin('add', samplePlugin);
@@ -409,7 +408,7 @@ describe('cocoapod plugin add and rm end-to-end', function () {
             });
 
             var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'});
-            expect(podfileContent.includes(AFNetworking));
+            expect(podfileContent.indexOf(AFNetworking) !== -1 );
 
             var podsJSONContent = require(podsJSON);
             expect(podsJSONContent[AFNetworking] !== null);
@@ -420,7 +419,7 @@ describe('cocoapod plugin add and rm end-to-end', function () {
             var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
             var numberOfTimesAFNetworkingIsInPodfile = podfileContent.match(/AFNetworking/g || []).length;
 
-            expect(podfileContent.includes(CWStatusBarNotification));
+            expect(podfileContent.indexOf(CWStatusBarNotification) !== -1);
             expect(numberOfTimesAFNetworkingIsInPodfile).toEqual(1); 
 
             delete require.cache[require.resolve(podsJSON)];
@@ -438,8 +437,8 @@ describe('cocoapod plugin add and rm end-to-end', function () {
             //expect only AFNetworking
             var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
 
-            expect(podfileContent.includes(CWStatusBarNotification)).toBe(false);
-            expect(podfileContent.includes(AFNetworking));
+            expect(podfileContent.indexOf(CWStatusBarNotification) === -1);
+            expect(podfileContent.indexOf(AFNetworking) !== -1);
   
             delete require.cache[require.resolve(podsJSON)];
             var podsJSONContent = require(podsJSON);
@@ -454,8 +453,8 @@ describe('cocoapod plugin add and rm end-to-end', function () {
             delete require.cache[require.resolve(podfile)];
             var podfileContent = fs.readFileSync(podfile, {'encoding' : 'utf8'}); 
 
-            expect(podfileContent.includes(CWStatusBarNotification)).toBe(false);
-            expect(podfileContent.includes(AFNetworking)).toBe(false);
+            expect(podfileContent.indexOf(CWStatusBarNotification) === -1);
+            expect(podfileContent.indexOf(AFNetworking) === -1);
 
             delete require.cache[require.resolve(podsJSON)];
             var podsJSONContent = require(podsJSON);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org