From b7f53aebb09c0d6a1612be78625dfc791dbf9dfd Mon Sep 17 00:00:00 2001 From: Chandra Sanapala Date: Tue, 10 Dec 2024 04:05:38 +0530 Subject: [PATCH] feat: add trim/ltrim/rtrim with single input argument to remove spaces --- tests/cases/string/ltrim.test | 6 +++++- tests/cases/string/rtrim.test | 6 +++++- tests/cases/string/trim.test | 6 +++++- tests/test_extensions.py | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/cases/string/ltrim.test b/tests/cases/string/ltrim.test index 5ef786c1f..ff54804f8 100644 --- a/tests/cases/string/ltrim.test +++ b/tests/cases/string/ltrim.test @@ -24,7 +24,7 @@ ltrim('aaaaabc'::str, 'a'::str) [spaces_only:FALSE] = 'bc'::str ltrim('abcabcdef'::str, 'abc'::str) [spaces_only:FALSE] = 'def'::str ltrim('abccbadef'::str, 'abc'::str) [spaces_only:FALSE] = 'def'::str -# ltrim with varchar +# varchar ltrim('abc'::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> ltrim(' abc'::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> ltrim('abc '::vchar<20>, ' '::vchar<5>) = 'abc '::vchar<20> @@ -35,3 +35,7 @@ ltrim('abc '::vchar<20>) = 'abc '::vchar<20> ltrim(' abc '::vchar<20>) = 'abc '::vchar<20> ltrim('aaaaabc'::vchar<20>, 'a'::vchar<9>) [spaces_only:False] = 'bc'::vchar<20> ltrim('abcabcdef'::vchar<20>, 'abc'::vchar<9>) [spaces_only:False] = 'def'::vchar<20> +ltrim(' \t\tHello World'::vchar<30>) = '\t\tHello World'::vchar<30> +ltrim(' \n\nHello World'::vchar<30>) = '\n\nHello World'::vchar<30> +ltrim(' \r\rHello World'::vchar<30>) = '\r\rHello World'::vchar<30> +ltrim(' \u2003Hello World'::vchar<30>) = '\u2003Hello World'::vchar<30> diff --git a/tests/cases/string/rtrim.test b/tests/cases/string/rtrim.test index e39f9b8a1..add1597ae 100644 --- a/tests/cases/string/rtrim.test +++ b/tests/cases/string/rtrim.test @@ -24,7 +24,7 @@ rtrim('aaaaabccccc'::str, 'c'::str) [spaces_only:FALSE] = 'aaaaab'::str rtrim('abcabcdef'::str, 'def'::str) [spaces_only:FALSE] = 'abcabc'::str rtrim('defabccba'::str, 'abc'::str) [spaces_only:FALSE] = 'def'::str -# rtrim with varchar +# varchar rtrim('abc'::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> rtrim(' abc'::vchar<20>, ' '::vchar<5>) = ' abc'::vchar<20> rtrim('abc '::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> @@ -35,3 +35,7 @@ rtrim('abc '::vchar<20>) = 'abc'::vchar<20> rtrim(' abc '::vchar<20>) = ' abc'::vchar<20> rtrim('aaaaabccccc'::vchar<20>, 'c'::vchar<9>) [spaces_only:False] = 'aaaaab'::vchar<20> rtrim('abcabcdef'::vchar<20>, 'def'::vchar<9>) [spaces_only:False] = 'abcabc'::vchar<20> +rtrim('Hello World\t\t '::vchar<30>) = 'Hello World\t\t'::vchar<30> +rtrim('Hello World\n\n '::vchar<30>) = 'Hello World\n\n'::vchar<30> +rtrim('Hello World\r\r '::vchar<30>) = 'Hello World\r\r'::vchar<30> +rtrim('Hello World\u2003 '::vchar<30>) = 'Hello World\u2003'::vchar<30> diff --git a/tests/cases/string/trim.test b/tests/cases/string/trim.test index e020606fc..f69c720a7 100644 --- a/tests/cases/string/trim.test +++ b/tests/cases/string/trim.test @@ -24,7 +24,7 @@ trim('aaaaabcccccaaa'::str, 'a'::str) [spaces_only:False] = 'bccccc'::str trim('defabcabcdef'::str, 'def'::str) [spaces_only:False] = 'abcabc'::str trim('abcdefcbaa'::str, 'abc'::str) [spaces_only:False] = 'def'::str -# trim with varchar +# varchar trim('abc'::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> trim(' abc'::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> trim('abc '::vchar<20>, ' '::vchar<5>) = 'abc'::vchar<20> @@ -35,3 +35,7 @@ trim('abc '::vchar<20>) = 'abc'::vchar<20> trim(' abc '::vchar<20>) = 'abc'::vchar<20> trim('aaaaabcccccaaa'::vchar<20>, 'a'::vchar<9>) [spaces_only:False] = 'bccccc'::vchar<20> trim('defabcabcdef'::vchar<20>, 'def'::vchar<9>) [spaces_only:False] = 'abcabc'::vchar<20> +trim(' \tHello World\t '::vchar<30>) = '\tHello World\t'::vchar<30> +trim(' \nHello World\n '::vchar<30>) = '\nHello World\n'::vchar<30> +trim(' \rHello World\r '::vchar<30>) = '\rHello World\r'::vchar<30> +trim(' \u2003Hello World\u2003 '::vchar<30>) = '\u2003Hello World\u2003'::vchar<30> diff --git a/tests/test_extensions.py b/tests/test_extensions.py index 721fe9fc3..58945ab28 100644 --- a/tests/test_extensions.py +++ b/tests/test_extensions.py @@ -24,7 +24,7 @@ def test_substrait_extension_coverage(): all_test_files = load_all_testcases(test_case_dir) coverage = get_test_coverage(all_test_files, registry) - assert coverage.test_count >= 1128 + assert coverage.test_count >= 1140 assert ( coverage.num_tests_with_no_matching_function == 0 ), f"{coverage.num_tests_with_no_matching_function} tests with no matching function"