UNPKG

jsoniq

Version:

JSONiq implementation for JavaScript

25 lines (23 loc) 4.48 kB
"use strict"; /// <reference path="../../../typings/tsd.d.ts" /> var u = require("./Utils"); describe("Test Variable declarations: ", () => { it("XPST0081 (1)", () => { var markers = u.getMarkers("let $bar:hello := 1 return 1"); expect(markers.length).toBe(2); expect(markers[0].getType()).toBe("error"); expect(markers[0].getMessage().indexOf("[XPST0081]")).toBe(0); }); it("XPST0081 (2)", () => { var markers = u.getMarkers("declare namespace bar = \"http://www.example.com\"; let $bar:hello := 1 return 1"); expect(markers.length).toBe(1); expect(markers.filter(marker => { return marker.getType() === "error"; }).length).toBe(0); expect(markers.filter(marker => { return marker.getType() === "warning"; }).length).toBe(1); }); it("XPST0081 (3)", () => { var markers = u.getMarkers("let $hello := 1 return 1"); expect(markers.length).toBe(1); expect(markers.filter(marker => { return marker.getType() === "warning"; }).length).toBe(1); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3RzL25vZGUvc3RhdGljL1ZhckRlY2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrREFBa0Q7QUFDbEQsSUFBWSxDQUFDLFdBQU0sU0FBUyxDQUFDLENBQUE7QUFFN0IsUUFBUSxDQUFDLDhCQUE4QixFQUFFO0lBRXJDLEVBQUUsQ0FBQyxjQUFjLEVBQUU7UUFDZixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxjQUFjLEVBQUU7UUFDZixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLGtGQUFrRixDQUFDLENBQUM7UUFDL0csTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxjQUFjLEVBQUU7UUFDZixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdHMvbm9kZS9zdGF0aWMvVmFyRGVjbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG5pbXBvcnQgKiBhcyB1IGZyb20gXCIuL1V0aWxzXCI7XG5cbmRlc2NyaWJlKFwiVGVzdCBWYXJpYWJsZSBkZWNsYXJhdGlvbnM6IFwiLCAoKSA9PiB7XG5cbiAgICBpdChcIlhQU1QwMDgxICgxKVwiLCAoKSA9PiB7XG4gICAgICAgIHZhciBtYXJrZXJzID0gdS5nZXRNYXJrZXJzKFwibGV0ICRiYXI6aGVsbG8gOj0gMSByZXR1cm4gMVwiKTtcbiAgICAgICAgZXhwZWN0KG1hcmtlcnMubGVuZ3RoKS50b0JlKDIpO1xuICAgICAgICBleHBlY3QobWFya2Vyc1swXS5nZXRUeXBlKCkpLnRvQmUoXCJlcnJvclwiKTtcbiAgICAgICAgZXhwZWN0KG1hcmtlcnNbMF0uZ2V0TWVzc2FnZSgpLmluZGV4T2YoXCJbWFBTVDAwODFdXCIpKS50b0JlKDApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJYUFNUMDA4MSAoMilcIiwgKCkgPT4ge1xuICAgICAgICB2YXIgbWFya2VycyA9IHUuZ2V0TWFya2VycyhcImRlY2xhcmUgbmFtZXNwYWNlIGJhciA9IFxcXCJodHRwOi8vd3d3LmV4YW1wbGUuY29tXFxcIjsgbGV0ICRiYXI6aGVsbG8gOj0gMSByZXR1cm4gMVwiKTtcbiAgICAgICAgZXhwZWN0KG1hcmtlcnMubGVuZ3RoKS50b0JlKDEpO1xuICAgICAgICBleHBlY3QobWFya2Vycy5maWx0ZXIobWFya2VyID0+IHsgcmV0dXJuIG1hcmtlci5nZXRUeXBlKCkgPT09IFwiZXJyb3JcIjsgfSkubGVuZ3RoKS50b0JlKDApO1xuICAgICAgICBleHBlY3QobWFya2Vycy5maWx0ZXIobWFya2VyID0+IHsgcmV0dXJuIG1hcmtlci5nZXRUeXBlKCkgPT09IFwid2FybmluZ1wiOyB9KS5sZW5ndGgpLnRvQmUoMSk7XG4gICAgfSk7XG5cbiAgICBpdChcIlhQU1QwMDgxICgzKVwiLCAoKSA9PiB7XG4gICAgICAgIHZhciBtYXJrZXJzID0gdS5nZXRNYXJrZXJzKFwibGV0ICRoZWxsbyA6PSAxIHJldHVybiAxXCIpO1xuICAgICAgICBleHBlY3QobWFya2Vycy5sZW5ndGgpLnRvQmUoMSk7XG4gICAgICAgIGV4cGVjdChtYXJrZXJzLmZpbHRlcihtYXJrZXIgPT4geyByZXR1cm4gbWFya2VyLmdldFR5cGUoKSA9PT0gXCJ3YXJuaW5nXCI7IH0pLmxlbmd0aCkudG9CZSgxKTtcbiAgICB9KTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9