mirror of
https://github.com/Shiva108/ai-llm-red-team-handbook.git
synced 2026-08-29 14:20:48 +02:00
adding mermaid packages
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
var path = require('path');
|
||||
var fs = require('fs-extra');
|
||||
var manager = require('../lib');
|
||||
|
||||
// Use tmp folder for testing
|
||||
before(function() {
|
||||
var gitbookFolder = path.resolve(__dirname, '../.tmp');
|
||||
fs.removeSync(gitbookFolder);
|
||||
manager.setRoot(gitbookFolder);
|
||||
manager.init();
|
||||
});
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"gitbook": "3.0.0-pre.2"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
var should = require('should');
|
||||
var tags = require('../lib/tags');
|
||||
|
||||
describe('Tags', function() {
|
||||
describe('.isValid()', function() {
|
||||
it('should return true for version >= 2.0.0', function() {
|
||||
tags.isValid('2.0.0').should.be.ok()
|
||||
});
|
||||
|
||||
it('should return true for pre-releases', function() {
|
||||
tags.isValid('2.0.0-beta.0').should.be.ok()
|
||||
});
|
||||
});
|
||||
|
||||
describe('.satisfies()', function() {
|
||||
it('should return true for tag and *', function() {
|
||||
tags.satisfies('pre', '*').should.be.ok()
|
||||
});
|
||||
});
|
||||
|
||||
describe('.sort()', function() {
|
||||
it('should sort tags first', function() {
|
||||
tags.sort('pre', '1.0.0').should.equal(-1);
|
||||
tags.sort('beta', '1.0.0').should.equal(-1);
|
||||
tags.sort('alpha', '1.0.0').should.equal(-1);
|
||||
});
|
||||
|
||||
it('should sort tags correctly', function() {
|
||||
tags.sort('alpha', 'pre').should.equal(-1);
|
||||
tags.sort('alpha', 'beta').should.equal(-1);
|
||||
});
|
||||
|
||||
it('should sort pre versions first', function() {
|
||||
tags.sort('1.0.0-pre.1', '0.0.9').should.equal(-1);
|
||||
tags.sort('1.0.0-pre.1', '1.0.0').should.equal(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
+133
@@ -0,0 +1,133 @@
|
||||
var path = require('path');
|
||||
var should = require('should');
|
||||
|
||||
var manager = require('../lib');
|
||||
|
||||
describe('Versions', function() {
|
||||
this.timeout(100000);
|
||||
|
||||
describe('.available()', function() {
|
||||
var result;
|
||||
|
||||
before(function() {
|
||||
return manager.available()
|
||||
.then(function(versions) {
|
||||
result = versions;
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly return a list of versions', function() {
|
||||
result.should.have.properties('versions');
|
||||
result.versions.should.be.an.Array();
|
||||
});
|
||||
|
||||
it('should correctly return a map of tags', function() {
|
||||
result.should.have.properties('tags');
|
||||
result.tags.should.have.properties('latest');
|
||||
});
|
||||
});
|
||||
|
||||
describe('.install()', function() {
|
||||
var result;
|
||||
|
||||
before(function() {
|
||||
return manager.install('2.0.0')
|
||||
.then(function(version) {
|
||||
result = version;
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly return the installed version', function() {
|
||||
result.should.be.a.String();
|
||||
result.should.equal('2.0.0');
|
||||
});
|
||||
});
|
||||
|
||||
describe('.ensure()', function() {
|
||||
it('should correctly return installed version', function() {
|
||||
return manager.ensure(__dirname)
|
||||
.then(function(v) {
|
||||
v.should.have.properties('version', 'path');
|
||||
v.version.should.equal('2.0.0');
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly install version specified', function() {
|
||||
return manager.ensure(path.resolve(__dirname, 'fixtures/book1'))
|
||||
.then(function(v) {
|
||||
v.should.have.properties('version', 'path');
|
||||
v.version.should.equal('3.0.0-pre.2');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('.list()', function() {
|
||||
var result;
|
||||
|
||||
before(function() {
|
||||
result = manager.versions();
|
||||
});
|
||||
|
||||
it('should correctly return the installed version', function() {
|
||||
result.should.be.an.Array();
|
||||
result.should.have.lengthOf(2);
|
||||
result[0].should.have.properties('name', 'tag', 'version', 'path');
|
||||
result[0].version.should.equal('3.0.0-pre.2');
|
||||
result[1].should.have.properties('name', 'tag', 'version', 'path');
|
||||
result[1].version.should.equal('2.0.0');
|
||||
});
|
||||
});
|
||||
|
||||
describe('.link()', function() {
|
||||
var localGitbook = path.resolve(__dirname, '../node_modules/gitbook');
|
||||
|
||||
before(function() {
|
||||
return manager.link('latest', localGitbook);
|
||||
});
|
||||
|
||||
it('should correctly list latest version', function() {
|
||||
var result = manager.versions();
|
||||
result.should.have.lengthOf(3);
|
||||
result[1].should.have.properties('version', 'path');
|
||||
result[1].tag.should.equal('beta');
|
||||
result[1].name.should.equal('latest');
|
||||
result[1].link.should.equal(localGitbook);
|
||||
});
|
||||
|
||||
it('should correctly return latest version as default one', function() {
|
||||
return manager.get(__dirname)
|
||||
.then(function(version) {
|
||||
version.name.should.equal('latest');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('.ensureAndLoad()', function() {
|
||||
it('should correctly return gitbook instance', function() {
|
||||
return manager.ensureAndLoad(__dirname)
|
||||
.then(function(gitbook) {
|
||||
gitbook.should.be.an.Object();
|
||||
gitbook.should.have.properties('commands');
|
||||
gitbook.commands.should.be.an.Array();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('.uninstall()', function() {
|
||||
it('should correctly remove a specific version', function() {
|
||||
return manager.uninstall('2.0.0')
|
||||
.then(function() {
|
||||
var result = manager.versions();
|
||||
result.should.have.lengthOf(2);
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly remove a version by tag', function() {
|
||||
return manager.uninstall('latest')
|
||||
.then(function() {
|
||||
var result = manager.versions();
|
||||
result.should.have.lengthOf(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user