diff options
Diffstat (limited to 'lib/models/__tests__')
-rw-r--r-- | lib/models/__tests__/plugin.js | 2 | ||||
-rw-r--r-- | lib/models/__tests__/pluginDependency.js | 47 |
2 files changed, 47 insertions, 2 deletions
diff --git a/lib/models/__tests__/plugin.js b/lib/models/__tests__/plugin.js index 81d9d51..b229664 100644 --- a/lib/models/__tests__/plugin.js +++ b/lib/models/__tests__/plugin.js @@ -1,5 +1,3 @@ -jest.autoMockOff(); - describe('Plugin', function() { var Plugin = require('../plugin'); 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'); + }); + }); + }); +}); + + |