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

Skip to content

Commit 1323ac1

Browse files
authored
Merge pull request #667 from lwasylow/fix/reporterclassname
Fixes classname not appearing when procedure name showing as mixed case, regression bug
2 parents b30ce47 + e544921 commit 1323ac1

3 files changed

Lines changed: 42 additions & 5 deletions

File tree

source/core/ut_suite_builder.pkb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,15 @@ create or replace package body ut_suite_builder is
105105
l_annotation_pos binary_integer;
106106
begin
107107
l_result.owner := a_object.object_owner;
108-
l_result.name := a_object.object_name;
108+
l_result.name := lower(trim(a_object.object_name));
109109
l_annotation_no := a_object.annotations.first;
110110
while l_annotation_no is not null loop
111111
l_annotation_pos := a_object.annotations(l_annotation_no).position;
112112
if a_object.annotations(l_annotation_no).subobject_name is null then
113113
l_result.annotations(l_annotation_pos).name := a_object.annotations(l_annotation_no).name;
114114
l_result.annotations(l_annotation_pos).text := a_object.annotations(l_annotation_no).text;
115115
else
116-
l_result.annotations(l_annotation_pos).procedure_name := a_object.annotations(l_annotation_no).subobject_name;
116+
l_result.annotations(l_annotation_pos).procedure_name := lower(trim(a_object.annotations(l_annotation_no).subobject_name));
117117
l_result.annotations(l_annotation_pos).procedure_annotations := get_procedure_annotations(a_object.annotations, l_annotation_no);
118118
end if;
119119
l_annotation_no := a_object.annotations.next(l_annotation_no);

test/core/reporters/test_junit_reporter.pkb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@ create or replace package body test_junit_reporter as
6262
procedure test1 is begin ut.expect(1).to_equal(1); end;
6363
end;]';
6464

65+
66+
execute immediate q'[create or replace package Tst_Fix_Case_Sensitive as
67+
--%suite
68+
69+
--%test(bugfix)
70+
procedure bUgFiX;
71+
end;]';
72+
73+
execute immediate q'[create or replace package body Tst_Fix_Case_Sensitive as
74+
procedure bUgFiX is begin ut.expect(1).to_equal(1); end;
75+
end;]';
76+
6577
reporters.reporters_setup;
6678

6779
end;
@@ -267,13 +279,35 @@ create or replace package body test_junit_reporter as
267279
ut.expect(l_actual).to_be_like(l_expected);
268280
end;
269281

282+
procedure check_classname_is_populated is
283+
l_results ut3.ut_varchar2_list;
284+
l_actual clob;
285+
l_expected varchar2(32767):= q'[<testsuites tests="1" disabled="0" errors="0" failures="0" name="" time="%" >
286+
<testsuite tests="1" id="1" package="tst_fix_case_sensitive" disabled="0" errors="0" failures="0" name="tst_fix_case_sensitive" time="%" >
287+
<testcase classname="tst_fix_case_sensitive" assertions="0" name="bugfix" time="%" >
288+
<system-out/>
289+
<system-err/>
290+
</testcase>
291+
<system-out/>
292+
<system-err/>
293+
</testsuite>
294+
</testsuites>]';
295+
begin
296+
select *
297+
bulk collect into l_results
298+
from table(ut3.ut.run('Tst_Fix_Case_Sensitive',ut3.ut_junit_reporter()));
299+
l_actual := ut3.ut_utils.table_to_clob(l_results);
300+
ut.expect(l_actual).to_be_like(l_expected);
301+
end;
302+
270303
procedure remove_test_package is
271304
pragma autonomous_transaction;
272305
begin
273306
execute immediate 'drop package check_junit_reporting';
274307
execute immediate 'drop package check_junit_rep_suitepath';
275308
execute immediate 'drop package tst_package_junit_nodesc';
276309
execute immediate 'drop package tst_package_junit_nosuite';
310+
execute immediate 'drop package Tst_Fix_Case_Sensitive';
277311
reporters.reporters_cleanup;
278312
end;
279313
end;

test/core/reporters/test_junit_reporter.pks

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,17 @@ create or replace package test_junit_reporter as
2727
--%test(Reports duration according to XML specification for numbers)
2828
procedure check_nls_number_formatting;
2929

30-
--%test(Report on test without description)
30+
--%test(Report on test without description)
3131
procedure report_test_without_desc;
3232

33-
--%test(Report on suite without description)
33+
--%test(Report on suite without description)
3434
procedure report_suite_without_desc;
3535

36-
--%test(Report produces expected output)
36+
--%test(Report produces expected output)
3737
procedure reporort_produces_expected_out;
38+
39+
--%test( Check classname is populated when procedure is mixed cased - bug #659)
40+
procedure check_classname_is_populated;
3841

3942
--%afterall
4043
procedure remove_test_package;

0 commit comments

Comments
 (0)