Commit 15d29f5b authored by Yaxel Perez's avatar Yaxel Perez

fixed all errors given by linter

parent d3da040a
...@@ -151,7 +151,8 @@ ${JIOVERSION}: ${EXTERNALDIR}/URI.js \ ...@@ -151,7 +151,8 @@ ${JIOVERSION}: ${EXTERNALDIR}/URI.js \
${SRCDIR}/jio.storage/cryptstorage.js \ ${SRCDIR}/jio.storage/cryptstorage.js \
${SRCDIR}/jio.storage/websqlstorage.js \ ${SRCDIR}/jio.storage/websqlstorage.js \
${SRCDIR}/jio.storage/fbstorage.js \ ${SRCDIR}/jio.storage/fbstorage.js \
${SRCDIR}/jio.storage/cloudooostorage.js ${SRCDIR}/jio.storage/cloudooostorage.js \
${SRCDIR}/jio.storage/nocapacitystorage.js
@mkdir -p $(@D) @mkdir -p $(@D)
cat $^ > $@ cat $^ > $@
......
...@@ -16333,3 +16333,58 @@ return new Parser; ...@@ -16333,3 +16333,58 @@ return new Parser;
jIO.addStorage('cloudooo', CloudoooStorage); jIO.addStorage('cloudooo', CloudoooStorage);
}(jIO, RSVP, DOMParser, XMLSerializer)); }(jIO, RSVP, DOMParser, XMLSerializer));
/*global define, jIO, btoa, b64_hmac_sha1, jQuery, XMLHttpRequest, XHRwrapper,
FormData*/
/*
e Copyright 2019, Nexedi SA
*
* This program is free software: you can Use, Study, Modify and Redistribute
* it under the terms of the GNU General Public License version 3, or (at your
* option) any later version, as published by the Free Software Foundation.
*
* You can also Link and Combine this program with other software covered by
* the terms of any of the Free Software licenses or any of the Open Source
* Initiative approved licenses and Convey the resulting work. Corresponding
* source of such a combination shall include the source code for all other
* software used.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See COPYING file for full licensing terms.
* See https://www.nexedi.com/licensing for rationale and options.
*/
/*jslint nomen: true*/
(function (jIO) {
"use strict";
console.log("Nocapacity");
function NoCapacityStorage(spec) {
this.sub_storage = jIO.createJIO(spec.sub_storage);
}
NoCapacityStorage.prototype.hasCapacity = function () {
return false;
};
NoCapacityStorage.prototype.get = function () {
return this._sub_storage.get.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.post = function () {
return this._sub_storage.post.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.put = function () {
return this._sub_storage.put.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.remove = function () {
return this._sub_storage.remove.apply(this._sub_storage, arguments);
};
jIO.addStorage("nocapacity", NoCapacityStorage);
}(jIO));
...@@ -16333,3 +16333,58 @@ return new Parser; ...@@ -16333,3 +16333,58 @@ return new Parser;
jIO.addStorage('cloudooo', CloudoooStorage); jIO.addStorage('cloudooo', CloudoooStorage);
}(jIO, RSVP, DOMParser, XMLSerializer)); }(jIO, RSVP, DOMParser, XMLSerializer));
/*global define, jIO, btoa, b64_hmac_sha1, jQuery, XMLHttpRequest, XHRwrapper,
FormData*/
/*
e Copyright 2019, Nexedi SA
*
* This program is free software: you can Use, Study, Modify and Redistribute
* it under the terms of the GNU General Public License version 3, or (at your
* option) any later version, as published by the Free Software Foundation.
*
* You can also Link and Combine this program with other software covered by
* the terms of any of the Free Software licenses or any of the Open Source
* Initiative approved licenses and Convey the resulting work. Corresponding
* source of such a combination shall include the source code for all other
* software used.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See COPYING file for full licensing terms.
* See https://www.nexedi.com/licensing for rationale and options.
*/
/*jslint nomen: true*/
(function (jIO) {
"use strict";
console.log("Nocapacity");
function NoCapacityStorage(spec) {
this.sub_storage = jIO.createJIO(spec.sub_storage);
}
NoCapacityStorage.prototype.hasCapacity = function () {
return false;
};
NoCapacityStorage.prototype.get = function () {
return this._sub_storage.get.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.post = function () {
return this._sub_storage.post.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.put = function () {
return this._sub_storage.put.apply(this._sub_storage, arguments);
};
NoCapacityStorage.prototype.remove = function () {
return this._sub_storage.remove.apply(this._sub_storage, arguments);
};
jIO.addStorage("nocapacity", NoCapacityStorage);
}(jIO));
...@@ -471,6 +471,11 @@ ...@@ -471,6 +471,11 @@
options = {}; options = {};
} }
return ensurePushableQueue(function () { return ensurePushableQueue(function () {
// this will fail with an unhelpful errror message if context does not
// have the "query" capacity.
// possible fixes:
// - Catch errors thrown by hasCapacity everywhere all the time
// - Refactor hasCapacity to return false instead of raising an error
if (context.hasCapacity("list") && if (context.hasCapacity("list") &&
((options.query === undefined) || context.hasCapacity("query")) && ((options.query === undefined) || context.hasCapacity("query")) &&
((options.sort_on === undefined) || context.hasCapacity("sort")) && ((options.sort_on === undefined) || context.hasCapacity("sort")) &&
......
/*global define, jIO, btoa, b64_hmac_sha1, jQuery, XMLHttpRequest, XHRwrapper,
FormData*/
/* /*
e Copyright 2019, Nexedi SA e Copyright 2019, Nexedi SA
* *
...@@ -18,51 +21,35 @@ ...@@ -18,51 +21,35 @@
* See https://www.nexedi.com/licensing for rationale and options. * See https://www.nexedi.com/licensing for rationale and options.
*/ */
(function (dependencies, module) { /*jslint nomen: true*/
"use strict"; (function (jIO) {
if (typeof define === 'function' && define.amd) { "use strict";
return define(dependencies, module); console.log("Nocapacity");
}
if (typeof exports === 'object') {
return module(
exports,
require('jio'),
require('rsvp')
);
}
window.no_capacity_storage = {};
module(window.no_capacity_storage, jIO, RSVP);
}([
'exports',
'jio',
'rsvp',
], function (exports, jIO, RSVP) {
"use strict";
function NoCapacityStorage(spec) { function NoCapacityStorage(spec) {
this._sub_storage = jIO.createJIO(spec.sub_storage); this.sub_storage = jIO.createJIO(spec.sub_storage);
} }
NoCapacityStorage.prototype.hasCapacity = function (name) { NoCapacityStorage.prototype.hasCapacity = function () {
return false; return false;
} };
NoCapacityStorage.prototype.get = function () { NoCapacityStorage.prototype.get = function () {
return this._sub_storage.get.apply(this._sub_storage, arguments); return this._sub_storage.get.apply(this._sub_storage, arguments);
}; };
NoCapacityStorage.prototype.post = function () { NoCapacityStorage.prototype.post = function () {
return this._sub_storage.post.apply(this._sub_storage, arguments); return this._sub_storage.post.apply(this._sub_storage, arguments);
}; };
NoCapacityStorage.prototype.put = function () { NoCapacityStorage.prototype.put = function () {
return this._sub_storage.put.apply(this._sub_storage, arguments); return this._sub_storage.put.apply(this._sub_storage, arguments);
}; };
NoCapacityStorage.prototype.remove = function () { NoCapacityStorage.prototype.remove = function () {
return this._sub_storage.remove.apply(this._sub_storage, arguments); return this._sub_storage.remove.apply(this._sub_storage, arguments);
}; };
jio.addStorage("nocapacity", NoCapacityStorage); jIO.addStorage("nocapacity", NoCapacityStorage);
}); }(jIO));
(function (jIO, QUnit, Blob) { (function (jIO, QUnit) {
"use strict"; "use strict";
function TestStorage () { function TestStorage() {
return this; return this;
} }
jIO.addStorage('teststorage', TestStorage);
TestStorage.prototype.get = function () { return true; };
module("NoCapacityStorage"); TestStorage.prototype.post = function () { return true; };
TestStorage.prototype.put = function () { return true; };
QUnit.test('test constructor', function () { TestStorage.prototype.remove = function () { return true; };
var jio = jIO.createJIO({
type: "nocapacity", jIO.addStorage('teststorage', TestStorage);
schema: {'date': {'type': 'string', format: 'date-time'}},
sub_storage: { module("NoCapacityStorage");
type: 'teststorage'
} QUnit.test('Constructor does not crash', function () {
}); jIO.createJIO({
type: "nocapacity",
schema: {'date': {'type': 'string', format: 'date-time'}},
sub_storage: {
type: 'teststorage'
}
});
QUnit.expect(0);
});
QUnit.test('Storage does not have query capacity', function (assert) {
var jio = jIO.createJIO({
type: "nocapacity",
schema: {'date': {'type': 'string', format: 'date-time'}},
sub_storage: {
type: 'teststorage'
}
}); });
assert.throws(
function () { jio.hasCapacity('query'); }
);
});
QUnit.test('test hasCapacity', function () { QUnit.test('Storage calls sub-storage methods', function (assert) {
var jio = jIO.createJIO({ var jio = jIO.createJIO({
type: "nocapacity", type: "nocapacity",
schema: {'date': {'type': 'string', format: 'date-time'}}, schema: {'date': {'type': 'string', format: 'date-time'}},
sub_storage: { sub_storage: {
type: 'teststorage' type: 'teststorage'
} }
});
QUnit.equal(jio.hasCapacity('query'), false);
}); });
assert.ok(jio.get("fake id"));
assert.ok(jio.post());
assert.ok(jio.put("fake id"));
assert.ok(jio.remove("fake id"));
});
})(jIO, QUnit, Blob); }(jIO, QUnit));
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