mermaid/src/mermaidAPI.spec.js

73 lines
2.2 KiB
JavaScript
Raw Normal View History

/**
* Created by knut on 14-11-26.
*/
/**
* Created by knut on 14-11-23.
*/
2017-04-11 22:14:25 +08:00
var api = require('./mermaidAPI.js')
// var log = require('./logger').create();
2017-04-11 22:14:25 +08: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();
2017-04-11 22:14:25 +08:00
delete global.mermaid_config
// and in the run-code inside some object
2017-04-11 22:14:25 +08:00
// global.document = mock.getDocument();
// global.window = mock.getWindow();
document.body.innerHTML = ''
})
2017-04-11 22:14:25 +08:00
it('should copy a literal into the configuration', function () {
var orgConfig = api.getConfig()
expect(orgConfig.testLiteral).toBe(undefined)
2017-04-11 22:14:25 +08:00
api.initialize({'testLiteral': true})
var config = api.getConfig()
2017-04-11 22:14:25 +08:00
expect(config.testLiteral).toBe(true)
})
it('should copy a an object into the configuration', function () {
var orgConfig = api.getConfig()
expect(orgConfig.testObject).toBe(undefined)
2017-04-11 22:14:25 +08:00
var object = {
test1: 1,
test2: false
}
2017-04-11 22:14:25 +08:00
api.initialize({'testObject': object})
api.initialize({'testObject': {'test3': true}})
var config = api.getConfig()
2017-04-11 22:14:25 +08:00
expect(config.testObject.test1).toBe(1)
expect(config.testObject.test2).toBe(false)
expect(config.testObject.test3).toBe(true)
expect(config.cloneCssStyles).toBe(orgConfig.cloneCssStyles)
})
})
describe('checking validity of input ', function () {
it('it should return false for an invalid definiton', function () {
global.mermaidAPI.parseError = function () {}
spyOn(global.mermaidAPI, 'parseError')
var res = api.parse('this is not a mermaid diagram definition')
2017-04-11 22:14:25 +08:00
expect(res).toBe(false)
expect(global.mermaidAPI.parseError).toHaveBeenCalled()
})
it('it should return true for a valid definiton', function () {
spyOn(global.mermaidAPI, 'parseError')
var res = api.parse('graph TD;A--x|text including URL space|B;')
2017-04-11 22:14:25 +08:00
expect(res).toBe(true)
expect(global.mermaidAPI.parseError).not.toHaveBeenCalled()
})
})
})