bc-minecraft-bedrock-types
Version:
The typescript library that provides default types for minecraft bedrock
54 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const json_1 = require("../json");
const _1 = require(".");
describe("Selector - Parse", () => {
const data = [
{
selector: "@a[tag=Sometag,scores={foo=1..}]",
offset: 0,
type: "@a",
contains: ["tag", "scores"],
},
{
selector: "@a[tag=Sometag,scores={foo=1..}]",
offset: 0,
type: "@a",
contains: ["tag", "scores"],
},
{
selector: "@a[x=~0.5,y=50,z=~50,r=50,rm=3,tag=something]",
offset: 0,
type: "@a",
contains: ["x", "y", "z", "r", "rm", "tag"],
},
{
selector: "@e[family=]",
offset: 5,
type: "@e",
contains: ["family"],
},
{
selector: "@a[x =~0.5, y=50, z =~50,r =50, rm =3,tag =something,tag =!foo]",
offset: 5,
type: "@a",
contains: ["x", "y", "z", "r", "rm", "tag"],
},
];
data.forEach((test) => {
it(`Should parse ${test.selector}`, () => {
const { selector, offset } = test;
const sel = _1.Selector.parse(selector, offset);
expect(sel).toBeDefined();
if (sel === undefined)
return;
expect(sel.selectorType).toEqual(test.type);
expect(sel.type).toEqual(json_1.CompactJson.Type.Array);
test.contains.forEach((attr) => contains(sel, attr));
});
});
});
function contains(sel, attr) {
expect(sel.contains(attr)).toBeTruthy();
}
//# sourceMappingURL=parse.test.js.map