r2-shared-js
Version:
Readium 2 'shared' for NodeJS (TypeScript)
75 lines • 3.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = require("ava");
const path = require("path");
const publication_1 = require("../src/models/publication");
const lcp_1 = require("r2-lcp-js/dist/es6-es2015/src/parser/epub/lcp");
const serializable_1 = require("r2-lcp-js/dist/es6-es2015/src/serializable");
const init_globals_1 = require("../src/init-globals");
const helpers_1 = require("./helpers");
(0, init_globals_1.initGlobalConverters_SHARED)();
(0, init_globals_1.initGlobalConverters_GENERIC)();
(0, lcp_1.setLcpNativePluginPath)(path.join(process.cwd(), "LCP", "lcp.node"));
const contextStr1 = "http://context1";
const contextStr2 = "http://context2";
(0, ava_1.default)("JSON SERIALIZE: Publication.Context => string[]", (t) => {
const pub = new publication_1.Publication();
pub.Context = [];
pub.Context.push(contextStr1);
pub.Context.push(contextStr2);
(0, helpers_1.inspect)(pub);
const json = (0, serializable_1.TaJsonSerialize)(pub);
(0, helpers_1.logJSON)(json);
(0, helpers_1.checkType_Array)(t, json["@context"]);
const arr = json["@context"];
t.is(arr.length, 2);
(0, helpers_1.checkType_String)(t, arr[0]);
t.is(arr[0], contextStr1);
(0, helpers_1.checkType_String)(t, arr[1]);
t.is(arr[1], contextStr2);
});
(0, ava_1.default)("JSON SERIALIZE: Publication.Context => string[1] collapse-array", (t) => {
const pub = new publication_1.Publication();
pub.Context = [contextStr1];
(0, helpers_1.inspect)(pub);
const json = (0, serializable_1.TaJsonSerialize)(pub);
(0, helpers_1.logJSON)(json);
(0, helpers_1.checkType_String)(t, json["@context"]);
t.is(json["@context"], contextStr1);
});
(0, ava_1.default)("JSON DESERIALIZE: Publication.Context => string[]", (t) => {
const json = {};
json["@context"] = [contextStr1, contextStr2];
(0, helpers_1.logJSON)(json);
const pub = (0, serializable_1.TaJsonDeserialize)(json, publication_1.Publication);
(0, helpers_1.inspect)(pub);
(0, helpers_1.checkType_Array)(t, pub.Context);
t.is(pub.Context.length, 2);
(0, helpers_1.checkType_String)(t, pub.Context[0]);
t.is(pub.Context[0], contextStr1);
(0, helpers_1.checkType_String)(t, pub.Context[1]);
t.is(pub.Context[1], contextStr2);
});
(0, ava_1.default)("JSON DESERIALIZE: Publication.Context => string[1]", (t) => {
const json = {};
json["@context"] = [contextStr1];
(0, helpers_1.logJSON)(json);
const pub = (0, serializable_1.TaJsonDeserialize)(json, publication_1.Publication);
(0, helpers_1.inspect)(pub);
(0, helpers_1.checkType_Array)(t, pub.Context);
t.is(pub.Context.length, 1);
(0, helpers_1.checkType_String)(t, pub.Context[0]);
t.is(pub.Context[0], contextStr1);
});
(0, ava_1.default)("JSON DESERIALIZE: Publication.Context => string", (t) => {
const json = {};
json["@context"] = contextStr1;
(0, helpers_1.logJSON)(json);
const pub = (0, serializable_1.TaJsonDeserialize)(json, publication_1.Publication);
(0, helpers_1.inspect)(pub);
(0, helpers_1.checkType_Array)(t, pub.Context);
t.is(pub.Context.length, 1);
(0, helpers_1.checkType_String)(t, pub.Context[0]);
t.is(pub.Context[0], contextStr1);
});
//# sourceMappingURL=test-JSON-Context.js.map