@@ -61,19 +61,35 @@ create or replace package body test_junit_reporter as
6161 execute immediate q'[create or replace package body tst_package_junit_nosuite as
6262 procedure test1 is begin ut.expect(1).to_equal(1); end;
6363 end;]';
64-
6564
66- execute immediate q'[create or replace package Tst_Fix_Case_Sensitive as
65+ execute immediate q'[create or replace package Tst_Fix_Case_Sensitive as
6766 --%suite
6867
6968 --%test(bugfix)
7069 procedure bUgFiX;
71- end;]';
70+ end;]';
7271
7372 execute immediate q'[create or replace package body Tst_Fix_Case_Sensitive as
7473 procedure bUgFiX is begin ut.expect(1).to_equal(1); end;
7574 end;]';
7675
76+ execute immediate q'[create or replace package check_fail_escape is
77+ --%suitepath(core)
78+ --%suite(checkfailedescape)
79+ --%displayname(Check JUNIT XML failure is escaped)
80+
81+ --%test(Fail Miserably)
82+ procedure fail_miserably;
83+
84+ end;]';
85+
86+ execute immediate q'[create or replace package body check_fail_escape is
87+ procedure fail_miserably is
88+ begin
89+ ut3.ut.expect('test').to_equal('<![CDATA[some stuff]]>');
90+ end;
91+ end;]';
92+
7793 reporters.reporters_setup;
7894
7995 end;
@@ -279,6 +295,21 @@ create or replace package body test_junit_reporter as
279295 ut.expect(l_actual).to_be_like(l_expected);
280296 end;
281297
298+ procedure check_failure_escaped is
299+ l_results ut3.ut_varchar2_list;
300+ l_actual clob;
301+ begin
302+ --Act
303+ select *
304+ bulk collect into l_results
305+ from table(ut3.ut.run('check_fail_escape',ut3.ut_junit_reporter()));
306+ l_actual := ut3.ut_utils.table_to_clob(l_results);
307+ --Assert
308+ ut.expect(l_actual).to_be_like('%<![CDATA[%
309+ Actual: 'test' (varchar2) was expected to equal: '<![CDATA[some stuff]]>' (varchar2)%
310+ ]]>%');
311+ end;
312+
282313 procedure check_classname_is_populated is
283314 l_results ut3.ut_varchar2_list;
284315 l_actual clob;
@@ -307,6 +338,7 @@ create or replace package body test_junit_reporter as
307338 execute immediate 'drop package check_junit_rep_suitepath';
308339 execute immediate 'drop package tst_package_junit_nodesc';
309340 execute immediate 'drop package tst_package_junit_nosuite';
341+ execute immediate 'drop package check_fail_escape';
310342 execute immediate 'drop package Tst_Fix_Case_Sensitive';
311343 reporters.reporters_cleanup;
312344 end;
0 commit comments