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

Skip to content

Commit d46994e

Browse files
committed
fixed anydata for nullity
changed dynamic listener calls to static
1 parent 0b03770 commit d46994e

4 files changed

Lines changed: 69 additions & 14 deletions

File tree

source/core/types/ut_event_listener.tpb

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,58 @@ 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_call_stmt varchar2(32767 byte);
2220
begin
23-
l_call_stmt :=
24-
'declare' ||
25-
' v_reporter ut_reporter_base := :a_reporter; ' ||
26-
'begin' ||
27-
' v_reporter.'||l_method||'( treat( :a_item as '||a_item.self_type||')); ' ||
28-
' :a_reporter := v_reporter; ' ||
29-
'end;';
3021
for i in 1..self.reporters.count loop
31-
execute immediate l_call_stmt using in out self.reporters(i), in treat(a_item as ut_suite_item);
22+
case a_event_timing
23+
when 'before' then
24+
case a_event_name
25+
when ut_utils.gc_run then
26+
self.reporters(i).before_calling_run(treat(a_item as ut_run));
27+
when ut_utils.gc_suite then
28+
self.reporters(i).before_calling_suite(treat(a_item as ut_suite));
29+
when ut_utils.gc_before_all then
30+
self.reporters(i).before_calling_before_all(treat(a_item as ut_suite));
31+
when ut_utils.gc_before_each then
32+
self.reporters(i).before_calling_before_each(treat(a_item as ut_suite));
33+
when ut_utils.gc_test then
34+
self.reporters(i).before_calling_test(treat(a_item as ut_test));
35+
when ut_utils.gc_before_test then
36+
self.reporters(i).before_calling_before_test(treat(a_item as ut_test));
37+
when ut_utils.gc_after_test then
38+
self.reporters(i).before_calling_after_test(treat(a_item as ut_test));
39+
when ut_utils.gc_after_each then
40+
self.reporters(i).before_calling_after_each(treat(a_item as ut_suite));
41+
when ut_utils.gc_after_all then
42+
self.reporters(i).before_calling_after_all(treat(a_item as ut_suite));
43+
else
44+
raise_application_error(ut_utils.gc_invalid_rep_event_name,'Inavlid reporting event name - '|| nvl(a_event_name,'NULL'));
45+
end case;
46+
when 'after' then
47+
case a_event_name
48+
when ut_utils.gc_run then
49+
self.reporters(i).after_calling_run(treat(a_item as ut_run));
50+
when ut_utils.gc_suite then
51+
self.reporters(i).after_calling_suite(treat(a_item as ut_suite));
52+
when ut_utils.gc_before_all then
53+
self.reporters(i).after_calling_before_all(treat(a_item as ut_suite));
54+
when ut_utils.gc_before_each then
55+
self.reporters(i).after_calling_before_each(treat(a_item as ut_suite));
56+
when ut_utils.gc_test then
57+
self.reporters(i).after_calling_test(treat(a_item as ut_test));
58+
when ut_utils.gc_before_test then
59+
self.reporters(i).after_calling_before_test(treat(a_item as ut_test));
60+
when ut_utils.gc_after_test then
61+
self.reporters(i).after_calling_after_test(treat(a_item as ut_test));
62+
when ut_utils.gc_after_each then
63+
self.reporters(i).after_calling_after_each(treat(a_item as ut_suite));
64+
when ut_utils.gc_after_all then
65+
self.reporters(i).after_calling_after_all(treat(a_item as ut_suite));
66+
else
67+
raise_application_error(ut_utils.gc_invalid_rep_event_name,'Inavlid reporting event name - '|| nvl(a_event_name,'NULL'));
68+
end case;
69+
else
70+
raise_application_error(ut_utils.gc_invalid_rep_event_time,'Inavlid reporting event time - '|| nvl(a_event_timing,'NULL'));
71+
end case;
3272
end loop;
3373

3474
end;

source/core/ut_utils.pks

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ create or replace package ut_utils authid definer is
1818
gc_after_test constant varchar2(10) := 'after_test';
1919
gc_after_each constant varchar2(12) := 'after_each';
2020
gc_after_all constant varchar2(12) := 'after_all';
21-
gc_after_run constant varchar2(12) := 'after_run';
2221

2322
/* Constants: Test Results */
2423
tr_ignore constant number(1) := 0; -- test/suite was ignored
@@ -49,6 +48,16 @@ create or replace package ut_utils authid definer is
4948
ex_invalid_path_format exception;
5049
gc_invalid_path_format constant pls_integer := -20202;
5150
pragma exception_init(ex_invalid_path_format, -20202);
51+
52+
-- Reporting event time not supported
53+
ex_invalid_rep_event_time exception;
54+
gc_invalid_rep_event_time constant pls_integer := -20210;
55+
pragma exception_init(ex_invalid_rep_event_time, -20210);
56+
57+
-- Reporting event name not supported
58+
ex_invalid_rep_event_name exception;
59+
gc_invalid_rep_event_name constant pls_integer := -20211;
60+
pragma exception_init(ex_invalid_rep_event_name, -20211);
5261

5362

5463
gc_max_output_string_length constant integer := 4000;

source/expectations/data_values/ut_data_value_anydata.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ create or replace type body ut_data_value_anydata as
33
constructor function ut_data_value_anydata(self in out nocopy ut_data_value_anydata, a_value anydata) return self as result is
44
begin
55
self.datavalue := a_value;
6-
self.datatype := lower(a_value.gettypename);
6+
self.datatype := case when a_value is not null then lower(a_value.gettypename) else 'null' end;
77
return;
88
end;
99

tests/asssertions/ut.expect.to_equal.anydata.PutsObjectStrucureIntoAssert.sql

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,14 @@ begin
1111
l_assert_result := treat(ut_assert_processor.get_asserts_results()(1) as ut_assert_result);
1212

1313
--Assert
14-
if l_assert_result.expected_value_string like '''<DEPARTMENT%><DEPT_NAME>HR</DEPT_NAME></DEPARTMENT%>'''
15-
and l_assert_result.actual_value_string like '''<DEPARTMENT%><DEPT_NAME>it</DEPT_NAME></DEPARTMENT%>'''
14+
if l_assert_result.expected_value_string like '''<DEPARTMENT%>
15+
<DEPT_NAME>HR</DEPT_NAME>
16+
</DEPARTMENT%>
17+
'''
18+
and l_assert_result.actual_value_string like '''<DEPARTMENT%>
19+
<DEPT_NAME>it</DEPT_NAME>
20+
</DEPARTMENT%>
21+
'''
1622
then
1723
:test_result := ut_utils.tr_success;
1824
else

0 commit comments

Comments
 (0)