@@ -994,18 +994,16 @@ Rows: [ 4 differences ]
994994 procedure reports_on_exception_in_cursor
995995 as
996996 l_actual sys_refcursor;
997- l_error_code integer := -19202; --Error occurred in XML processing
998997 begin
999998 --Act
1000999 open l_actual for select 1/0 as error_column from dual connect by level < 10;
1001- begin
10021000 ut3.ut.expect(l_actual).to_be_empty();
1003- --Assert
1004- ut.fail('Expected '||l_error_code||' but nothing was raised ');
1005- exception
1006- when others then
1007- ut.expect(sqlcode).to_equal(l_error_code);
1008- end;
1001+
1002+ ut.fail('Expected exception on cursor fetch ');
1003+ exception
1004+ when others then
1005+ ut.expect(sqlerrm).to_be_like('%ORA-20218: SQL exception thrown when fetching data from cursor:%
1006+ %ORA-01476: divisor is equal to zero%Check the query and data for errors%');
10091007 end;
10101008
10111009 procedure exception_when_closed_cursor
@@ -2545,5 +2543,80 @@ Diff:%
25452543 ut.expect(l_actual_message).to_be_like(l_expected_message);
25462544 end;
25472545
2546+ procedure xml_error_actual is
2547+ l_actual sys_refcursor;
2548+ l_expected sys_refcursor;
2549+ l_exp_message varchar2(32000);
2550+ begin
2551+ l_exp_message :='ORA-20218: SQL exception thrown when fetching data from cursor:
2552+ ORA-01476: divisor is equal to zero
2553+ at "UT3$USER#.TEST_EXPECTATIONS_CURSOR%", line 2561 ut3.ut.expect(l_actual).to_equal(l_expected);%
2554+ Check the query and data for errors.';
2555+
2556+ open l_actual for
2557+ select 1 as test from dual;
2558+ open l_expected for
2559+ select 1/0 as test from dual;
2560+
2561+ ut3.ut.expect(l_actual).to_equal(l_expected);
2562+ --Line that error relates to in expected messag
2563+
2564+ ut.fail('Expected exception on cursor fetch');
2565+ exception
2566+ when others then
2567+ ut.expect(sqlerrm).to_be_like(l_exp_message);
2568+ end;
2569+
2570+ procedure xml_error_expected is
2571+ l_actual sys_refcursor;
2572+ l_expected sys_refcursor;
2573+ l_exp_message varchar2(32000);
2574+ begin
2575+
2576+ l_exp_message :='ORA-20218: SQL exception thrown when fetching data from cursor:
2577+ ORA-01476: divisor is equal to zero
2578+ at "UT3$USER#.TEST_EXPECTATIONS_CURSOR%", line 2586 ut3.ut.expect(l_actual).to_equal(l_expected);%
2579+ Check the query and data for errors.';
2580+
2581+ open l_expected for
2582+ select 1/0 as test from dual;
2583+ open l_actual for
2584+ select 1 as test from dual;
2585+
2586+ ut3.ut.expect(l_actual).to_equal(l_expected);
2587+
2588+ ut.fail('Expected exception on cursor fetch');
2589+ exception
2590+ when others then
2591+ ut.expect(sqlerrm).to_be_like(l_exp_message);
2592+ end;
2593+
2594+ procedure no_length_datatypes is
2595+ l_actual sys_refcursor;
2596+ l_expected sys_refcursor;
2597+ begin
2598+ ut3.ut.set_nls;
2599+ open l_expected for
2600+ select cast(3.14 as binary_double) as pi_double,
2601+ cast(3.14 as binary_float) as pi_float,
2602+ rowid as row_rowid,
2603+ numtodsinterval(1.12345678912, 'day') row_ds_interval,
2604+ numtoyminterval(1.1, 'year') row_ym_interval
2605+ from dual;
2606+
2607+ open l_actual for
2608+ select cast(3.14 as binary_double) as pi_double,
2609+ cast(3.14 as binary_float) as pi_float,
2610+ rowid as row_rowid,
2611+ numtodsinterval(1.12345678912, 'day') row_ds_interval,
2612+ numtoyminterval(1.1, 'year') row_ym_interval
2613+ from dual;
2614+ --Act
2615+ ut3.ut.expect( l_actual ).to_equal( l_expected );
2616+ --Assert
2617+ ut.expect(ut3_tester_helper.main_helper.get_failed_expectations_num).to_equal(0);
2618+ ut3.ut.reset_nls;
2619+
2620+ end;
25482621end;
25492622/
0 commit comments