test(bpmn-moddle): create integration test

This commit is contained in:
Nico Rehwaldt 2014-09-08 19:04:07 +02:00
parent 9d16e17c5c
commit 179121880f
2 changed files with 65 additions and 41 deletions

View File

@ -0,0 +1,65 @@
'use strict';
var BpmnModdle = require('bpmn-moddle');
describe('bpmn-moddle', function() {
function parse(xml, done) {
var moddle = new BpmnModdle();
moddle.fromXML(xml, 'bpmn:Definitions', done);
}
describe('browser support', function() {
it('should parse simple xml', function(done) {
var xml =
'<?xml version="1.0" encoding="UTF-8"?>' +
'<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
'id="simple" ' +
'targetNamespace="http://bpmn.io/schema/bpmn">' +
'<bpmn2:process id="Process_1"></bpmn2:process>' +
'</bpmn2:definitions>';
// when
parse(xml, function(err, definitions) {
if (err) {
return done(err);
}
// then
expect(definitions.id).toBe('simple');
expect(definitions.targetNamespace).toBe('http://bpmn.io/schema/bpmn');
expect(definitions.rootElements.length).toBe(1);
expect(definitions.rootElements[0].id).toBe('Process_1');
done();
});
});
it('should parse complex xml', function(done) {
var fs = require('fs');
var xml = fs.readFileSync('test/fixtures/bpmn/complex.bpmn', 'utf8');
var start = new Date().getTime();
// when
parse(xml, function(err) {
console.log('parsed in ' + (new Date().getTime() - start) + ' ms');
done(err);
});
// then
// everything should be a.o.k
});
});
});

View File

@ -1,41 +0,0 @@
var BpmnModdle = require('bpmn-moddle');
describe('model - browser support', function() {
var moddle = new BpmnModdle();
function read(xml, callback, done) {
moddle.fromXML(xml, 'bpmn:Definitions', function(err, definitions) {
if (err) {
done(err);
} else {
callback(definitions);
done();
}
});
}
it('should parse simple xml', function(done) {
var xml =
'<?xml version="1.0" encoding="UTF-8"?>' +
'<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" id="simple" targetNamespace="http://bpmn.io/schema/bpmn">' +
'<bpmn2:process id="Process_1">' +
'</bpmn2:process>' +
'</bpmn2:definitions>';
// when
read(xml, function(definitions) {
// then
expect(definitions.id).toBe('simple');
expect(definitions.targetNamespace).toBe('http://bpmn.io/schema/bpmn');
expect(definitions.rootElements.length).toBe(1);
expect(definitions.rootElements[0].id).toBe('Process_1');
}, done);
});
});