    @Test
    public void testVariableNodeWithVariableDefaultWithLiteralDefault() {

        VariableNode node = new ExpressionParser("${my.var:tacos${my.other.var:42}}").variableNode();
        Assertions.assertThat(node).isNotNull();
        Assertions.assertThat(node.getVariableName()).isEqualTo("my.var");

        Expression defaultExpr1 = node.getDefaultExpression();
        assertThat(defaultExpr1).isNotNull();

        assertThat(defaultExpr1.getNodes()).hasSize(2);
        assertThat(defaultExpr1.getNodes().get(0)).isInstanceOf(TextNode.class);
        assertThat(((TextNode) defaultExpr1.getNodes().get(0)).getText()).isEqualTo("tacos");
        assertThat(defaultExpr1.getNodes().get(1)).isInstanceOf(VariableNode.class);
        Assertions.assertThat(((VariableNode) defaultExpr1.getNodes().get(1)).getVariableName()).isEqualTo("my.other.var");

        Expression defaultExpr2 = ((VariableNode) defaultExpr1.getNodes().get(1)).getDefaultExpression();
        assertThat(defaultExpr2.getNodes()).hasSize(1);
        assertThat(defaultExpr2.getNodes().get(0)).isInstanceOf(TextNode.class);
        assertThat(((TextNode)defaultExpr2.getNodes().get(0)).getText()).isEqualTo("42");
    }