diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-05-02 22:02:45 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-05-02 22:02:45 +0200 |
commit | 41e687255717c43d1bf2745e7b806057c7de16ae (patch) | |
tree | 6be8992936b0c0ec006fc46d5f7577791494aba1 /lib/models/__tests__/pluginDependency.js | |
parent | 8de0d6186e8a10cdd5a3efe9a4cf0afcae734223 (diff) | |
parent | 30c96c37c2145a28710e2875c677d37156fdaa92 (diff) | |
download | gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.zip gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.tar.gz gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.tar.bz2 |
Merge branch 'fix/plugins_deps'
Diffstat (limited to 'lib/models/__tests__/pluginDependency.js')
-rw-r--r-- | lib/models/__tests__/pluginDependency.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/models/__tests__/pluginDependency.js b/lib/models/__tests__/pluginDependency.js new file mode 100644 index 0000000..8aa55fb --- /dev/null +++ b/lib/models/__tests__/pluginDependency.js @@ -0,0 +1,47 @@ +describe('PluginDependency', function() { + var PluginDependency = require('../pluginDependency'); + + describe('createFromString', function() { + it('must parse name', function() { + var plugin = PluginDependency.createFromString('hello'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.getVersion()).toBe('*'); + }); + + it('must parse state', function() { + var plugin = PluginDependency.createFromString('-hello'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.isEnabled()).toBe(false); + }); + + describe('Version', function() { + it('must parse version', function() { + var plugin = PluginDependency.createFromString('hello@1.0.0'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.getVersion()).toBe('1.0.0'); + }); + + it('must parse semver', function() { + var plugin = PluginDependency.createFromString('hello@>=4.0.0'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.getVersion()).toBe('>=4.0.0'); + }); + }); + + describe('GIT Version', function() { + it('must handle HTTPS urls', function() { + var plugin = PluginDependency.createFromString('hello@git+https://github.com/GitbookIO/plugin-ga.git'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.getVersion()).toBe('git+https://github.com/GitbookIO/plugin-ga.git'); + }); + + it('must handle SSH urls', function() { + var plugin = PluginDependency.createFromString('hello@git+ssh://samy@github.com/GitbookIO/plugin-ga.git'); + expect(plugin.getName()).toBe('hello'); + expect(plugin.getVersion()).toBe('git+ssh://samy@github.com/GitbookIO/plugin-ga.git'); + }); + }); + }); +}); + + |