summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/config/plugins.js2
-rw-r--r--test/plugins.js15
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/config/plugins.js b/lib/config/plugins.js
index 5d98736..11a1104 100644
--- a/lib/config/plugins.js
+++ b/lib/config/plugins.js
@@ -20,7 +20,7 @@ function normalizePluginsList(plugins) {
plugins = _.map(plugins, function(plugin) {
if (plugin.name) return plugin;
- var parts = plugin.split('@');
+ var parts = plugin.split('@', 1);
var name = parts[0];
var version = parts[1];
return {
diff --git a/test/plugins.js b/test/plugins.js
index 399cdc5..62cf9ba 100644
--- a/test/plugins.js
+++ b/test/plugins.js
@@ -81,6 +81,21 @@ describe('Plugins', function() {
})
.should.be.fulfilledWith(1);
});
+ it('should correctly install dependencies from GitHub via ssh', function() {
+ return mock.setupBook({
+ 'book.json': {
+ plugins: ['ga@git@github.com:GitbookIO/plugin-ga.git#master']
+ }
+ })
+ .then(function(book) {
+ return book.prepareConfig()
+ .then(function() {
+ var plugins = new PluginsManager(book);
+ return plugins.install();
+ });
+ })
+ .should.be.fulfilledWith(1);
+ });
});
describe('Loading', function() {