diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-02 16:24:20 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-05-02 16:24:20 +0200 |
commit | c87060454ec8bbc89d7acdd5c7ef9006242a6930 (patch) | |
tree | b797249772f79ea00c1cbae26c2e47b0b156b1c4 /lib/plugins | |
parent | bbba52c7fff66d3b5aafe6d59de575afaca67db7 (diff) | |
download | gitbook-c87060454ec8bbc89d7acdd5c7ef9006242a6930.zip gitbook-c87060454ec8bbc89d7acdd5c7ef9006242a6930.tar.gz gitbook-c87060454ec8bbc89d7acdd5c7ef9006242a6930.tar.bz2 |
Add model for plugin dependencies in the book.json
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/__tests__/listAll.js | 53 | ||||
-rw-r--r-- | lib/plugins/listAll.js | 2 | ||||
-rw-r--r-- | lib/plugins/listForBook.js | 2 |
3 files changed, 11 insertions, 46 deletions
diff --git a/lib/plugins/__tests__/listAll.js b/lib/plugins/__tests__/listAll.js index 71483a7..f9711a7 100644 --- a/lib/plugins/__tests__/listAll.js +++ b/lib/plugins/__tests__/listAll.js @@ -1,21 +1,10 @@ -jest.autoMockOff(); +var PluginDependency = require('../../models/pluginDependency'); +var listAll = require('../listAll'); describe('listAll', function() { - var listAll = require('../listAll'); - - it('must list from string', function() { - var plugins = listAll('ga,great'); - - expect(plugins.size).toBe(8); - - expect(plugins.has('ga')).toBe(true); - expect(plugins.has('great')).toBe(true); - - expect(plugins.has('search')).toBe(true); - }); - - it('must list from array', function() { - var plugins = listAll(['ga', 'great']); + it('must list default', function() { + var deps = PluginDependency.listFromString('ga,great'); + var plugins = listAll(deps); expect(plugins.size).toBe(8); @@ -25,34 +14,9 @@ describe('listAll', function() { expect(plugins.has('search')).toBe(true); }); - it('must parse version (semver)', function() { - var plugins = listAll(['ga@1.0.0', 'great@>=4.0.0']); - - expect(plugins.has('ga')).toBe(true); - expect(plugins.has('great')).toBe(true); - - var ga = plugins.get('ga'); - expect(ga.getVersion()).toBe('1.0.0'); - - var great = plugins.get('great'); - expect(great.getVersion()).toBe('>=4.0.0'); - }); - - it('must parse version (git)', function() { - var plugins = listAll(['ga@git+https://github.com/GitbookIO/plugin-ga.git', 'great@git+ssh://samy@github.com/GitbookIO/plugin-ga.git']); - - expect(plugins.has('ga')).toBe(true); - expect(plugins.has('great')).toBe(true); - - var ga = plugins.get('ga'); - expect(ga.getVersion()).toBe('git+https://github.com/GitbookIO/plugin-ga.git'); - - var great = plugins.get('great'); - expect(great.getVersion()).toBe('git+ssh://samy@github.com/GitbookIO/plugin-ga.git'); - }); - it('must list from array with -', function() { - var plugins = listAll(['ga', '-great']); + var deps = PluginDependency.listFromString('ga,-great'); + var plugins = listAll(deps); expect(plugins.size).toBe(7); @@ -61,7 +25,8 @@ describe('listAll', function() { }); it('must remove default plugins using -', function() { - var plugins = listAll(['ga', '-search']); + var deps = PluginDependency.listFromString('ga,-search'); + var plugins = listAll(deps); expect(plugins.size).toBe(6); diff --git a/lib/plugins/listAll.js b/lib/plugins/listAll.js index d7ce5f3..28be276 100644 --- a/lib/plugins/listAll.js +++ b/lib/plugins/listAll.js @@ -8,7 +8,7 @@ var DEFAULT_PLUGINS = require('../constants/defaultPlugins'); /** List all plugins for a book - @param {List<Plugin|String>} + @param {List<PluginDependency>} @return {OrderedMap<Plugin>} */ function listAll(plugins) { diff --git a/lib/plugins/listForBook.js b/lib/plugins/listForBook.js index ce94678..5fb920f 100644 --- a/lib/plugins/listForBook.js +++ b/lib/plugins/listForBook.js @@ -10,7 +10,7 @@ var listAll = require('./listAll'); */ function listForBook(book) { var config = book.getConfig(); - var plugins = config.getValue('plugins'); + var plugins = config.getPluginDependencies(); return listAll(plugins); } |