29 lines
1.3 KiB
TypeScript
Vendored
29 lines
1.3 KiB
TypeScript
Vendored
import { describe, expect, it } from "vitest";
|
|
import { resolveSqlSingleQuoteKeyAction } from "@/lib/sql/sqlQuoteCaret";
|
|
|
|
describe("resolveSqlSingleQuoteKeyAction", () => {
|
|
it("skips over the auto-inserted closing single quote", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: "'", nextChar: "'" })).toBe("skipClosingQuote");
|
|
});
|
|
|
|
it("keeps escaped quote insertion when there is no closing quote to skip", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: "'", nextChar: "" })).toBe("insertEscapedQuote");
|
|
});
|
|
|
|
it("lets CodeMirror handle ordinary single quote input", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: "a", nextChar: "" })).toBe("pass");
|
|
});
|
|
|
|
it("does not skip an existing string opening quote after whitespace", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: " ", nextChar: "'" })).toBe("pass");
|
|
});
|
|
|
|
it("does not skip an existing string opening quote at the start of the document", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: "", nextChar: "'" })).toBe("pass");
|
|
});
|
|
|
|
it("does not intercept input when auto-close brackets is disabled", () => {
|
|
expect(resolveSqlSingleQuoteKeyAction({ previousChar: "'", nextChar: "'", autoCloseBrackets: false })).toBe("pass");
|
|
});
|
|
});
|