package com.github.jknack.handlebars.i368; import java.io.IOException; import org.junit.Test; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.jknack.handlebars.AbstractTest; import com.github.jknack.handlebars.Context; import com.github.jknack.handlebars.JsonNodeValueResolver; import com.github.jknack.handlebars.context.MapValueResolver; public class Issue368 extends AbstractTest { @Override protected Object configureContext(final Object context) { return Context.newBuilder(context) .resolver(JsonNodeValueResolver.INSTANCE, MapValueResolver.INSTANCE).build(); } @Test public void jsonItShouldHaveIndexVar() throws IOException { String value = "{ \"names\": [ { \"id\": \"a\" }, { \"id\": \"b\" }, { \"id\": \"c\" }, { \"id\": \"d\" } ] }"; ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(value); shouldCompileTo("{{#each names}}index={{@index}}, id={{id}}, {{/each}}", jsonNode, "index=0, id=a, index=1, id=b, index=2, id=c, index=3, id=d, "); } }