mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 09:32:01 +00:00
Merge pull request #69737 from ClickHouse/test_printf
added some edge cases for printf tests
This commit is contained in:
commit
a3fe155579
@ -1,21 +1,31 @@
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
%d: 123
|
||||
%d: -123
|
||||
%d: 0
|
||||
%d: 9223372036854775807
|
||||
%i: 123
|
||||
%u: 123
|
||||
%o: 173
|
||||
%x: 7b
|
||||
%X: 7B
|
||||
%f: 0.000000
|
||||
%f: 123.456000
|
||||
%f: -123.456000
|
||||
%F: 123.456000
|
||||
%e: 1.234560e+02
|
||||
%E: 1.234560E+02
|
||||
%g: 123.456
|
||||
%G: 123.456
|
||||
%a: 0x1.edd2f1a9fbe77p+6
|
||||
%A: 0X1.EDD2F1A9FBE77P+6
|
||||
%s: abc
|
||||
┌─printf('%%s: %s', '\n\t')─┐
|
||||
1. │ %s:
|
||||
│
|
||||
└───────────────────────────┘
|
||||
%s:
|
||||
%%: %
|
||||
%.5d: 00123
|
||||
%.2f: 123.46
|
||||
%.2e: 1.23e+02
|
||||
%.2g: 1.2e+02
|
||||
%.2s: ab
|
||||
|
@ -1,39 +1,47 @@
|
||||
-- Testing integer formats
|
||||
select printf('%%d: %d', 123) = '%d: 123';
|
||||
select printf('%%i: %i', 123) = '%i: 123';
|
||||
select printf('%%u: %u', 123) = '%u: 123';
|
||||
select printf('%%o: %o', 123) = '%o: 173';
|
||||
select printf('%%x: %x', 123) = '%x: 7b';
|
||||
select printf('%%X: %X', 123) = '%X: 7B';
|
||||
select printf('%%d: %d', 123);
|
||||
select printf('%%d: %d', -123);
|
||||
select printf('%%d: %d', 0);
|
||||
select printf('%%d: %d', 9223372036854775807);
|
||||
select printf('%%i: %i', 123);
|
||||
select printf('%%u: %u', 123);
|
||||
select printf('%%o: %o', 123);
|
||||
select printf('%%x: %x', 123);
|
||||
select printf('%%X: %X', 123);
|
||||
|
||||
-- Testing floating point formats
|
||||
select printf('%%f: %f', 123.456) = '%f: 123.456000';
|
||||
select printf('%%F: %F', 123.456) = '%F: 123.456000';
|
||||
select printf('%%e: %e', 123.456) = '%e: 1.234560e+02';
|
||||
select printf('%%E: %E', 123.456) = '%E: 1.234560E+02';
|
||||
select printf('%%g: %g', 123.456) = '%g: 123.456';
|
||||
select printf('%%G: %G', 123.456) = '%G: 123.456';
|
||||
select printf('%%a: %a', 123.456) = '%a: 0x1.edd2f1a9fbe77p+6';
|
||||
select printf('%%A: %A', 123.456) = '%A: 0X1.EDD2F1A9FBE77P+6';
|
||||
select printf('%%f: %f', 0.0);
|
||||
select printf('%%f: %f', 123.456);
|
||||
select printf('%%f: %f', -123.456);
|
||||
select printf('%%F: %F', 123.456);
|
||||
select printf('%%e: %e', 123.456);
|
||||
select printf('%%E: %E', 123.456);
|
||||
select printf('%%g: %g', 123.456);
|
||||
select printf('%%G: %G', 123.456);
|
||||
select printf('%%a: %a', 123.456);
|
||||
select printf('%%A: %A', 123.456);
|
||||
|
||||
-- Testing character formats
|
||||
select printf('%%s: %s', 'abc') = '%s: abc';
|
||||
select printf('%%s: %s', 'abc');
|
||||
SELECT printf('%%s: %s', '\n\t') FORMAT PrettyCompact;
|
||||
select printf('%%s: %s', '');
|
||||
|
||||
-- Testing the %% specifier
|
||||
select printf('%%%%: %%') = '%%: %';
|
||||
select printf('%%%%: %%');
|
||||
|
||||
-- Testing integer formats with precision
|
||||
select printf('%%.5d: %.5d', 123) = '%.5d: 00123';
|
||||
select printf('%%.5d: %.5d', 123);
|
||||
|
||||
-- Testing floating point formats with precision
|
||||
select printf('%%.2f: %.2f', 123.456) = '%.2f: 123.46';
|
||||
select printf('%%.2e: %.2e', 123.456) = '%.2e: 1.23e+02';
|
||||
select printf('%%.2g: %.2g', 123.456) = '%.2g: 1.2e+02';
|
||||
select printf('%%.2f: %.2f', 123.456);
|
||||
select printf('%%.2e: %.2e', 123.456);
|
||||
select printf('%%.2g: %.2g', 123.456);
|
||||
|
||||
-- Testing character formats with precision
|
||||
select printf('%%.2s: %.2s', 'abc') = '%.2s: ab';
|
||||
select printf('%%.2s: %.2s', 'abc');
|
||||
|
||||
select printf('%%X: %X', 123.123); -- { serverError BAD_ARGUMENTS }
|
||||
select printf('%%A: %A', 'abc'); -- { serverError BAD_ARGUMENTS }
|
||||
select printf('%%s: %s', 100); -- { serverError BAD_ARGUMENTS }
|
||||
select printf('%%n: %n', 100); -- { serverError BAD_ARGUMENTS }
|
||||
select printf('%%f: %f', 0); -- { serverError BAD_ARGUMENTS }
|
||||
|
Loading…
Reference in New Issue
Block a user