|
1 | 1 | create or replace type body ut_execution_listener is |
2 | 2 |
|
3 | | - member procedure fire_before_event(self in out nocopy ut_execution_listener, a_event_name varchar2, a_item ut_suite_item) is |
| 3 | + constructor function ut_execution_listener(self in out nocopy ut_execution_listener, a_reporters ut_reporters) return self as result is |
| 4 | + begin |
| 5 | + reporters := a_reporters; |
| 6 | + return; |
| 7 | + end; |
| 8 | + |
| 9 | + overriding member procedure fire_before_event(self in out nocopy ut_execution_listener, a_event_name varchar2, a_item ut_suite_item) is |
4 | 10 | begin |
5 | 11 | self.fire_event('before', a_event_name, a_item); |
6 | 12 | end; |
7 | 13 |
|
8 | | - member procedure fire_after_event(self in out nocopy ut_execution_listener, a_event_name varchar2, a_item ut_suite_item) is |
| 14 | + overriding member procedure fire_after_event(self in out nocopy ut_execution_listener, a_event_name varchar2, a_item ut_suite_item) is |
9 | 15 | begin |
10 | 16 | self.fire_event('after', a_event_name, a_item); |
11 | 17 | end; |
12 | 18 |
|
13 | | - member procedure fire_event(self in out nocopy ut_execution_listener, event_timing varchar2, a_event_name varchar2, a_item ut_suite_item) is |
| 19 | + overriding member procedure fire_event(self in out nocopy ut_execution_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item) is |
| 20 | + l_method varchar2(250) := a_event_timing||'_calling_'||a_event_name; |
14 | 21 | begin |
15 | | - execute immediate 'declare ' || |
16 | | - ' l_listener ut_execution_listener := :a_listener;' || |
17 | | - 'begin ' || |
18 | | - ' l_listener.'||event_timing||'_calling_'||a_event_name||'( :a_item );' || |
19 | | - ' :a_result := l_listener;' || |
20 | | - 'end;' using in self, in a_item, out self; |
| 22 | + execute immediate |
| 23 | + 'declare ' || chr(10) || |
| 24 | + ' l_listener ut_execution_listener := :a_listener;' || chr(10) || |
| 25 | + 'begin ' || chr(10) || |
| 26 | + ' for i in 1 .. l_listener.reporters.count loop' || chr(10) || |
| 27 | + ' l_listener.reporters(i).'||l_method||'( :a_item );' || chr(10) || |
| 28 | + ' end loop;' || chr(10) || |
| 29 | + ' :a_result := l_listener;' || chr(10) || |
| 30 | + 'end;' |
| 31 | + using in self, in a_item, out self; |
21 | 32 | end; |
22 | 33 |
|
23 | | - member procedure before_run(self in out nocopy ut_execution_listener, a_suites in ut_suite_items) is |
24 | | - begin |
25 | | - for i in 1 .. self.reporters.count loop |
26 | | - self.reporters(i).before_run(a_suites => a_suites); |
27 | | - end loop; |
28 | | - end; |
29 | | - |
30 | | - member procedure after_run(self in out nocopy ut_execution_listener, a_suites in ut_suite_items) is |
31 | | - begin |
32 | | - for i in 1 .. self.reporters.count loop |
33 | | - self.reporters(i).after_run(a_suites => a_suites); |
34 | | - end loop; |
35 | | - end; |
36 | | - |
37 | | - -- suite hooks |
38 | | - member procedure before_suite(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
39 | | - begin |
40 | | - for i in 1 .. self.reporters.count loop |
41 | | - self.reporters(i).before_suite(a_suite => a_suite); |
42 | | - end loop; |
43 | | - end; |
44 | | - |
45 | | - member procedure before_calling_before_all(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
46 | | - begin |
47 | | - for i in 1 .. self.reporters.count loop |
48 | | - self.reporters(i).before_suite_setup(a_suite => a_suite); |
49 | | - end loop; |
50 | | - end; |
51 | | - |
52 | | - member procedure after_calling_before_all(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
53 | | - begin |
54 | | - for i in 1 .. self.reporters.count loop |
55 | | - self.reporters(i).after_suite_setup(a_suite => a_suite); |
56 | | - end loop; |
57 | | - end; |
58 | | - |
59 | | - member procedure before_suite_item(self in out nocopy ut_execution_listener, a_suite in ut_suite_item, a_item_index pls_integer) is |
60 | | - begin |
61 | | - for i in 1 .. self.reporters.count loop |
62 | | - self.reporters(i).before_suite_item(a_suite => a_suite, a_item_index => a_item_index); |
63 | | - end loop; |
64 | | - end; |
65 | | - |
66 | | - member procedure after_suite_item(self in out nocopy ut_execution_listener, a_suite in ut_suite_item, a_item_index pls_integer) is |
67 | | - begin |
68 | | - for i in 1 .. self.reporters.count loop |
69 | | - self.reporters(i).after_suite_item(a_suite => a_suite, a_item_index => a_item_index); |
70 | | - end loop; |
71 | | - end; |
72 | | - |
73 | | - member procedure before_calling_after_all(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
74 | | - begin |
75 | | - for i in 1 .. self.reporters.count loop |
76 | | - self.reporters(i).before_suite_teardown(a_suite => a_suite); |
77 | | - end loop; |
78 | | - end; |
79 | | - |
80 | | - member procedure after_calling_after_all(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
81 | | - begin |
82 | | - for i in 1 .. self.reporters.count loop |
83 | | - self.reporters(i).after_suite_teardown(a_suite => a_suite); |
84 | | - end loop; |
85 | | - end; |
86 | | - |
87 | | - member procedure after_suite(self in out nocopy ut_execution_listener, a_suite in ut_suite_item) is |
88 | | - begin |
89 | | - for i in 1 .. self.reporters.count loop |
90 | | - self.reporters(i).after_suite(a_suite => a_suite); |
91 | | - end loop; |
92 | | - end; |
93 | | - |
94 | | - -- test hooks |
95 | | - member procedure before_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
96 | | - begin |
97 | | - for i in 1 .. self.reporters.count loop |
98 | | - self.reporters(i).before_test(a_test => a_test); |
99 | | - end loop; |
100 | | - end; |
101 | | - |
102 | | - member procedure before_calling_before_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
103 | | - begin |
104 | | - for i in 1 .. self.reporters.count loop |
105 | | - self.reporters(i).before_test_setup(a_test => a_test); |
106 | | - end loop; |
107 | | - end; |
108 | | - |
109 | | - member procedure after_calling_before_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
110 | | - begin |
111 | | - for i in 1 .. self.reporters.count loop |
112 | | - self.reporters(i).after_test_setup(a_test => a_test); |
113 | | - end loop; |
114 | | - end; |
115 | | - |
116 | | - member procedure before_calling_test_execute(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
117 | | - begin |
118 | | - for i in 1 .. self.reporters.count loop |
119 | | - self.reporters(i).before_test_execute(a_test => a_test); |
120 | | - end loop; |
121 | | - end; |
122 | | - |
123 | | - member procedure after_calling_test_execute(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
124 | | - begin |
125 | | - for i in 1 .. self.reporters.count loop |
126 | | - self.reporters(i).after_test_execute(a_test => a_test); |
127 | | - end loop; |
128 | | - end; |
129 | | - |
130 | | - member procedure before_calling_after_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
131 | | - begin |
132 | | - for i in 1 .. self.reporters.count loop |
133 | | - self.reporters(i).before_test_teardown(a_test => a_test); |
134 | | - end loop; |
135 | | - end; |
136 | | - |
137 | | - member procedure after_calling_after_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
138 | | - begin |
139 | | - for i in 1 .. self.reporters.count loop |
140 | | - self.reporters(i).after_test_teardown(a_test => a_test); |
141 | | - end loop; |
142 | | - end; |
143 | | - |
144 | | - member procedure after_test(self in out nocopy ut_execution_listener, a_test in ut_suite_item) is |
145 | | - begin |
146 | | - for i in 1 .. self.reporters.count loop |
147 | | - self.reporters(i).after_test(a_test => a_test); |
148 | | - end loop; |
149 | | - end; |
150 | | - |
151 | 34 | end; |
152 | 35 | / |
0 commit comments