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>`.'); + }); }); });