mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-21 18:13:29 +00:00
Add git urls parsing and tests
This commit is contained in:
@@ -8,6 +8,7 @@ require('./langs');
|
||||
require('./parse');
|
||||
|
||||
require('./template');
|
||||
require('./git');
|
||||
|
||||
// Output
|
||||
require('./output-json');
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
var should = require('should');
|
||||
var git = require('../lib/utils/git');
|
||||
|
||||
describe('Git', function() {
|
||||
|
||||
describe('URL parsing', function() {
|
||||
|
||||
it('should correctly validate git urls', function() {
|
||||
// HTTPS
|
||||
git.isUrl('git+https://github.com/Hello/world.git').should.be.ok;
|
||||
|
||||
// SSH
|
||||
git.isUrl('git+git@github.com:GitbookIO/gitbook.git/directory/README.md#e1594cde2c32e4ff48f6c4eff3d3d461743d74e1').should.be.ok;
|
||||
|
||||
// Non valid
|
||||
git.isUrl('https://github.com/Hello/world.git').should.not.be.ok;
|
||||
git.isUrl('README.md').should.not.be.ok;
|
||||
});
|
||||
|
||||
it('should parse HTTPS urls', function() {
|
||||
var parts = git.parseUrl('git+https://gist.github.com/69ea4542e4c8967d2fa7.git/test.md');
|
||||
|
||||
should.exist(parts);
|
||||
parts.host.should.be.equal('https://gist.github.com/69ea4542e4c8967d2fa7.git');
|
||||
parts.ref.should.be.equal('master');
|
||||
parts.filepath.should.be.equal('test.md');
|
||||
});
|
||||
|
||||
it('should parse HTTPS urls with a reference', function() {
|
||||
var parts = git.parseUrl('git+https://gist.github.com/69ea4542e4c8967d2fa7.git/test.md#1.0.0');
|
||||
|
||||
should.exist(parts);
|
||||
parts.host.should.be.equal('https://gist.github.com/69ea4542e4c8967d2fa7.git');
|
||||
parts.ref.should.be.equal('1.0.0');
|
||||
parts.filepath.should.be.equal('test.md');
|
||||
});
|
||||
|
||||
it('should parse SSH urls', function() {
|
||||
var parts = git.parseUrl('git+git@github.com:GitbookIO/gitbook.git/directory/README.md#e1594cde2c32e4ff48f6c4eff3d3d461743d74e1');
|
||||
|
||||
should.exist(parts);
|
||||
parts.host.should.be.equal('git@github.com:GitbookIO/gitbook.git');
|
||||
parts.ref.should.be.equal('e1594cde2c32e4ff48f6c4eff3d3d461743d74e1');
|
||||
parts.filepath.should.be.equal('directory/README.md');
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user