UNPKG

jsoniq

Version:

JSONiq implementation for JavaScript

39 lines (37 loc) 6.46 kB
"use strict"; require("jasmine2-pit"); var PUL_1 = require("../../../../lib/updates/PUL"); var PULComposition_1 = require("../../../../lib/updates/composition/PULComposition"); var Common_1 = require("./Common"); describe("Insert Composition", () => { pit("Tests Aggregation (1)", () => { var d0 = new PUL_1.default(); d0.insert("1", { a: 1 }); d0.remove("1"); var d1 = new PUL_1.default(); d1.insert("1", { a: 1 }); var delta = PULComposition_1.default.compose(d0, d1, true); expect(delta.udps.remove.length).toBe(0); expect(delta.udps.insert.length).toBe(1); expect(delta.udps.insert[0].id).toBe("1"); expect(delta.udps.insert[0].item.a).toBe(1); return Common_1.default.checkCompositionIntegrity(d0, d1, {}).then(result => { expect(result).toBe(true); }); }); pit("Tests Aggregation (2)", () => { var d0 = new PUL_1.default(); d0.remove("1"); var d1 = new PUL_1.default(); d1.insert("1", { a: 1 }); var delta = PULComposition_1.default.compose(d0, d1, true); expect(delta.udps.remove.length).toBe(0); expect(delta.udps.insert.length).toBe(1); expect(delta.udps.insert[0].id).toBe("1"); expect(delta.udps.insert[0].item.a).toBe(1); return Common_1.default.checkCompositionIntegrity(d0, d1, {}).then(result => { expect(result).toBe(true); }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3RzL25vZGUvdXBkYXRlcy9jb21wb3NpdGlvbi9JbnNlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV4QixvQkFBZ0IsNkJBQTZCLENBQUMsQ0FBQTtBQUM5QywrQkFBMkIsb0RBQW9ELENBQUMsQ0FBQTtBQUNoRix1QkFBbUIsVUFBVSxDQUFDLENBQUE7QUFJOUIsUUFBUSxDQUFDLG9CQUFvQixFQUFFO0lBRTNCLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRTtRQUN6QixJQUFJLEVBQUUsR0FBRyxJQUFJLGFBQUcsRUFBRSxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVmLElBQUksRUFBRSxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7UUFDbkIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssR0FBRyx3QkFBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sQ0FBQyxnQkFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDM0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLHVCQUF1QixFQUFFO1FBQ3pCLElBQUksRUFBRSxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7UUFDbkIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVmLElBQUksRUFBRSxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7UUFDbkIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssR0FBRyx3QkFBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sQ0FBQyxnQkFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDM0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdHMvbm9kZS91cGRhdGVzL2NvbXBvc2l0aW9uL0luc2VydC5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoXCJqYXNtaW5lMi1waXRcIik7XG5cbmltcG9ydCBQVUwgZnJvbSBcIi4uLy4uLy4uLy4uL2xpYi91cGRhdGVzL1BVTFwiO1xuaW1wb3J0IFBVTENvbXBvc2l0aW9uIGZyb20gXCIuLi8uLi8uLi8uLi9saWIvdXBkYXRlcy9jb21wb3NpdGlvbi9QVUxDb21wb3NpdGlvblwiO1xuaW1wb3J0IENvbW1vbiBmcm9tIFwiLi9Db21tb25cIjtcblxuZGVjbGFyZSBmdW5jdGlvbiBwaXQoZXhwZWN0YXRpb246IHN0cmluZywgYXNzZXJ0aW9uPzogKGRvbmU6ICgpID0+IHZvaWQpID0+IGFueSk6IHZvaWQ7XG5cbmRlc2NyaWJlKFwiSW5zZXJ0IENvbXBvc2l0aW9uXCIsICgpID0+IHtcblxuICAgIHBpdChcIlRlc3RzIEFnZ3JlZ2F0aW9uICgxKVwiLCAoKSA9PiB7XG4gICAgICAgIHZhciBkMCA9IG5ldyBQVUwoKTtcbiAgICAgICAgZDAuaW5zZXJ0KFwiMVwiLCB7IGE6IDEgfSk7XG4gICAgICAgIGQwLnJlbW92ZShcIjFcIik7XG5cbiAgICAgICAgdmFyIGQxID0gbmV3IFBVTCgpO1xuICAgICAgICBkMS5pbnNlcnQoXCIxXCIsIHsgYTogMSB9KTtcblxuICAgICAgICB2YXIgZGVsdGEgPSBQVUxDb21wb3NpdGlvbi5jb21wb3NlKGQwLCBkMSwgdHJ1ZSk7XG4gICAgICAgIGV4cGVjdChkZWx0YS51ZHBzLnJlbW92ZS5sZW5ndGgpLnRvQmUoMCk7XG4gICAgICAgIGV4cGVjdChkZWx0YS51ZHBzLmluc2VydC5sZW5ndGgpLnRvQmUoMSk7XG4gICAgICAgIGV4cGVjdChkZWx0YS51ZHBzLmluc2VydFswXS5pZCkudG9CZShcIjFcIik7XG4gICAgICAgIGV4cGVjdChkZWx0YS51ZHBzLmluc2VydFswXS5pdGVtLmEpLnRvQmUoMSk7XG5cbiAgICAgICAgcmV0dXJuIENvbW1vbi5jaGVja0NvbXBvc2l0aW9uSW50ZWdyaXR5KGQwLCBkMSwge30pLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcGl0KFwiVGVzdHMgQWdncmVnYXRpb24gKDIpXCIsICgpID0+IHtcbiAgICAgICAgdmFyIGQwID0gbmV3IFBVTCgpO1xuICAgICAgICBkMC5yZW1vdmUoXCIxXCIpO1xuXG4gICAgICAgIHZhciBkMSA9IG5ldyBQVUwoKTtcbiAgICAgICAgZDEuaW5zZXJ0KFwiMVwiLCB7IGE6IDEgfSk7XG5cbiAgICAgICAgdmFyIGRlbHRhID0gUFVMQ29tcG9zaXRpb24uY29tcG9zZShkMCwgZDEsIHRydWUpO1xuICAgICAgICBleHBlY3QoZGVsdGEudWRwcy5yZW1vdmUubGVuZ3RoKS50b0JlKDApO1xuICAgICAgICBleHBlY3QoZGVsdGEudWRwcy5pbnNlcnQubGVuZ3RoKS50b0JlKDEpO1xuICAgICAgICBleHBlY3QoZGVsdGEudWRwcy5pbnNlcnRbMF0uaWQpLnRvQmUoXCIxXCIpO1xuICAgICAgICBleHBlY3QoZGVsdGEudWRwcy5pbnNlcnRbMF0uaXRlbS5hKS50b0JlKDEpO1xuXG4gICAgICAgIHJldHVybiBDb21tb24uY2hlY2tDb21wb3NpdGlvbkludGVncml0eShkMCwgZDEsIHt9KS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9