From 48c5857034aaa518cb0924cedac7b167a3aff4e0 Mon Sep 17 00:00:00 2001 From: attila Date: Fri, 26 Apr 2024 11:21:48 +0200 Subject: [PATCH] JavascriptEngine: Fix evaluating an empty array --- modules/juce_core/javascript/juce_Javascript.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/juce_core/javascript/juce_Javascript.cpp b/modules/juce_core/javascript/juce_Javascript.cpp index fcd9834c36..85f507fd10 100644 --- a/modules/juce_core/javascript/juce_Javascript.cpp +++ b/modules/juce_core/javascript/juce_Javascript.cpp @@ -135,7 +135,7 @@ struct VariantConverter if (value.isVector() || value.isArray()) { - var variant; + var variant { Array{} }; for (uint32_t i = 0; i < value.size(); ++i) { @@ -1167,6 +1167,15 @@ public: JavascriptEngine engine; engine.maximumExecutionTime = RelativeTime::seconds (5); + beginTest ("Basic evaluations"); + { + auto result = Result::ok(); + + auto value = engine.evaluate ("[]", &result); + expect (result.wasOk() && value == var { Array{} }, "An empty array literal should evaluate correctly"); + } + + //============================================================================== engine.evaluate (javascriptTestSource); beginTest ("JSCursor::invokeMethod");