Commit 3dcd4338 authored by Tristan Cavelier's avatar Tristan Cavelier

jio updated to support recent labraries

parent 9af06b64
......@@ -10,8 +10,12 @@
if (typeof define === 'function' && define.amd) {
return define(dependencies, module);
}
window.jIO = module({hex_md5: hex_md5});
}(['md5'], function (md5) {
if (typeof exports === 'object') {
return module(exports, require('md5'));
}
window.jIO = {};
module(window.jIO, {hex_md5: hex_md5});
}(['exports', 'md5'], function (exports, md5) {
"use strict";
var localstorage, hex_md5 = md5.hex_md5;
......@@ -2782,72 +2786,65 @@ Object.defineProperty(that, "repair", {
return that;
}; // End Class jio
/*jslint indent: 2, maxlen: 80, sloppy: true */
/*global jio: true, invalidStorageType: true */
/*global exports, jio, invalidStorageType */
var storage_type_object = { // -> 'key':constructorFunction
'base': function () {} // overriden by jio
'base': function () { // overriden by jio
return undefined;
}
};
var jioNamespace = (function (spec) {
var that = {};
spec = spec || {};
// Attributes //
// Methods //
/**
* Creates a new jio instance.
* @method newJio
* @param {object} spec The storage description
* @return {object} The new Jio instance.
*/
Object.defineProperty(that, "newJio", {
configurable: false,
enumerable: false,
writable: false,
value: function (spec) {
var storage = spec,
instance = null;
if (typeof storage === 'string') {
/**
* Creates a new jio instance.
* @method newJio
* @param {object} spec The storage description
* @return {object} The new Jio instance.
*/
Object.defineProperty(exports, "newJio", {
configurable: false,
enumerable: true,
writable: false,
value: function (spec) {
var storage = spec, instance = null;
if (typeof storage === 'string') {
storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
}
}
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
/**
* Add a storage type to jio.
* @method addStorageType
* @param {string} type The storage type
* @param {function} constructor The associated constructor
*/
Object.defineProperty(that, "addStorageType", {
configurable: false,
enumerable: false,
writable: false,
value: function (type, constructor) {
constructor = constructor || function () {
return null;
};
if (storage_type_object[type]) {
throw invalidStorageType({
type: type,
message: 'Already known.'
});
}
storage_type_object[type] = constructor;
/**
* Add a storage type to jio.
* @method addStorageType
* @param {string} type The storage type
* @param {function} constructor The associated constructor
*/
Object.defineProperty(exports, "addStorageType", {
configurable: false,
enumerable: true,
writable: false,
value: function (type, constructor) {
constructor = constructor || function () {
return null;
};
if (storage_type_object[type]) {
throw invalidStorageType({
type: type,
message: 'Already known.'
});
}
});
storage_type_object[type] = constructor;
}
});
return that;
}());
return jioNamespace;
}));
......@@ -10,8 +10,12 @@
if (typeof define === 'function' && define.amd) {
return define(dependencies, module);
}
window.jIO = module({hex_md5: hex_md5});
}(['md5'], function (md5) {
if (typeof exports === 'object') {
return module(exports, require('md5'));
}
window.jIO = {};
module(window.jIO, {hex_md5: hex_md5});
}(['exports', 'md5'], function (exports, md5) {
"use strict";
var localstorage, hex_md5 = md5.hex_md5;
......
/*jslint indent: 2, maxlen: 80, sloppy: true */
/*global jio: true, invalidStorageType: true */
/*global exports, jio, invalidStorageType */
var storage_type_object = { // -> 'key':constructorFunction
'base': function () {} // overriden by jio
'base': function () { // overriden by jio
return undefined;
}
};
var jioNamespace = (function (spec) {
var that = {};
spec = spec || {};
// Attributes //
// Methods //
/**
* Creates a new jio instance.
* @method newJio
* @param {object} spec The storage description
* @return {object} The new Jio instance.
*/
Object.defineProperty(that, "newJio", {
configurable: false,
enumerable: false,
writable: false,
value: function (spec) {
var storage = spec,
instance = null;
if (typeof storage === 'string') {
/**
* Creates a new jio instance.
* @method newJio
* @param {object} spec The storage description
* @return {object} The new Jio instance.
*/
Object.defineProperty(exports, "newJio", {
configurable: false,
enumerable: true,
writable: false,
value: function (spec) {
var storage = spec, instance = null;
if (typeof storage === 'string') {
storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
}
}
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
/**
* Add a storage type to jio.
* @method addStorageType
* @param {string} type The storage type
* @param {function} constructor The associated constructor
*/
Object.defineProperty(that, "addStorageType", {
configurable: false,
enumerable: false,
writable: false,
value: function (type, constructor) {
constructor = constructor || function () {
return null;
};
if (storage_type_object[type]) {
throw invalidStorageType({
type: type,
message: 'Already known.'
});
}
storage_type_object[type] = constructor;
/**
* Add a storage type to jio.
* @method addStorageType
* @param {string} type The storage type
* @param {function} constructor The associated constructor
*/
Object.defineProperty(exports, "addStorageType", {
configurable: false,
enumerable: true,
writable: false,
value: function (type, constructor) {
constructor = constructor || function () {
return null;
};
if (storage_type_object[type]) {
throw invalidStorageType({
type: type,
message: 'Already known.'
});
}
});
return that;
}());
storage_type_object[type] = constructor;
}
});
return jioNamespace;
}));
......@@ -8,10 +8,14 @@
if (typeof define === 'function' && define.amd) {
return define(dependencies, module);
}
window.jio_tests = module(jIO);
}(['jio'], function (jIO) {
if (typeof exports === 'object') {
return module(exports, require('jio'));
}
window.jio_tests = {};
module(window.jio_tests, jIO);
}(['exports', 'jio', 'sinon_qunit'], function (exports, jIO) {
"use strict";
var to_export = {}, tmp;
var tmp;
// localStorage cleanup
for (tmp in localStorage) {
......@@ -45,7 +49,7 @@
deepEqual(val, value, message);
};
}
to_export.spyJioCallback = spyJioCallback;
exports.spyJioCallback = spyJioCallback;
// XXX docstring
function isUuid(uuid) {
......@@ -58,10 +62,10 @@
x + "{4}-" + x + "{4}-" + x + "{12}$"
) === null ? false : true);
}
to_export.isUuid = isUuid;
exports.isUuid = isUuid;
// XXX docstring
to_export.jsonlocalstorage = {
exports.jsonlocalstorage = {
clear: function () {
return localStorage.clear();
},
......@@ -87,13 +91,13 @@
function closeAndcleanUpJio(jio) {
jio.close();
to_export.jsonlocalstorage.removeItem("jio/id/" + jio.getId());
to_export.jsonlocalstorage.removeItem("jio/job_array/" + jio.getId());
exports.jsonlocalstorage.removeItem("jio/id/" + jio.getId());
exports.jsonlocalstorage.removeItem("jio/job_array/" + jio.getId());
}
to_export.closeAndcleanUpJio = closeAndcleanUpJio;
exports.closeAndcleanUpJio = closeAndcleanUpJio;
function getJioLastJob(jio) {
return (to_export.jsonlocalstorage.getItem(
return (exports.jsonlocalstorage.getItem(
"jio/job_array/" + jio.getId()
) || [undefined]).pop();
}
......@@ -123,7 +127,7 @@
};
sinon.spy(o, function_name);
}
to_export.ospy = ospy;
exports.ospy = ospy;
function otick(o, a, b) {
var tick = 10000, function_name = 'f';
......@@ -143,7 +147,7 @@
}
}
}
to_export.otick = otick;
exports.otick = otick;
//////////////////////////////////////////////////////////////////////////////
// Dummy Storage
......@@ -228,7 +232,7 @@
}
jIO.addStorageType('dummy', dummyStorage);
to_export.dummyStorage = dummyStorage;
exports.dummyStorage = dummyStorage;
//////////////////////////////////////////////////////////////////////////////
// Tests
......@@ -708,11 +712,10 @@
ok(getJioLastJob(o.jio) === undefined, "Job executed");
o.clock.tick(1000);
to_export.jsonlocalstorage.removeItem("jio/id/" + o.jio_id);
to_export.jsonlocalstorage.removeItem("jio/job_array/" + o.jio_id);
exports.jsonlocalstorage.removeItem("jio/id/" + o.jio_id);
exports.jsonlocalstorage.removeItem("jio/job_array/" + o.jio_id);
closeAndcleanUpJio(o.jio);
});
return to_export;
}));
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment