@Test
public void testConvertChild_jsonValueLiteral() throws Exception {

    ExpressionEvaluator eval = mock(ExpressionEvaluator.class);
    when(eval.evaluate(anyString())).thenAnswer(call -> call.getArgument(0, String.class));
    assertSame("json true", JsonValue.TRUE, converter().convertChild(xml("fooTrue.xml", "json"), eval));
    assertSame("json false", JsonValue.FALSE, converter().convertChild(xml("fooFalse.xml", "json"), eval));
    assertSame("json null", JsonValue.NULL, converter().convertChild(xml("fooNull.xml", "json"), eval));
    assertSame("json empty string", JsonValue.NULL, converter().convertChild(xml("emptyFoo.xml", "json"), eval));
    assertSame("json blank string", JsonValue.NULL, converter().convertChild(xml("blankFoo.xml", "json"), eval));
    assertEquals("json object", key("key", "value").get(), converter().convertChild(xml("fooObject.xml", "json"), eval));
    assertEquals("json array", arr("one", "two").get(), converter().convertChild(xml("fooArray.xml", "json"), eval));
    assertEquals("json integer", wrap(-500), converter().convertChild(xml("fooNumber.xml", "json"), eval));
}