finished off platform specs and impl

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

Branch: refs/heads/cordova-client
Commit: 3f10301761e08f42e77cc69ef76499c9ae5352c8
Parents: 794276a
Author: Fil Maj <maj....@gmail.com>
Authored: Tue Jul 17 11:54:25 2012 -0700
Committer: Fil Maj <maj....@gmail.com>
Committed: Tue Jul 17 11:54:25 2012 -0700

----------------------------------------------------------------------
 cordova.js            |    3 +-
 spec/platform.spec.js |   76 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-labs/blob/3f103017/cordova.js
----------------------------------------------------------------------
diff --git a/cordova.js b/cordova.js
index 03050a1..87556c6 100755
--- a/cordova.js
+++ b/cordova.js
@@ -120,9 +120,10 @@ module.exports = {
                 } else console.log('No platforms added. Use `cordova platforms 
add <platform>`.');
                 break;
             case 'add':
+                cfg.add_platform(target);
                 break;
             case 'remove':
-
+                cfg.remove_platform(target);
                 break;
             default:
                 console.error('Unrecognized command "' + command + '". Use 
either `add`, `remove`, or `ls`.');

http://git-wip-us.apache.org/repos/asf/incubator-cordova-labs/blob/3f103017/spec/platform.spec.js
----------------------------------------------------------------------
diff --git a/spec/platform.spec.js b/spec/platform.spec.js
index 15ce0b2..a3ab65a 100644
--- a/spec/platform.spec.js
+++ b/spec/platform.spec.js
@@ -49,11 +49,87 @@ describe('platform command', function() {
     });
 
     describe('ls', function() {
+        var cwd = process.cwd();
+
+        beforeEach(function() {
+            cordova.create(tempDir);
+        });
+
+        afterEach(function() {
+            process.chdir(cwd);
+        });
+
+        it('should list out no platforms for a fresh project', function() {
+            spyOn(console, 'error');
+            spyOn(console, 'log');
+
+            process.chdir(tempDir);
+            cordova.platform('ls');
+
+            expect(console.error).not.toHaveBeenCalled();
+            expect(console.log).toHaveBeenCalledWith('No platforms added. Use 
`cordova platforms add <platform>`.');
+        });
+
+        it('should list out added platforms in a project', function() {
+            spyOn(console, 'error');
+            spyOn(console, 'log');
+
+            process.chdir(tempDir);
+            cordova.platform('add', 'android');
+            cordova.platform('ls');
+
+            expect(console.error).not.toHaveBeenCalled();
+            expect(console.log).toHaveBeenCalledWith('android');
+        });
     });
 
     describe('add', function() {
+        var cwd = process.cwd();
+
+        beforeEach(function() {
+            cordova.create(tempDir);
+        });
+
+        afterEach(function() {
+            process.chdir(cwd);
+        });
+
+        it('should add a supported platform', function() {
+            spyOn(console, 'error');
+            spyOn(console, 'log');
+
+            process.chdir(tempDir);
+            cordova.platform('add', 'android');
+            cordova.platform('ls');
+
+            expect(console.error).not.toHaveBeenCalled();
+            expect(console.log).toHaveBeenCalledWith('android');
+        });
     });
 
     describe('remove', function() {
+        var cwd = process.cwd();
+
+        beforeEach(function() {
+            cordova.create(tempDir);
+        });
+
+        afterEach(function() {
+            process.chdir(cwd);
+        });
+
+        it('should remove a supported and added platform', function() {
+            spyOn(console, 'error');
+            spyOn(console, 'log');
+
+            process.chdir(tempDir);
+            cordova.platform('add', 'android');
+            cordova.platform('remove', 'android');
+
+            cordova.platform('ls');
+
+            expect(console.error).not.toHaveBeenCalled();
+            expect(console.log).toHaveBeenCalledWith('No platforms added. Use 
`cordova platforms add <platform>`.');
+        });
     });
 });

Reply via email to