test(ui): cover PromQL label name quoting

Signed-off-by: Flying Musk <musk.flying@gmail.com>
This commit is contained in:
Flying Musk 2026-05-24 15:45:59 -07:00
parent 01822f2a7c
commit 672330bd70

View file

@ -3,6 +3,7 @@ import {
getNonParenNodeType,
containsPlaceholders,
nodeValueType,
maybeQuoteLabelName,
} from "./utils";
import { nodeType, valueType, binaryOperatorType } from "./ast";
@ -159,3 +160,16 @@ describe("nodeValueType", () => {
).toBe(valueType.vector);
});
});
describe("maybeQuoteLabelName", () => {
it("does not quote valid PromQL label names", () => {
expect(maybeQuoteLabelName("job")).toBe("job");
expect(maybeQuoteLabelName("status_code")).toBe("status_code");
});
it("quotes and escapes label names with extended characters", () => {
expect(maybeQuoteLabelName("service.version")).toBe('"service.version"');
expect(maybeQuoteLabelName("team/name")).toBe('"team/name"');
expect(maybeQuoteLabelName('team"name')).toBe('"team\\"name"');
});
});