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

Skip to content

Commit 21a812d

Browse files
committed
Fixing code duplication
1 parent d2fd0f2 commit 21a812d

5 files changed

Lines changed: 31 additions & 38 deletions

File tree

source/core/types/ut_test.tpb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,5 +162,26 @@ create or replace type body ut_test as
162162
end loop;
163163
return l_outputs;
164164
end;
165+
166+
member function get_failed_expectations_cdata return ut_varchar2_rows is
167+
c_cdata_start_tag constant varchar2(30) := '<![CDATA[';
168+
c_cdata_end_tag constant varchar2(10) := ']]>';
169+
c_cdata_end_tag_wrap constant varchar2(30) := ']]'||c_cdata_end_tag||c_cdata_start_tag||'>';
170+
l_results ut_varchar2_rows;
171+
l_lines ut_varchar2_list;
172+
begin
173+
ut_utils.append_to_list( l_results, c_cdata_start_tag);
174+
for i in 1 .. self.failed_expectations.count loop
175+
l_lines := self.failed_expectations(i).get_result_lines();
176+
for j in 1 .. l_lines.count loop
177+
--Encapsulate nested CDATA in results
178+
ut_utils.append_to_list( l_results, replace( l_lines(j), c_cdata_end_tag, c_cdata_end_tag_wrap ) );
179+
end loop;
180+
ut_utils.append_to_list( l_results, replace( self.failed_expectations(i).caller_info, c_cdata_end_tag, c_cdata_end_tag_wrap ) );
181+
end loop;
182+
ut_utils.append_to_list( l_results, c_cdata_end_tag);
183+
return l_results;
184+
end;
185+
165186
end;
166187
/

source/core/types/ut_test.tps

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ create or replace type ut_test under ut_suite_item (
6464
overriding member procedure calc_execution_result(self in out nocopy ut_test),
6565
overriding member procedure mark_as_errored(self in out nocopy ut_test, a_error_stack_trace varchar2),
6666
overriding member function get_error_stack_traces(self ut_test) return ut_varchar2_list,
67-
overriding member function get_serveroutputs return clob
67+
overriding member function get_serveroutputs return clob,
68+
member function get_failed_expectations_cdata return ut_varchar2_rows
6869
)
6970
/

source/reporters/ut_junit_reporter.tpb

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,12 @@ create or replace type body ut_junit_reporter is
5353
if a_test.result = ut_utils.gc_error then
5454
ut_utils.append_to_list( l_results, '<error>');
5555
ut_utils.append_to_list( l_results, c_cdata_start_tag);
56-
ut_utils.append_to_list( l_results, ut_utils.convert_collection(a_test.get_error_stack_traces()) );
56+
ut_utils.append_to_list( l_results, replace( ut_utils.table_to_clob(a_test.get_error_stack_traces()), c_cdata_end_tag, c_cdata_end_tag_wrap ));
5757
ut_utils.append_to_list( l_results, c_cdata_end_tag);
5858
ut_utils.append_to_list( l_results, '</error>');
5959
elsif a_test.result > ut_utils.gc_success then
6060
ut_utils.append_to_list( l_results, '<failure>');
61-
ut_utils.append_to_list( l_results, c_cdata_start_tag);
62-
for i in 1 .. a_test.failed_expectations.count loop
63-
l_lines := a_test.failed_expectations(i).get_result_lines();
64-
for j in 1 .. l_lines.count loop
65-
--Encapsulate nested CDATA in results
66-
ut_utils.append_to_list( l_results, replace( l_lines(j), c_cdata_end_tag, c_cdata_end_tag_wrap ) );
67-
end loop;
68-
ut_utils.append_to_list( l_results, replace( a_test.failed_expectations(i).caller_info, c_cdata_end_tag, c_cdata_end_tag_wrap ) );
69-
end loop;
70-
ut_utils.append_to_list( l_results, c_cdata_end_tag);
61+
ut_utils.append_to_list( l_results, a_test.get_failed_expectations_cdata() );
7162
ut_utils.append_to_list( l_results, '</failure>');
7263
end if;
7364
-- TODO - decide if we need/want to use the <system-err/> tag too

source/reporters/ut_sonar_test_reporter.tpb

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,29 +47,19 @@ create or replace type body ut_sonar_test_reporter is
4747
c_cdata_end_tag constant varchar2(10) := ']]>';
4848
c_cdata_end_tag_wrap constant varchar2(30) := ']]'||c_cdata_end_tag||c_cdata_start_tag||'>';
4949
l_results ut_varchar2_rows := ut_varchar2_rows();
50-
l_lines ut_varchar2_list;
5150
begin
5251
ut_utils.append_to_list( l_results, '<testCase name="'||dbms_xmlgen.convert(a_test.name)||'" duration="'||round(a_test.execution_time()*1000,0)||'" >');
5352
if a_test.result = ut_utils.gc_disabled then
5453
ut_utils.append_to_list( l_results, '<skipped message="skipped"/>');
5554
elsif a_test.result = ut_utils.gc_error then
5655
ut_utils.append_to_list( l_results, '<error message="encountered errors">');
5756
ut_utils.append_to_list( l_results, c_cdata_start_tag);
58-
ut_utils.append_to_list( l_results, ut_utils.table_to_clob(a_test.get_error_stack_traces()));
57+
ut_utils.append_to_list( l_results, replace( ut_utils.table_to_clob(a_test.get_error_stack_traces()), c_cdata_end_tag, c_cdata_end_tag_wrap ));
5958
ut_utils.append_to_list( l_results, c_cdata_end_tag);
6059
ut_utils.append_to_list( l_results, '</error>');
6160
elsif a_test.result > ut_utils.gc_success then
6261
ut_utils.append_to_list( l_results, '<failure message="some expectations have failed">');
63-
ut_utils.append_to_list( l_results, c_cdata_start_tag);
64-
for i in 1 .. a_test.failed_expectations.count loop
65-
l_lines := a_test.failed_expectations(i).get_result_lines();
66-
for j in 1 .. l_lines.count loop
67-
--Encapsulate nested CDATA in results
68-
ut_utils.append_to_list( l_results, replace( l_lines(j), c_cdata_end_tag, c_cdata_end_tag_wrap ) );
69-
end loop;
70-
ut_utils.append_to_list( l_results, replace( a_test.failed_expectations(i).caller_info, c_cdata_end_tag, c_cdata_end_tag_wrap ) );
71-
end loop;
72-
ut_utils.append_to_list( l_results, c_cdata_end_tag);
62+
ut_utils.append_to_list( l_results, a_test.get_failed_expectations_cdata() );
7363
ut_utils.append_to_list( l_results, '</failure>');
7464
end if;
7565
ut_utils.append_to_list( l_results, '</testCase>');

source/reporters/ut_tfs_junit_reporter.tpb

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ create or replace type body ut_tfs_junit_reporter is
5858

5959
procedure print_test_results(a_test ut_test) is
6060
l_results ut_varchar2_rows := ut_varchar2_rows();
61-
l_lines ut_varchar2_list;
6261
begin
6362
self.print_text('<testcase classname="' || dbms_xmlgen.convert(get_path(a_test.path, a_test.name)) || '" ' ||
6463
get_common_testcase_attributes(a_test) || '>');
@@ -73,22 +72,13 @@ create or replace type body ut_tfs_junit_reporter is
7372
if a_test.result = ut_utils.gc_error then
7473
ut_utils.append_to_list( l_results, '<error type="error" message="Error while executing '||a_test.name||'">');
7574
ut_utils.append_to_list( l_results, c_cdata_start_tag);
76-
ut_utils.append_to_list( l_results, ut_utils.table_to_clob(a_test.get_error_stack_traces()));
75+
ut_utils.append_to_list( l_results, replace( ut_utils.table_to_clob(a_test.get_error_stack_traces()), c_cdata_end_tag, c_cdata_end_tag_wrap ));
7776
ut_utils.append_to_list( l_results, c_cdata_end_tag);
7877
ut_utils.append_to_list( l_results, '</error>');
7978
-- Do not count error as failure
8079
elsif a_test.result = ut_utils.gc_failure then
8180
ut_utils.append_to_list( l_results, '<failure type="failure" message="Test '||a_test.name||' failed">');
82-
ut_utils.append_to_list( l_results, c_cdata_start_tag);
83-
for i in 1 .. a_test.failed_expectations.count loop
84-
l_lines := a_test.failed_expectations(i).get_result_lines();
85-
for j in 1 .. l_lines.count loop
86-
--Encapsulate nested CDATA in results
87-
ut_utils.append_to_list( l_results, replace( l_lines(j), c_cdata_end_tag, c_cdata_end_tag_wrap ) );
88-
end loop;
89-
ut_utils.append_to_list( l_results, replace( a_test.failed_expectations(i).caller_info, c_cdata_end_tag, c_cdata_end_tag_wrap ) );
90-
end loop;
91-
ut_utils.append_to_list( l_results, c_cdata_end_tag);
81+
ut_utils.append_to_list( l_results, a_test.get_failed_expectations_cdata() );
9282
ut_utils.append_to_list( l_results, '</failure>');
9383
end if;
9484

@@ -127,7 +117,7 @@ create or replace type body ut_tfs_junit_reporter is
127117
if l_outputs is not null and l_outputs != empty_clob() then
128118
ut_utils.append_to_list( l_results, '<system-out>');
129119
ut_utils.append_to_list( l_results, c_cdata_start_tag);
130-
ut_utils.append_to_list( l_results, l_outputs);
120+
ut_utils.append_to_list( l_results, replace( l_outputs, c_cdata_end_tag, c_cdata_end_tag_wrap ) );
131121
ut_utils.append_to_list( l_results, c_cdata_end_tag);
132122
ut_utils.append_to_list( l_results, '</system-out>');
133123
else
@@ -138,7 +128,7 @@ create or replace type body ut_tfs_junit_reporter is
138128
if l_errors is not empty then
139129
ut_utils.append_to_list( l_results, '<system-err>');
140130
ut_utils.append_to_list( l_results, c_cdata_start_tag);
141-
ut_utils.append_to_list( l_results, ut_utils.table_to_clob(l_errors));
131+
ut_utils.append_to_list( l_results, replace( ut_utils.table_to_clob(l_errors), c_cdata_end_tag, c_cdata_end_tag_wrap ) );
142132
ut_utils.append_to_list( l_results, c_cdata_end_tag);
143133
ut_utils.append_to_list( l_results, '</system-err>');
144134
else

0 commit comments

Comments
 (0)