cryo
Version:
Easily pickle/serialize/freeze/store and re-hydrate complex JavaScript objects (including Functions)
34 lines (27 loc) • 1.02 kB
JavaScript
var mocha = require('mocha');
var assert = require('chai').assert;
var Cryo = require('../lib/cryo');
describe('Function', function() {
it('should hydrate a function', function() {
var original = function(from, to) {
return 'hello world from ' + from + ' to ' + to;
};
var stringified = Cryo.stringify(original);
var hydrated = Cryo.parse(stringified);
var result1 = original('Hunter', 'you');
var result2 = hydrated('Hunter', 'you');
assert.deepEqual(result1, result2);
});
it('should hydrate a function that has properties', function() {
var original = function(from, to) {
return 'hello world from ' + from + ' to ' + to;
};
original.attached = 'some property';
var stringified = Cryo.stringify(original);
var hydrated = Cryo.parse(stringified);
var result1 = original('Hunter', 'you');
var result2 = hydrated('Hunter', 'you');
assert.deepEqual(result1, result2);
assert.strictEqual(hydrated.attached, original.attached);
});
});