Skip to content

Commit 945fb6b

Browse files
committed
Add test for array marker propagation in nested pass-through (#374).
Fails in current master, passes with #392.
1 parent 4b8c2d7 commit 945fb6b

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

metamorph/src/test/java/org/metafacture/metamorph/TestMetamorphBasics.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,58 @@ public void issue338_shouldPreserveSameEntitiesInElseNestedSource() {
217217
);
218218
}
219219

220+
@Test
221+
public void issue374_shouldPropagateArrayMarkersInElseNestedSource() {
222+
assertMorph(receiver,
223+
"<rules>" +
224+
" <data source='_elseNested' />" +
225+
"</rules>",
226+
i -> {
227+
i.startRecord("1");
228+
i.startEntity("author[]");
229+
i.startEntity("");
230+
i.literal("@type", "Person");
231+
i.literal("name", "Katja Königstein-Lüdersdorff");
232+
i.endEntity();
233+
i.startEntity("");
234+
i.literal("@type", "Person");
235+
i.literal("name", "Corinna Peters");
236+
i.endEntity();
237+
i.startEntity("");
238+
i.literal("@type", "Person");
239+
i.literal("name", "Oleg Tjulenev");
240+
i.endEntity();
241+
i.startEntity("");
242+
i.literal("@type", "Person");
243+
i.literal("name", "Claudia Vogeler");
244+
i.endEntity();
245+
i.endEntity();
246+
i.endRecord();
247+
},
248+
(o, f) -> {
249+
o.get().startRecord("1");
250+
o.get().startEntity("author[]");
251+
o.get().startEntity("");
252+
o.get().literal("@type", "Person");
253+
o.get().literal("name", "Katja Königstein-Lüdersdorff");
254+
o.get().endEntity();
255+
o.get().startEntity("");
256+
o.get().literal("@type", "Person");
257+
o.get().literal("name", "Corinna Peters");
258+
o.get().endEntity();
259+
o.get().startEntity("");
260+
o.get().literal("@type", "Person");
261+
o.get().literal("name", "Oleg Tjulenev");
262+
o.get().endEntity();
263+
o.get().startEntity("");
264+
o.get().literal("@type", "Person");
265+
o.get().literal("name", "Claudia Vogeler");
266+
f.apply(2).endEntity();
267+
o.get().endRecord();
268+
}
269+
);
270+
}
271+
220272
@Test
221273
public void issue378_shouldOutputMoreThanTwoLevelsInElseNestedSource() {
222274
assertMorph(receiver,

0 commit comments

Comments
 (0)