From 41cf501ce712fead9898cf014b4462ecaca7476b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9l=C3=A8ne=20Martin?= Date: Mon, 8 Jul 2024 15:09:32 -0700 Subject: [PATCH] Use outer group and relative ref to clarify evaluation context --- .../xpath/expr/IndexedRepeatTest.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/test/java/org/javarosa/xpath/expr/IndexedRepeatTest.java b/src/test/java/org/javarosa/xpath/expr/IndexedRepeatTest.java index f58cef546..31453749c 100644 --- a/src/test/java/org/javarosa/xpath/expr/IndexedRepeatTest.java +++ b/src/test/java/org/javarosa/xpath/expr/IndexedRepeatTest.java @@ -58,33 +58,34 @@ public void getsIndexedValueInSingleRepeat() throws Exception { model( mainInstance(t("data id=\"indexed-repeat\"", t("index"), - t("repeat", - t("inside")), + t("outer_group", // included to clarify intended evaluation context for index references + t("repeat", + t("inside"))), t("calc") )), - bind("/data/calc").calculate("indexed-repeat(/data/repeat/inside, /data/repeat, /data/index)") + bind("/data/calc").calculate("indexed-repeat(/data/outer_group/repeat/inside, /data/outer_group/repeat, ../index)") ) ), body( input("/data/index"), - repeat("/data/repeat", - input("/data/repeat/inside")) + repeat("/data/outer_group/repeat", + input("/data/outer_group/repeat/inside")) )) ); - scenario.createNewRepeat("/data/repeat"); - scenario.answer("/data/repeat[1]/inside", "index1"); + scenario.createNewRepeat("/data/outer_group[1]/repeat"); + scenario.answer("/data/outer_group/repeat[1]/inside", "index1"); - scenario.createNewRepeat("/data/repeat"); - scenario.answer("/data/repeat[2]/inside", "index2"); + scenario.createNewRepeat("/data/outer_group[1]/repeat"); + scenario.answer("/data/outer_group/repeat[2]/inside", "index2"); - scenario.createNewRepeat("/data/repeat"); - scenario.answer("/data/repeat[3]/inside", "index3"); + scenario.createNewRepeat("/data/outer_group[1]/repeat"); + scenario.answer("/data/outer_group/repeat[3]/inside", "index3"); - scenario.answer("/data/index", "2"); + scenario.answer("/data/outer_group/index", "2"); assertThat(scenario.answerOf("/data/calc"), is(stringAnswer("index2"))); - scenario.answer("/data/index", "1"); + scenario.answer("/data/outer_group/index", "1"); assertThat(scenario.answerOf("/data/calc"), is(stringAnswer("index1"))); }