From a6d7282138312e16660785e8f637138e00105a36 Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Mon, 6 Mar 2023 17:26:26 +0530 Subject: [PATCH 1/9] only necessary fns gets added to global scope(fes fix) --- src/core/friendly_errors/sketch_reader.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core/friendly_errors/sketch_reader.js b/src/core/friendly_errors/sketch_reader.js index c9c3159577..af1966a279 100644 --- a/src/core/friendly_errors/sketch_reader.js +++ b/src/core/friendly_errors/sketch_reader.js @@ -319,12 +319,14 @@ if (typeof IS_MINIFIED !== 'undefined') { } } const keyArray = Object.keys(p5Constructors); + const globalFunctions = ['Renderer', 'Renderer2D', 'RendererGL']; let functionArray = []; //get the names of all p5.js functions - for (let i = 0; i < keyArray.length; i++) { - functionArray.push(...Object.keys(p5Constructors[keyArray[i]].prototype)); + for (let i = 0; i < globalFunctions.length; i++) { + functionArray.push(...Object.keys( + p5Constructors[globalFunctions[i]].prototype + )); } - functionArray = functionArray.filter(ele => !ele.includes('_')); //we have p5.js function names with us so we will check //if they have been declared or not. From 47e2d112d1b68e333a2cb4de62fdb771b50d9973 Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Mon, 6 Mar 2023 17:45:24 +0530 Subject: [PATCH 2/9] comment updated --- src/core/friendly_errors/sketch_reader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/friendly_errors/sketch_reader.js b/src/core/friendly_errors/sketch_reader.js index af1966a279..e229ad5bfc 100644 --- a/src/core/friendly_errors/sketch_reader.js +++ b/src/core/friendly_errors/sketch_reader.js @@ -321,7 +321,7 @@ if (typeof IS_MINIFIED !== 'undefined') { const keyArray = Object.keys(p5Constructors); const globalFunctions = ['Renderer', 'Renderer2D', 'RendererGL']; let functionArray = []; - //get the names of all p5.js functions + //get the names of all p5.js functions which are available globally for (let i = 0; i < globalFunctions.length; i++) { functionArray.push(...Object.keys( p5Constructors[globalFunctions[i]].prototype From 2ee5e81a49f0dcbea1f0ec169c18cdd3598f5455 Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Mon, 6 Mar 2023 17:45:24 +0530 Subject: [PATCH 3/9] inline comment updated --- src/core/friendly_errors/sketch_reader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/friendly_errors/sketch_reader.js b/src/core/friendly_errors/sketch_reader.js index af1966a279..e229ad5bfc 100644 --- a/src/core/friendly_errors/sketch_reader.js +++ b/src/core/friendly_errors/sketch_reader.js @@ -321,7 +321,7 @@ if (typeof IS_MINIFIED !== 'undefined') { const keyArray = Object.keys(p5Constructors); const globalFunctions = ['Renderer', 'Renderer2D', 'RendererGL']; let functionArray = []; - //get the names of all p5.js functions + //get the names of all p5.js functions which are available globally for (let i = 0; i < globalFunctions.length; i++) { functionArray.push(...Object.keys( p5Constructors[globalFunctions[i]].prototype From 314d9ddf6ef0f80018ad733fc5bd0f5193aea812 Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Wed, 15 Mar 2023 09:25:41 +0530 Subject: [PATCH 4/9] tests added for FES --- test/unit/core/error_helpers.js | 47 ++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/test/unit/core/error_helpers.js b/test/unit/core/error_helpers.js index e7a69eb6a2..edd25e12d7 100644 --- a/test/unit/core/error_helpers.js +++ b/test/unit/core/error_helpers.js @@ -961,7 +961,7 @@ suite('Tests for p5.js sketch_reader', function() { ); testUnMinified( - 'detects reassignment of p5.js function outside setup', + 'detects reassignment of p5.js function (text) outside setup', function() { return new Promise(function(resolve) { prepSketchReaderTest( @@ -975,6 +975,51 @@ suite('Tests for p5.js sketch_reader', function() { } ); + testUnMinified( + 'detects reassignment of p5.js function (size from TypedDict or Dom) outside setup', + function() { + return new Promise(function(resolve) { + prepSketchReaderTest( + ['let size = 100', 'function setup() {}'], + resolve + ); + }).then(function() { + assert.strictEqual(log.length, 1); + assert.match(log[0], /you have used a p5.js reserved function/); + }); + } + ); + + testUnMinified( + 'detects reassignment of p5.js function (textSize from Typography) outside setup', + function() { + return new Promise(function(resolve) { + prepSketchReaderTest( + ['let textSize = 100', 'function setup() {}'], + resolve + ); + }).then(function() { + assert.strictEqual(log.length, 1); + assert.match(log[0], /you have used a p5.js reserved function/); + }); + } + ); + + testUnMinified( + 'detects reassignment of p5.js function (point from shape) outside setup', + function() { + return new Promise(function(resolve) { + prepSketchReaderTest( + ['let point = 100', 'function setup() {}'], + resolve + ); + }).then(function() { + assert.strictEqual(log.length, 1); + assert.match(log[0], /you have used a p5.js reserved function/); + }); + } + ); + testUnMinified( 'detects reassignment of p5.js functions in declaration lists', function() { From 7adc09f9c70e5ea7d813e596a47110e532b1073d Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Wed, 15 Mar 2023 09:38:54 +0530 Subject: [PATCH 5/9] rearranged test --- .vscode/extensions.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 1535e3f6ca..70671e0d47 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,7 +6,8 @@ "recommendations": [ "eg2.vscode-npm-script", "yzhang.markdown-all-in-one", - "dbaeumer.vscode-eslint" + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" ], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. "unwantedRecommendations": [] From 3a730bfd50443fe3ab4634bd40761768ace7eacf Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Wed, 15 Mar 2023 09:51:20 +0530 Subject: [PATCH 6/9] Revert "rearranged test" This reverts commit 7adc09f9c70e5ea7d813e596a47110e532b1073d. --- .vscode/extensions.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 70671e0d47..1535e3f6ca 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,8 +6,7 @@ "recommendations": [ "eg2.vscode-npm-script", "yzhang.markdown-all-in-one", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode" + "dbaeumer.vscode-eslint" ], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. "unwantedRecommendations": [] From 92af6ceea5be04f00488c7270920331708ba55f3 Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Wed, 15 Mar 2023 09:52:45 +0530 Subject: [PATCH 7/9] fixing tests --- test/unit/core/error_helpers.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/unit/core/error_helpers.js b/test/unit/core/error_helpers.js index edd25e12d7..5941a95fac 100644 --- a/test/unit/core/error_helpers.js +++ b/test/unit/core/error_helpers.js @@ -976,11 +976,11 @@ suite('Tests for p5.js sketch_reader', function() { ); testUnMinified( - 'detects reassignment of p5.js function (size from TypedDict or Dom) outside setup', + 'detects reassignment of p5.js function (textSize from Typography) outside setup', function() { return new Promise(function(resolve) { prepSketchReaderTest( - ['let size = 100', 'function setup() {}'], + ['let textSize = 100', 'function setup() {}'], resolve ); }).then(function() { @@ -991,11 +991,11 @@ suite('Tests for p5.js sketch_reader', function() { ); testUnMinified( - 'detects reassignment of p5.js function (textSize from Typography) outside setup', + 'detects reassignment of p5.js function (size from TypedDict or Dom) outside setup', function() { return new Promise(function(resolve) { prepSketchReaderTest( - ['let textSize = 100', 'function setup() {}'], + ['let size = 100', 'function setup() {}'], resolve ); }).then(function() { From 7a1d248dcfc047af096a8d57b57332dec0a93f8e Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Wed, 15 Mar 2023 15:39:34 +0530 Subject: [PATCH 8/9] correction in test --- test/unit/core/error_helpers.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/unit/core/error_helpers.js b/test/unit/core/error_helpers.js index 5941a95fac..ee3f42931c 100644 --- a/test/unit/core/error_helpers.js +++ b/test/unit/core/error_helpers.js @@ -999,8 +999,7 @@ suite('Tests for p5.js sketch_reader', function() { resolve ); }).then(function() { - assert.strictEqual(log.length, 1); - assert.match(log[0], /you have used a p5.js reserved function/); + assert.strictEqual(log.length, 0); }); } ); From 2230177f508a1a2c7ddd695994f3a0e23368c89d Mon Sep 17 00:00:00 2001 From: Aditya Shrivastav <81470938+aditya-shrivastavv@users.noreply.github.com> Date: Thu, 16 Mar 2023 19:29:25 +0530 Subject: [PATCH 9/9] comment updated --- test/unit/core/error_helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/core/error_helpers.js b/test/unit/core/error_helpers.js index ee3f42931c..e01ee1256d 100644 --- a/test/unit/core/error_helpers.js +++ b/test/unit/core/error_helpers.js @@ -991,7 +991,7 @@ suite('Tests for p5.js sketch_reader', function() { ); testUnMinified( - 'detects reassignment of p5.js function (size from TypedDict or Dom) outside setup', + 'does not detect reassignment of p5.js function (size from TypedDict or Dom) outside setup', function() { return new Promise(function(resolve) { prepSketchReaderTest(