mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 05:28:49 +00:00
Added test cases for printf builtin
This commit is contained in:
parent
b989978dd3
commit
be7d02ebdd
5 changed files with 36 additions and 3 deletions
|
@ -52,7 +52,7 @@
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
// This file has bee imported from source code of printf command in GNU Coreutils version 6.9
|
// This file has been imported from source code of printf command in GNU Coreutils version 6.9
|
||||||
|
|
||||||
/* The official name of this program (e.g., no `g' prefix). */
|
/* The official name of this program (e.g., no `g' prefix). */
|
||||||
#define PROGRAM_NAME "printf"
|
#define PROGRAM_NAME "printf"
|
||||||
|
@ -312,7 +312,7 @@ static void print_direc (const wchar_t *start, size_t length, wchar_t conversion
|
||||||
|
|
||||||
switch (conversion)
|
switch (conversion)
|
||||||
{
|
{
|
||||||
case L'd': case L'i': case L'o': case L'u': case L'x': case L'X':
|
case L'd': case L'i':
|
||||||
length_modifier = PRIdMAX;
|
length_modifier = PRIdMAX;
|
||||||
length_modifier_len = sizeof PRIdMAX - 2;
|
length_modifier_len = sizeof PRIdMAX - 2;
|
||||||
break;
|
break;
|
||||||
|
@ -322,7 +322,7 @@ static void print_direc (const wchar_t *start, size_t length, wchar_t conversion
|
||||||
length_modifier = L"L";
|
length_modifier = L"L";
|
||||||
length_modifier_len = 1;
|
length_modifier_len = 1;
|
||||||
break;
|
break;
|
||||||
case L's':
|
case L's': case L'u':
|
||||||
length_modifier = L"l";
|
length_modifier = L"l";
|
||||||
length_modifier_len = 1;
|
length_modifier_len = 1;
|
||||||
break;
|
break;
|
||||||
|
|
0
tests/printf.err
Normal file
0
tests/printf.err
Normal file
19
tests/printf.in
Normal file
19
tests/printf.in
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
printf "Hello %d %i %f %F %g %G\n" 1 2 3 4 5 6
|
||||||
|
|
||||||
|
printf "%x %X %o %u\n" 10 11 8 -1
|
||||||
|
printf "%a %A\n" 14 15
|
||||||
|
|
||||||
|
printf "%c %s\n" a hello
|
||||||
|
printf "%e %E\n" 5 6
|
||||||
|
|
||||||
|
printf "%20d\n" 50
|
||||||
|
printf "%-20d%d\n" 5 10
|
||||||
|
|
||||||
|
printf "%*d\n" 10 100
|
||||||
|
|
||||||
|
printf "%%\"\\\n"
|
||||||
|
printf "%s\b%s\n" x y
|
||||||
|
printf "abc\rdef\n"
|
||||||
|
printf "Msg1\fMsg2\n"
|
||||||
|
printf "foo\vbar\vbaz\n"
|
||||||
|
printf "\111 \x50" # \u0051 \U00000052
|
13
tests/printf.out
Normal file
13
tests/printf.out
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Hello 1 2 3.000000 4.000000 5 6
|
||||||
|
a B 10 18446744073709551615
|
||||||
|
0xep+0 0XFP+0
|
||||||
|
a hello
|
||||||
|
5.000000e+00 6.000000E+00
|
||||||
|
50
|
||||||
|
5 10
|
||||||
|
100
|
||||||
|
%"\nxy
|
||||||
|
abc
def
|
||||||
|
Msg1Msg2
|
||||||
|
foobarbaz
|
||||||
|
I P
|
1
tests/printf.status
Normal file
1
tests/printf.status
Normal file
|
@ -0,0 +1 @@
|
||||||
|
0
|
Loading…
Reference in a new issue