aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog6
-rw-r--r--test/Makefile.am11
-rw-r--r--test/Makefile.in11
-rw-r--r--test/mbprintf4.awk32
-rw-r--r--test/mbprintf4.in3
-rw-r--r--test/mbprintf4.ok81
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 áé
+|áé|
+|áé|
+|áé |
+|á |
+|áé |
+
+