@@ -153,6 +153,45 @@ create or replace package body test_realtime_reporter as
153153 select 'post-run' as event_type, null as item_id from dual;
154154 ut.expect(l_actual).to_equal(l_expected);
155155 end xml_report_structure;
156+
157+ procedure pre_run_composite_nodes is
158+ l_actual sys_refcursor;
159+ l_expected sys_refcursor;
160+ begin
161+ open l_actual for
162+ select x.node_path
163+ from table(g_events) t,
164+ xmltable(
165+ q'[
166+ for $i in //(event|items|suite|test)
167+ return <result>{$i/string-join(ancestor-or-self::*/name(.), '/')}</result>
168+ ]'
169+ passing t.event_doc
170+ columns node_path varchar2(128) path '.'
171+ ) x
172+ where event_type = 'pre-run';
173+ open l_expected for
174+ select 'event' as node_path from dual union all
175+ select 'event/items' as node_path from dual union all
176+ select 'event/items/suite' as node_path from dual union all
177+ select 'event/items/suite/items' as node_path from dual union all
178+ select 'event/items/suite/items/suite' as node_path from dual union all
179+ select 'event/items/suite/items/suite/items' as node_path from dual union all
180+ select 'event/items/suite/items/suite/items/test' as node_path from dual union all
181+ select 'event/items/suite/items/suite/items/test' as node_path from dual union all
182+ select 'event/items/suite/items/suite' as node_path from dual union all
183+ select 'event/items/suite/items/suite/items' as node_path from dual union all
184+ select 'event/items/suite/items/suite/items/test' as node_path from dual union all
185+ select 'event/items/suite/items/suite/items/test' as node_path from dual union all
186+ select 'event/items/suite/items/suite/items/test' as node_path from dual union all
187+ select 'event/items/suite/items/suite' as node_path from dual union all
188+ select 'event/items/suite/items/suite/items' as node_path from dual union all
189+ select 'event/items/suite/items/suite/items/suite' as node_path from dual union all
190+ select 'event/items/suite/items/suite/items/suite/items' as node_path from dual union all
191+ select 'event/items/suite/items/suite/items/suite/items/test' as node_path from dual union all
192+ select 'event/items/suite/items/suite/items/suite/items/test' as node_path from dual;
193+ ut.expect(l_actual).to_equal(l_expected);
194+ end pre_run_composite_nodes;
156195
157196 procedure total_number_of_tests is
158197 l_actual integer;
0 commit comments