public Variable evalJs(String js) {
        try {
            return new Variable(JS.eval(js));
        } catch (Exception e) {
            KarateException ke = JsEngine.fromJsEvalException(js, e, null);
            setFailedReason(ke);
            throw ke;
        }
    }
@Test
    void testEmbeddedList() {
        engine.evalJs("var foo = 3");
        matchEval("[1, 2, '#(foo)']", "[1, 2, 3]");
        engine.evalJs("var foo = [3, 4]");
        matchEval("[1, 2, '#(foo)']", "[1, 2, [3, 4]]");
        engine.evalJs("var foo = null");
        matchEval("[1, 2, '#(foo)']", "[1, 2, null]");
        matchEval("[1, 2, '##(foo)']", "[1, 2]");
        matchEval("[1, '##(foo)', 3]", "[1, 3]");
        engine.evalJs("var bar = null");
        matchEval("['##(foo)', 2, '##(bar)']", "[2]");
    }