- [--not-long 12])], [0],
-[[ -foo 6
- -bar 6
- -baz ARG 10
- -baz ARG 10
- -quux [ARG] 13
- -quux [ARG] 13
- -hello-this-is-a-very-long-option
- 0
- -hello-this-is-a-very-long-option 35
- -not-long 11
-]])
+ [--not-long 12],
+ [--flagged -f \&])], [0], [expout])
+
+# ... we ultimately skip the test so there's an indication (other than an
+# outright failure) that the function is not working completely.
+AT_SKIP_IF([$ancient_printf])
+
+AT_CLEANUP
+
+AT_SETUP([help_print_optstring (NLS fullwidth/halfwidth)])
+AT_KEYWORDS([help nls])
+
+AT_SKIP_IF([test ! -x "$builddir/t/helpopt3"])
+TEST_UTF8_LOCALE([locale_utf8])
+
+# Avoid some deficient shell parsers barfing on UTF-8 sequences by
+# generating them this way using octal escapes.
+$AWK -f - >expout <<'EOF'
+BEGIN {
+ zenkaku = "--\345\205\250\350\247\222";
+ hankaku = "--\357\276\212\357\276\235\357\275\266\357\275\270"
+
+ print zenkaku, hankaku >"args"
+
+ print " " zenkaku "\t" "7"
+ print " " hankaku "\t" "7"
+}
+EOF
+
+AT_CHECK([LC_ALL=$locale_utf8 xargs "$builddir/t/helpopt3" <args],
+ [0], [expout])