cryo
Version:
Easily pickle/serialize/freeze/store and re-hydrate complex JavaScript objects (including Functions)
43 lines (34 loc) • 1.23 kB
JavaScript
var mocha = require('mocha');
var assert = require('chai').assert;
var Cryo = require('../lib/cryo');
describe('Array', function() {
it('should hydrate a one-dimensional array', function() {
var original = [1, 2, 3, 'a', 'b', 'c'];
var stringified = Cryo.stringify(original);
var hydrated = Cryo.parse(stringified);
assert.isArray(hydrated);
assert.deepEqual(hydrated, original);
});
it('should hydrate a multi-dimensional array', function() {
var original = [
[ 0, 1, 2 ],
[ 3, 4, 5 ],
[ 'a', 'b', 'c' ]
];
var stringified = Cryo.stringify(original);
var hydrated = Cryo.parse(stringified);
assert.isArray(hydrated);
assert.deepEqual(hydrated, original);
});
it('should hydrate an array that has properties', function() {
var original = [1, 2, 3];
original.attached = 'some property';
var stringified = Cryo.stringify(original);
var hydrated = Cryo.parse(stringified);
assert.isArray(hydrated);
assert.strictEqual(hydrated.length, original.length);
assert.strictEqual(hydrated[0], original[0]);
assert.strictEqual(hydrated[2], original[2]);
assert.strictEqual(hydrated.attached, original.attached);
});
});