From 9f27ea42715680b93612cb10f02f794a66da51fd Mon Sep 17 00:00:00 2001 From: ramki-bruno Date: Tue, 11 Mar 2025 00:16:15 +0530 Subject: [PATCH] Fix: Revert interpreting Assert RHS-value wrapped in quotes literally - Revert "Merge pull request #3806 from Pragadesh-45/fix/handle-assert-results" - 63d3cb380d02e56753ff9926b5789533d7ddac1f - Revert "Merge pull request #3805 from Pragadesh-45/fix/handle-assert-results" - 6abd063749926fc66e57b1bdbcabbf2e43ec29ac --- packages/bruno-js/src/sandbox/quickjs/index.js | 8 ++++++++ packages/bruno-js/src/utils.js | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/packages/bruno-js/src/sandbox/quickjs/index.js b/packages/bruno-js/src/sandbox/quickjs/index.js index 58ccd885d..d5fe5e8f3 100644 --- a/packages/bruno-js/src/sandbox/quickjs/index.js +++ b/packages/bruno-js/src/sandbox/quickjs/index.js @@ -22,6 +22,12 @@ const toNumber = (value) => { return Number.isInteger(num) ? parseInt(value, 10) : parseFloat(value); }; +const removeQuotes = (str) => { + if ((str.startsWith('"') && str.endsWith('"')) || (str.startsWith("'") && str.endsWith("'"))) { + return str.slice(1, -1); + } + return str; +}; const executeQuickJsVm = ({ script: externalScript, context: externalContext, scriptType = 'template-literal' }) => { if (!externalScript?.length || typeof externalScript !== 'string') { @@ -38,6 +44,7 @@ const executeQuickJsVm = ({ script: externalScript, context: externalContext, sc if (externalScript === 'null') return null; if (externalScript === 'undefined') return undefined; + externalScript = removeQuotes(externalScript); const vm = QuickJSSyncContext; @@ -87,6 +94,7 @@ const executeQuickJsVmAsync = async ({ script: externalScript, context: external if (externalScript === 'null') return null; if (externalScript === 'undefined') return undefined; + externalScript = removeQuotes(externalScript); try { const module = await newQuickJSWASMModule(); diff --git a/packages/bruno-js/src/utils.js b/packages/bruno-js/src/utils.js index 6b5ecacb5..55b454d02 100644 --- a/packages/bruno-js/src/utils.js +++ b/packages/bruno-js/src/utils.js @@ -85,6 +85,14 @@ const evaluateJsTemplateLiteral = (templateLiteral, context) => { return undefined; } + if (templateLiteral.startsWith('"') && templateLiteral.endsWith('"')) { + return templateLiteral.slice(1, -1); + } + + if (templateLiteral.startsWith("'") && templateLiteral.endsWith("'")) { + return templateLiteral.slice(1, -1); + } + if (!isNaN(templateLiteral)) { const number = Number(templateLiteral); // Check if the number is too high. Too high number might get altered, see #1000