forked from enviPath/enviPy
Current Dev State
This commit is contained in:
356
static/js/ketcher2/node_modules/varstream/tests/encoder.mocha.js
generated
vendored
Executable file
356
static/js/ketcher2/node_modules/varstream/tests/encoder.mocha.js
generated
vendored
Executable file
@ -0,0 +1,356 @@
|
||||
var VarStream = require('../src/VarStream')
|
||||
, fs = require('fs')
|
||||
, assert = require('assert')
|
||||
, StringDecoder = require('string_decoder').StringDecoder;
|
||||
|
||||
// Tests
|
||||
describe('Writing varstreams', function() {
|
||||
|
||||
describe("should work when", function() {
|
||||
|
||||
it("outputting simple values", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Reader.STRICT_MODE).write({
|
||||
'var1': 'machin',
|
||||
'var2': 'bidule',
|
||||
'var3': 'truc'
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1=machin\nvar2=bidule\nvar3=truc\n');
|
||||
});
|
||||
|
||||
it("outputting variable trees", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
}).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111':'machin'
|
||||
},
|
||||
'var12': 'bidule',
|
||||
'var13': 'truc'
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111=machin\nvar1.var12=bidule\nvar1.var13=truc\n');
|
||||
});
|
||||
|
||||
it("outputting variable trees and optimizing it", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Writer.MORPH_CONTEXTS
|
||||
).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111':'machin'
|
||||
},
|
||||
'var12': 'bidule',
|
||||
'var13': 'truc'
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111=machin\nvar1.var12=bidule\n^.var13=truc\n');
|
||||
});
|
||||
|
||||
it("outputting simple arrays", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
}).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': ['machin', 'bidule', 'truc']
|
||||
},
|
||||
'var12': ['machin', 'bidule', 'truc'],
|
||||
'var13': ['machin', 'bidule', 'truc']
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.0=machin\n' +
|
||||
'var1.var11.var111.1=bidule\n' +
|
||||
'var1.var11.var111.2=truc\n' +
|
||||
'var1.var12.0=machin\n' +
|
||||
'var1.var12.1=bidule\n' +
|
||||
'var1.var12.2=truc\n' +
|
||||
'var1.var13.0=machin\n' +
|
||||
'var1.var13.1=bidule\n' +
|
||||
'var1.var13.2=truc\n'
|
||||
);
|
||||
});
|
||||
|
||||
it("outputting simple arrays in merging mode", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Writer.MERGE_ARRAYS
|
||||
).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': ['machin', 'bidule', 'truc']
|
||||
},
|
||||
'var12': ['machin', 'bidule', 'truc'],
|
||||
'var13': ['machin', 'bidule', 'truc']
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.+=machin\n' +
|
||||
'var1.var11.var111.+=bidule\n' +
|
||||
'var1.var11.var111.+=truc\n' +
|
||||
'var1.var12.+=machin\n' +
|
||||
'var1.var12.+=bidule\n' +
|
||||
'var1.var12.+=truc\n' +
|
||||
'var1.var13.+=machin\n' +
|
||||
'var1.var13.+=bidule\n' +
|
||||
'var1.var13.+=truc\n'
|
||||
);
|
||||
});
|
||||
|
||||
it("outputting simple arrays and optimizing", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Writer.MORPH_CONTEXTS
|
||||
).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': ['machin', 'bidule', 'truc']
|
||||
},
|
||||
'var12': ['machin', 'bidule', 'truc'],
|
||||
'var13': ['machin', 'bidule', 'truc']
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.0=machin\n' +
|
||||
'^.1=bidule\n' +
|
||||
'^.2=truc\n' +
|
||||
'var1.var12.0=machin\n' +
|
||||
'^.1=bidule\n' +
|
||||
'^.2=truc\n' +
|
||||
'var1.var13.0=machin\n' +
|
||||
'^.1=bidule\n' +
|
||||
'^.2=truc\n'
|
||||
);
|
||||
});
|
||||
|
||||
it("outputting object collections", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
}).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
},
|
||||
'var12': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}],
|
||||
'var13': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.0.name=machin\n' +
|
||||
'var1.var11.var111.0.type=obj\n' +
|
||||
'var1.var11.var111.1.name=bidule\n' +
|
||||
'var1.var11.var111.1.type=obj\n' +
|
||||
'var1.var11.var111.2.name=truc\n' +
|
||||
'var1.var11.var111.2.type=obj\n' +
|
||||
'var1.var12.0.name=machin\n' +
|
||||
'var1.var12.0.type=obj\n' +
|
||||
'var1.var12.1.name=bidule\n' +
|
||||
'var1.var12.1.type=obj\n' +
|
||||
'var1.var12.2.name=truc\n' +
|
||||
'var1.var12.2.type=obj\n' +
|
||||
'var1.var13.0.name=machin\n' +
|
||||
'var1.var13.0.type=obj\n' +
|
||||
'var1.var13.1.name=bidule\n' +
|
||||
'var1.var13.1.type=obj\n' +
|
||||
'var1.var13.2.name=truc\n' +
|
||||
'var1.var13.2.type=obj\n'
|
||||
);
|
||||
});
|
||||
|
||||
it("outputting object collections in merging mode", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Writer.MERGE_ARRAYS
|
||||
).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
},
|
||||
'var12': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}],
|
||||
'var13': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.+.name=machin\n' +
|
||||
'var1.var11.var111.*.type=obj\n' +
|
||||
'var1.var11.var111.+.name=bidule\n' +
|
||||
'var1.var11.var111.*.type=obj\n' +
|
||||
'var1.var11.var111.+.name=truc\n' +
|
||||
'var1.var11.var111.*.type=obj\n' +
|
||||
'var1.var12.+.name=machin\n' +
|
||||
'var1.var12.*.type=obj\n' +
|
||||
'var1.var12.+.name=bidule\n' +
|
||||
'var1.var12.*.type=obj\n' +
|
||||
'var1.var12.+.name=truc\n' +
|
||||
'var1.var12.*.type=obj\n' +
|
||||
'var1.var13.+.name=machin\n' +
|
||||
'var1.var13.*.type=obj\n' +
|
||||
'var1.var13.+.name=bidule\n' +
|
||||
'var1.var13.*.type=obj\n' +
|
||||
'var1.var13.+.name=truc\n' +
|
||||
'var1.var13.*.type=obj\n'
|
||||
);
|
||||
});
|
||||
|
||||
it("outputting object collections and optimizing", function() {
|
||||
var data = '';
|
||||
new VarStream.Writer(function(str) {
|
||||
data += str;
|
||||
},
|
||||
VarStream.Writer.MORPH_CONTEXTS
|
||||
).write({
|
||||
'var1': {
|
||||
'var11': {
|
||||
'var111': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
},
|
||||
'var12': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}],
|
||||
'var13': [{
|
||||
name: 'machin',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'bidule',
|
||||
type: 'obj'
|
||||
}, {
|
||||
name: 'truc',
|
||||
type: 'obj'
|
||||
}]
|
||||
}
|
||||
});
|
||||
assert.equal(data,
|
||||
'var1.var11.var111.0.name=machin\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var11.var111.1.name=bidule\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var11.var111.2.name=truc\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var12.0.name=machin\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var12.1.name=bidule\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var12.2.name=truc\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var13.0.name=machin\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var13.1.name=bidule\n' +
|
||||
'^.type=obj\n' +
|
||||
'var1.var13.2.name=truc\n' +
|
||||
'^.type=obj\n'
|
||||
);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
describe('Writing bad varstreams', function() {
|
||||
|
||||
describe("should raise exceptions when in strict mode and", function() {
|
||||
|
||||
it("the given root object is not an object or an array", function() {
|
||||
assert.throws(
|
||||
function() {
|
||||
new VarStream.Writer(function() {}).write('');
|
||||
},
|
||||
function(err) {
|
||||
if(err instanceof Error
|
||||
&&err.message==='The root scope must be an Object or an Array.') {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user