summaryrefslogtreecommitdiffstats
path: root/lib/plugins
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-05-02 16:24:20 +0200
committerSamy Pessé <samypesse@gmail.com>2016-05-02 16:24:20 +0200
commitc87060454ec8bbc89d7acdd5c7ef9006242a6930 (patch)
treeb797249772f79ea00c1cbae26c2e47b0b156b1c4 /lib/plugins
parentbbba52c7fff66d3b5aafe6d59de575afaca67db7 (diff)
downloadgitbook-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.js53
-rw-r--r--lib/plugins/listAll.js2
-rw-r--r--lib/plugins/listForBook.js2
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);
}