@@ -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