Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ed162ed

Browse files
committed
fixed example bug
1 parent eccee61 commit ed162ed

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

source/core/types/ut_event_listener.tpb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,18 @@ create or replace type body ut_event_listener is
1717
end;
1818

1919
overriding member procedure fire_event(self in out nocopy ut_event_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base) is
20-
l_method varchar2(250) := a_event_timing||'_calling_'||a_event_name;
21-
l_reporter ut_reporter;
22-
l_call_stmt varchar2(32767);
20+
l_method varchar2(250) := a_event_timing||'_calling_'||a_event_name;
21+
l_call_stmt varchar2(32767 byte);
2322
begin
24-
l_call_stmt := 'begin :a_reporter.'||l_method||'( :a_item ); end;';
25-
23+
l_call_stmt :=
24+
'declare' ||
25+
' v_reporter ut_reporter := :a_reporter; ' ||
26+
'begin' ||
27+
' v_reporter.'||l_method||'( treat( :a_item as '||a_item.self_type||')); ' ||
28+
' :a_reporter := v_reporter; ' ||
29+
'end;';
2630
for i in 1..self.reporters.count loop
27-
l_reporter := self.reporters(i);
28-
execute immediate l_call_stmt using in out l_reporter, in a_item;
29-
self.reporters(i) := l_reporter;
31+
execute immediate l_call_stmt using in out self.reporters(i), in treat(a_item as ut_suite_item);
3032
end loop;
3133

3234
end;

source/core/types/ut_run.tpb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ create or replace type body ut_run as
1313
end;
1414

1515
overriding member function do_execute(self in out nocopy ut_run, a_listener in out nocopy ut_event_listener_base) return boolean is
16-
l_suite_object ut_suite;
1716
l_completed_without_errors boolean;
1817
begin
1918
ut_utils.debug_log('ut_run.execute');
@@ -23,7 +22,7 @@ create or replace type body ut_run as
2322
self.start_time := current_timestamp;
2423

2524
for i in 1 .. self.items.count loop
26-
l_completed_without_errors := l_suite_object.do_execute(a_listener);
25+
l_completed_without_errors := self.items(i).do_execute(a_listener);
2726
end loop;
2827

2928
self.calc_execution_result;

0 commit comments

Comments
 (0)