@qualifyze/airtable-formulator
Version:
Airtable Formula Manipulator
94 lines • 3.83 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const globals_1 = require("@jest/globals");
const group_1 = require("../group");
(0, globals_1.describe)("GroupNode", () => {
(0, globals_1.describe)("computeGroupValue()", () => {
(0, globals_1.it)("should should compute value of empty array", () => {
(0, globals_1.expect)((0, group_1.computeGroupValue)([])).toBe("");
});
(0, globals_1.it)("should concatenate node values", () => {
(0, globals_1.expect)((0, group_1.computeGroupValue)([
{ type: "number", value: "1", start: 0, end: 1 },
{ type: "number", value: "2", start: 1, end: 2 },
])).toBe("12");
});
(0, globals_1.it)("should fill gaps with whitespace", () => {
(0, globals_1.expect)((0, group_1.computeGroupValue)([
{ type: "number", value: "1", start: 0, end: 1 },
{ type: "number", value: "2", start: 3, end: 4 },
])).toBe("1 2");
});
(0, globals_1.it)("should include braces", () => {
(0, globals_1.expect)((0, group_1.computeGroupValue)([
{
type: "number",
value: "1",
start: 1,
end: 2,
opener: { type: "openBrace", value: "{", start: 0, end: 1 },
closer: { type: "closeBrace", value: "}", start: 2, end: 3 },
},
{ type: "number", value: "2", start: 1, end: 2 },
])).toBe("{1}2");
(0, globals_1.expect)((0, group_1.computeGroupValue)([
{
type: "number",
value: "1",
start: 1,
end: 2,
},
{
type: "number",
value: "2",
start: 1,
end: 2,
opener: { type: "openBrace", value: "{", start: 0, end: 1 },
closer: { type: "closeBrace", value: "}", start: 2, end: 3 },
},
])).toBe("1{2}");
(0, globals_1.expect)((0, group_1.computeGroupValue)([
{
type: "number",
value: "1",
start: 1,
end: 2,
},
{
type: "number",
value: "2",
start: 5,
end: 6,
opener: { type: "openBrace", value: "{", start: 3, end: 4 },
closer: { type: "closeBrace", value: "}", start: 6, end: 7 },
},
])).toBe("1 {2}");
});
});
(0, globals_1.describe)("createGroup()", () => {
(0, globals_1.it)("should be able to create empty groups", () => {
(0, globals_1.expect)((0, group_1.createGroup)("group", [])).toMatchObject({
type: "group",
members: [],
value: "",
start: 0,
end: 0,
});
});
(0, globals_1.it)("should create a group node from a list of nodes", () => {
const nodes = [
{ type: "number", value: "1", start: 20, end: 21 },
{ type: "operator", value: "+", start: 21, end: 22 },
{ type: "number", value: "23", start: 22, end: 24 },
];
(0, globals_1.expect)((0, group_1.createGroup)("group", nodes)).toMatchObject({
type: "group",
members: nodes,
value: "1+23",
start: 20,
end: 24,
});
});
});
});
//# sourceMappingURL=group.test.js.map