2015-06-07 09:21:19 +02:00
|
|
|
/**
|
|
|
|
* Created by knut on 14-11-26.
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* Created by knut on 14-11-23.
|
|
|
|
*/
|
|
|
|
var api = require('./mermaidAPI.js');
|
2015-10-17 12:46:36 +02:00
|
|
|
//var log = require('./logger').create();
|
2015-06-07 09:21:19 +02:00
|
|
|
|
|
|
|
describe('when using mermaidAPI and ',function() {
|
|
|
|
describe('doing initialize ',function() {
|
|
|
|
//var main;
|
|
|
|
//var document;
|
|
|
|
//var window;
|
|
|
|
beforeEach(function () {
|
|
|
|
var MockBrowser = require('mock-browser').mocks.MockBrowser;
|
|
|
|
var mock = new MockBrowser();
|
|
|
|
|
|
|
|
delete global.mermaid_config;
|
|
|
|
|
|
|
|
// and in the run-code inside some object
|
2015-10-17 12:46:36 +02:00
|
|
|
global.document = mock.getDocument();
|
|
|
|
global.window = mock.getWindow();
|
2015-06-07 09:21:19 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
it('should copy a literal into the configuration', function () {
|
|
|
|
var orgConfig = api.getConfig();
|
|
|
|
expect(orgConfig.testLiteral).toBe(undefined);
|
|
|
|
|
|
|
|
api.initialize({'testLiteral':true});
|
|
|
|
var config = api.getConfig();
|
|
|
|
|
|
|
|
expect(config.testLiteral).toBe(true);
|
|
|
|
});
|
|
|
|
it('should copy a an object into the configuration', function () {
|
|
|
|
var orgConfig = api.getConfig();
|
|
|
|
expect(orgConfig.testObject).toBe(undefined);
|
|
|
|
|
|
|
|
|
|
|
|
var object = {
|
|
|
|
test1:1,
|
|
|
|
test2:false
|
|
|
|
};
|
|
|
|
|
|
|
|
api.initialize({'testObject':object});
|
|
|
|
api.initialize({'testObject':{'test3':true}});
|
|
|
|
var config = api.getConfig();
|
|
|
|
|
|
|
|
expect(config.testObject.test1).toBe(1);
|
|
|
|
expect(config.testObject.test2).toBe(false);
|
|
|
|
expect(config.testObject.test3).toBe(true);
|
|
|
|
expect(config.cloneCssStyles).toBe(orgConfig.cloneCssStyles);
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
2015-06-30 14:23:32 +02:00
|
|
|
describe('checking validity of input ', function(){
|
|
|
|
it('it should return false for an invalid definiton',function(){
|
|
|
|
spyOn(global.mermaidAPI,'parseError');
|
|
|
|
var res = api.parse('this is not a mermaid diagram definition');
|
|
|
|
|
|
|
|
expect(res).toBe(false);
|
|
|
|
expect(global.mermaidAPI.parseError).toHaveBeenCalled();
|
|
|
|
});
|
|
|
|
it('it should return true for a valid definiton',function(){
|
|
|
|
spyOn(global.mermaidAPI,'parseError');
|
2015-10-17 12:46:36 +02:00
|
|
|
var res = global.mermaid.parse('graph TD;A--x|text including URL space|B;');
|
2015-06-30 14:23:32 +02:00
|
|
|
|
|
|
|
expect(res).toBe(true);
|
|
|
|
expect(global.mermaidAPI.parseError).not.toHaveBeenCalled();
|
|
|
|
});
|
|
|
|
});
|
2015-06-07 09:21:19 +02:00
|
|
|
});
|