react-monaco-editor
Version:
Monaco Editor for React
36 lines (28 loc) • 1.37 kB
JavaScript
;
const validateIdentifier = require("./validate-identifier");
describe("validate-identifier", () => {
it("should return true for reserved keyword", () => {
const l = "while";
expect(validateIdentifier.isKeyword(l)).toBe(true);
});
it("should return false for unreserved keyword", () => {
const l = "foo";
expect(validateIdentifier.isKeyword(l)).toBe(false);
});
it("should retrun false if literal is not in U+200C zero width non-joiner, U+200D zero width joiner, or any symbol with the Unicode derived core property ID_Continue", () => {
const l = "\u00A9";
expect(validateIdentifier.isIdentifierChar(l)).toBe(false);
});
it("should retrun true if literal is in U+200C zero width non-joiner, U+200D zero width joiner, or any symbol with the Unicode derived core property ID_Continue", () => {
const l = "foo$bar";
expect(validateIdentifier.isIdentifierChar(l)).toBe(true);
});
it("should return true if literal name starts with $, _ or any symbol with the unicode derived core property ID_Start", () => {
const l = "$foo";
expect(validateIdentifier.isIdentifierStart(l)).toBe(true);
});
it("should return false if literal name does not starts with $, _ or any symbol with the unicode derived core property ID_Start", () => {
const l = "^bar";
expect(validateIdentifier.isIdentifierStart(l)).toBe(false);
});
});