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

Skip to content

Commit 78a0d41

Browse files
committed
Provided a test to reproduce the issue with length function not working properly.
1 parent d160610 commit 78a0d41

2 files changed

Lines changed: 44 additions & 1 deletion

File tree

tests/RunAll.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ create table ut$test_table (val varchar2(1));
3434
exec ut_coverage.coverage_start_develop();
3535
@@lib/mystats/mystats start
3636

37-
3837
@@lib/RunTest.sql ut_annotations/ut_annotations.parse_package_annotations.IgnoreWrappedPackageAndDoesNotRaiseException.sql
3938
@@lib/RunTest.sql ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationMixedWithWrongBeforeProcedure.sql
4039
@@lib/RunTest.sql ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationNotBeforeProcedure.sql
@@ -228,6 +227,7 @@ exec ut_coverage.coverage_start_develop();
228227

229228
@@ut_utils/ut_utils.clob_to_table.sql
230229
@@ut_utils/ut_utils.table_to_clob.sql
230+
@@lib/RunTest.sql ut_utils/ut_utils.append_to_clob.worksWithMultiByteChars.sql
231231
@@lib/RunTest.sql ut_utils/ut_utils.test_result_to_char.RunsWithInvalidValues.sql
232232
@@lib/RunTest.sql ut_utils/ut_utils.test_result_to_char.RunsWithNullValue.sql
233233
@@lib/RunTest.sql ut_utils/ut_utils.test_result_to_char.Success.sql
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
column nls_lang noprint new_value v_nls_lang
2+
3+
select value as nls_lang from nls_session_parameters where parameter = 'NLS_DATE_LANGUAGE';
4+
5+
--Arrange
6+
alter session set nls_date_language=ENGLISH;
7+
create or replace package tst_chars as
8+
-- 2) Status of the process = ‘PE’ with no linked data
9+
end;
10+
/
11+
12+
alter session set nls_date_language=RUSSIAN;
13+
14+
--Act
15+
declare
16+
l_lines sys.dbms_preprocessor.source_lines_t;
17+
l_result clob;
18+
begin
19+
l_lines := sys.dbms_preprocessor.get_post_processed_source(
20+
object_type => 'PACKAGE',
21+
schema_name => user,
22+
object_name => 'TST_CHARS'
23+
);
24+
:test_result := ut_utils.tr_success;
25+
for i in 1..l_lines.count loop
26+
l_result := null;
27+
ut_utils.append_to_clob(l_result, l_lines(i));
28+
29+
--Assert
30+
:test_result := coalesce(:test_result, ut_utils.tr_success);
31+
if dbms_lob.getlength(l_result) != dbms_lob.getlength(l_lines(i)) then
32+
:test_result := ut_utils.tr_failure;
33+
dbms_output.put_line('Expected: "'||l_lines(i)||'"');
34+
dbms_output.put_line('Actual: "'||l_result||'"');
35+
end if;
36+
end loop;
37+
end;
38+
/
39+
40+
alter session set nls_date_language=&&v_nls_lang;
41+
42+
undef v_nls_lang;
43+
drop package tst_chars;

0 commit comments

Comments
 (0)