diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ChangeLog | 6 | ||||
-rw-r--r-- | test/Makefile.am | 11 | ||||
-rw-r--r-- | test/Makefile.in | 11 | ||||
-rw-r--r-- | test/mbprintf4.awk | 32 | ||||
-rw-r--r-- | test/mbprintf4.in | 3 | ||||
-rw-r--r-- | test/mbprintf4.ok | 81 |
6 files changed, 142 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index dd71a1b5..87ad809f 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2013-07-04 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (mbprintf4): New test. + * mbprintf4.awk, mbprintf4.in, mbprintf4.ok: New files. + Test cases from Nethox <nethox@gmail.com>. + 2013-06-27 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (dfamb1): New test. diff --git a/test/Makefile.am b/test/Makefile.am index fe6d3a59..e7c9cefd 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -493,6 +493,9 @@ EXTRA_DIST = \ mbprintf3.awk \ mbprintf3.in \ mbprintf3.ok \ + mbprintf4.awk \ + mbprintf4.in \ + mbprintf4.ok \ mbstr1.awk \ mbstr1.ok \ membug1.awk \ @@ -991,7 +994,7 @@ MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint LOCALE_CHARSET_TESTS = \ asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ - mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc + mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc SHLIB_TESTS = \ fnmatch filefuncs fork fork2 fts functab4 inplace1 inplace2 inplace3 \ @@ -1564,6 +1567,12 @@ mbprintf3:: $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +mbprintf4:: + @echo $@ + @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ + $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + mbfw1:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ diff --git a/test/Makefile.in b/test/Makefile.in index 06946c0c..147eeaf3 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -711,6 +711,9 @@ EXTRA_DIST = \ mbprintf3.awk \ mbprintf3.in \ mbprintf3.ok \ + mbprintf4.awk \ + mbprintf4.in \ + mbprintf4.ok \ mbstr1.awk \ mbstr1.ok \ membug1.awk \ @@ -1204,7 +1207,7 @@ MACHINE_TESTS = double1 double2 fmtspcl intformat MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint LOCALE_CHARSET_TESTS = \ asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ - mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc + mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc SHLIB_TESTS = \ fnmatch filefuncs fork fork2 fts functab4 inplace1 inplace2 inplace3 \ @@ -1960,6 +1963,12 @@ mbprintf3:: $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +mbprintf4:: + @echo $@ + @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ + $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + mbfw1:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ diff --git a/test/mbprintf4.awk b/test/mbprintf4.awk new file mode 100644 index 00000000..a4b2a218 --- /dev/null +++ b/test/mbprintf4.awk @@ -0,0 +1,32 @@ +# printf with multi-byte text encoding, %c and %s, width and precision, and left-alignment. +{ + print "printf %c " $0 + printf "|%c|\n", $0 + printf "|%1c|\n", $0 + printf "|%3c|\n", $0 + # precision is ignored by %c. + printf "|%3.1c|\n", $0 + printf "|%3.5c|\n", $0 + print "printf %-c " $0 + printf "|%-c|\n", $0 + printf "|%-1c|\n", $0 + printf "|%-3c|\n", $0 + # precision is ignored by %c. + printf "|%-3.1c|\n", $0 + printf "|%-3.5c|\n", $0 + printf ORS + + print "printf %s " $0 + printf "|%s|\n", $0 + printf "|%1s|\n", $0 + printf "|%3s|\n", $0 + printf "|%3.1s|\n", $0 + printf "|%3.5s|\n", $0 + print "printf %-s " $0 + printf "|%-s|\n", $0 + printf "|%-1s|\n", $0 + printf "|%-3s|\n", $0 + printf "|%-3.1s|\n", $0 + printf "|%-3.5s|\n", $0 + printf ORS ORS +} diff --git a/test/mbprintf4.in b/test/mbprintf4.in new file mode 100644 index 00000000..c93d40de --- /dev/null +++ b/test/mbprintf4.in @@ -0,0 +1,3 @@ +ú +último +áé diff --git a/test/mbprintf4.ok b/test/mbprintf4.ok new file mode 100644 index 00000000..9b9dd4e2 --- /dev/null +++ b/test/mbprintf4.ok @@ -0,0 +1,81 @@ +printf %c ú +|ú| +|ú| +| ú| +| ú| +| ú| +printf %-c ú +|ú| +|ú| +|ú | +|ú | +|ú | + +printf %s ú +|ú| +|ú| +| ú| +| ú| +| ú| +printf %-s ú +|ú| +|ú| +|ú | +|ú | +|ú | + + +printf %c último +|ú| +|ú| +| ú| +| ú| +| ú| +printf %-c último +|ú| +|ú| +|ú | +|ú | +|ú | + +printf %s último +|último| +|último| +|último| +| ú| +|últim| +printf %-s último +|último| +|último| +|último| +|ú | +|últim| + + +printf %c áé +|á| +|á| +| á| +| á| +| á| +printf %-c áé +|á| +|á| +|á | +|á | +|á | + +printf %s áé +|áé| +|áé| +| áé| +| á| +| áé| +printf %-s áé +|áé| +|áé| +|áé | +|á | +|áé | + + |