fix: Add window object methods and properties as invalid entity name (#7928)

Added window object property and method names to list of invalid entity names
This commit is contained in:
Favour Ohanekwu 2021-10-04 13:49:58 +01:00 committed by GitHub
parent 7665ff3c4f
commit 30d0fb7a6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 72 additions and 0 deletions

View File

@ -14,4 +14,11 @@ describe("Name uniqueness test", function() {
it("Validate download apiname check", () => {
cy.CreationOfUniqueAPIcheck("download");
});
it("Validate window object property apiname check", () => {
cy.CreationOfUniqueAPIcheck("localStorage");
});
it("Validate window object method apiname check", () => {
cy.CreationOfUniqueAPIcheck("resizeTo");
});
});

View File

@ -87,3 +87,64 @@ export const DATA_TREE_KEYWORDS = {
pageList: "pageList",
[EXECUTION_PARAM_KEY]: EXECUTION_PARAM_KEY,
};
export const WINDOW_OBJECT_PROPERTIES = {
closed: "closed",
console: "console",
defaultStatus: "defaultStatus",
document: "document",
frameElement: "frameElement",
frames: "frames",
history: "history",
innerHeight: "innerHeight",
innerWidth: "innerWidth",
length: "length",
localStorage: "localStorage",
location: "location",
name: "name",
navigator: "navigator",
opener: "opener",
outerHeight: "outerHeight",
outerWidth: "outerWidth",
pageXOffset: "pageXOffset",
pageYOffset: "pageYOffset",
parent: "parent",
screen: "screen",
screenLeft: "screenLeft",
screenTop: "screenTop",
screenY: "screenY",
scrollX: "scrollX",
scrollY: "scrollY",
self: "self",
status: "status",
top: "top",
};
export const WINDOW_OBJECT_METHODS = {
alert: "alert",
atob: "atob",
blur: "blur",
btoa: "btoa",
clearInterval: "clearInterval",
clearTimeout: "clearTimeout",
close: "close",
confirm: "confirm",
focus: "focus",
getComputedStyle: "getComputedStyle",
getSelection: "getSelection",
matchMedia: "matchMedia",
moveBy: "moveBy",
moveTo: "moveTo",
open: "open",
print: "print",
prompt: "prompt",
requestAnimationFrame: "requestAnimationFrame",
resizeBy: "resizeBy",
resizeTo: "resizeTo",
scroll: "scroll",
scrollBy: "scrollBy",
scrollTo: "scrollBy",
setInterval: "setInterval",
setTimeout: "setTimeout",
stop: "stop",
};

View File

@ -7,6 +7,8 @@ import successAnimation from "assets/lottie/success-animation.json";
import {
DATA_TREE_KEYWORDS,
JAVASCRIPT_KEYWORDS,
WINDOW_OBJECT_METHODS,
WINDOW_OBJECT_PROPERTIES,
} from "constants/WidgetValidation";
import { GLOBAL_FUNCTIONS } from "./autocomplete/EntityDefinitions";
import { set } from "lodash";
@ -280,6 +282,8 @@ export const isNameValid = (
name in JAVASCRIPT_KEYWORDS ||
name in DATA_TREE_KEYWORDS ||
name in GLOBAL_FUNCTIONS ||
name in WINDOW_OBJECT_PROPERTIES ||
name in WINDOW_OBJECT_METHODS ||
name in invalidNames
);
};