@@ -217,6 +217,58 @@ public void issue338_shouldPreserveSameEntitiesInElseNestedSource() {
217
217
);
218
218
}
219
219
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
+
220
272
@ Test
221
273
public void issue378_shouldOutputMoreThanTwoLevelsInElseNestedSource () {
222
274
assertMorph (receiver ,
0 commit comments