File: FormatterBuilder.java

package info (click to toggle)
openjdk-21 21.0.8%2B9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 823,976 kB
  • sloc: java: 5,613,338; xml: 1,643,607; cpp: 1,296,296; ansic: 420,291; asm: 404,850; objc: 20,994; sh: 15,271; javascript: 11,245; python: 6,895; makefile: 2,362; perl: 357; awk: 351; sed: 172; jsp: 24; csh: 3
file content (915 lines) | stat: -rw-r--r-- 57,573 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
/*
 * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/*
 * @test
 * @bug 0000000
 * @summary Exercise format builder.
 * @enablePreview true
 */

import java.util.FormatProcessor;
import java.util.Objects;
import java.util.Locale;

import static java.util.FormatProcessor.FMT;

public class FormatterBuilder {
    public static void main(String... args) {
        Locale.setDefault(Locale.US);
        suite(FMT);
        Locale thai = Locale.forLanguageTag("th-TH-u-nu-thai");
        FormatProcessor thaiFormat = FormatProcessor.create(thai);
        Locale.setDefault(thai);
        suite(thaiFormat);
    }

    static void test(String a, String b) {
        if (!Objects.equals(a, b)) {
            throw new RuntimeException("format and FMT do not match: " + a + " : " + b);
        }
    }

    static void suite(FormatProcessor fmt) {
        Object nullObject = null;
        test(String.format("%b", false), fmt."%b\{false}");
        test(String.format("%b", true), fmt."%b\{true}");
        test(String.format("%10b", false), fmt."%10b\{false}");
        test(String.format("%10b", true), fmt."%10b\{true}");
        test(String.format("%-10b", false), fmt."%-10b\{false}");
        test(String.format("%-10b", true), fmt."%-10b\{true}");
        test(String.format("%B", false), fmt."%B\{false}");
        test(String.format("%B", true), fmt."%B\{true}");
        test(String.format("%10B", false), fmt."%10B\{false}");
        test(String.format("%10B", true), fmt."%10B\{true}");
        test(String.format("%-10B", false), fmt."%-10B\{false}");
        test(String.format("%-10B", true), fmt."%-10B\{true}");

        test(String.format("%h", 12345), fmt."%h\{12345}");
        test(String.format("%h", 0xABCDE), fmt."%h\{0xABCDE}");
        test(String.format("%10h", 12345), fmt."%10h\{12345}");
        test(String.format("%10h", 0xABCDE), fmt."%10h\{0xABCDE}");
        test(String.format("%-10h", 12345), fmt."%-10h\{12345}");
        test(String.format("%-10h", 0xABCDE), fmt."%-10h\{0xABCDE}");
        test(String.format("%H", 12345), fmt."%H\{12345}");
        test(String.format("%H", 0xABCDE), fmt."%H\{0xABCDE}");
        test(String.format("%10H", 12345), fmt."%10H\{12345}");
        test(String.format("%10H", 0xABCDE), fmt."%10H\{0xABCDE}");
        test(String.format("%-10H", 12345), fmt."%-10H\{12345}");
        test(String.format("%-10H", 0xABCDE), fmt."%-10H\{0xABCDE}");

        test(String.format("%s", (byte)0xFF), fmt."%s\{(byte)0xFF}");
        test(String.format("%s", (short)0xFFFF), fmt."%s\{(short)0xFFFF}");
        test(String.format("%s", 12345), fmt."%s\{12345}");
        test(String.format("%s", 12345L), fmt."%s\{12345L}");
        test(String.format("%s", 1.33f), fmt."%s\{1.33f}");
        test(String.format("%s", 1.33), fmt."%s\{1.33}");
        test(String.format("%s", "abcde"), fmt."%s\{"abcde"}");
        test(String.format("%s", nullObject), fmt."%s\{nullObject}");
        test(String.format("%10s", (byte)0xFF), fmt."%10s\{(byte)0xFF}");
        test(String.format("%10s", (short)0xFFFF), fmt."%10s\{(short)0xFFFF}");
        test(String.format("%10s", 12345), fmt."%10s\{12345}");
        test(String.format("%10s", 12345L), fmt."%10s\{12345L}");
        test(String.format("%10s", 1.33f), fmt."%10s\{1.33f}");
        test(String.format("%10s", 1.33), fmt."%10s\{1.33}");
        test(String.format("%10s", "abcde"), fmt."%10s\{"abcde"}");
        test(String.format("%10s", nullObject), fmt."%10s\{nullObject}");
        test(String.format("%-10s", (byte)0xFF), fmt."%-10s\{(byte)0xFF}");
        test(String.format("%-10s", (short)0xFFFF), fmt."%-10s\{(short)0xFFFF}");
        test(String.format("%-10s", 12345), fmt."%-10s\{12345}");
        test(String.format("%-10s", 12345L), fmt."%-10s\{12345L}");
        test(String.format("%-10s", 1.33f), fmt."%-10s\{1.33f}");
        test(String.format("%-10s", 1.33), fmt."%-10s\{1.33}");
        test(String.format("%-10s", "abcde"), fmt."%-10s\{"abcde"}");
        test(String.format("%-10s", nullObject), fmt."%-10s\{nullObject}");
        test(String.format("%S", (byte)0xFF), fmt."%S\{(byte)0xFF}");
        test(String.format("%S", (short)0xFFFF), fmt."%S\{(short)0xFFFF}");
        test(String.format("%S", 12345), fmt."%S\{12345}");
        test(String.format("%S", 12345L), fmt."%S\{12345L}");
        test(String.format("%S", 1.33f), fmt."%S\{1.33f}");
        test(String.format("%S", 1.33), fmt."%S\{1.33}");
        test(String.format("%S", "abcde"), fmt."%S\{"abcde"}");
        test(String.format("%S", nullObject), fmt."%S\{nullObject}");
        test(String.format("%10S", (byte)0xFF), fmt."%10S\{(byte)0xFF}");
        test(String.format("%10S", (short)0xFFFF), fmt."%10S\{(short)0xFFFF}");
        test(String.format("%10S", 12345), fmt."%10S\{12345}");
        test(String.format("%10S", 12345L), fmt."%10S\{12345L}");
        test(String.format("%10S", 1.33f), fmt."%10S\{1.33f}");
        test(String.format("%10S", 1.33), fmt."%10S\{1.33}");
        test(String.format("%10S", "abcde"), fmt."%10S\{"abcde"}");
        test(String.format("%10S", nullObject), fmt."%10S\{nullObject}");
        test(String.format("%-10S", (byte)0xFF), fmt."%-10S\{(byte)0xFF}");
        test(String.format("%-10S", (short)0xFFFF), fmt."%-10S\{(short)0xFFFF}");
        test(String.format("%-10S", 12345), fmt."%-10S\{12345}");
        test(String.format("%-10S", 12345L), fmt."%-10S\{12345L}");
        test(String.format("%-10S", 1.33f), fmt."%-10S\{1.33f}");
        test(String.format("%-10S", 1.33), fmt."%-10S\{1.33}");
        test(String.format("%-10S", "abcde"), fmt."%-10S\{"abcde"}");
        test(String.format("%-10S", nullObject), fmt."%-10S\{nullObject}");

        test(String.format("%c", 'a'), fmt."%c\{'a'}");
        test(String.format("%10c", 'a'), fmt."%10c\{'a'}");
        test(String.format("%-10c", 'a'), fmt."%-10c\{'a'}");
        test(String.format("%C", 'a'), fmt."%C\{'a'}");
        test(String.format("%10C", 'a'), fmt."%10C\{'a'}");
        test(String.format("%-10C", 'a'), fmt."%-10C\{'a'}");

        test(String.format("%d", -12345), fmt."%d\{-12345}");
        test(String.format("%d", 0), fmt."%d\{0}");
        test(String.format("%d", 12345), fmt."%d\{12345}");
        test(String.format("%10d", -12345), fmt."%10d\{-12345}");
        test(String.format("%10d", 0), fmt."%10d\{0}");
        test(String.format("%10d", 12345), fmt."%10d\{12345}");
        test(String.format("%-10d", -12345), fmt."%-10d\{-12345}");
        test(String.format("%-10d", 0), fmt."%-10d\{0}");
        test(String.format("%-10d", 12345), fmt."%-10d\{12345}");
        test(String.format("%,d", -12345), fmt."%,d\{-12345}");
        test(String.format("%,d", 0), fmt."%,d\{0}");
        test(String.format("%,d", 12345), fmt."%,d\{12345}");
        test(String.format("%,10d", -12345), fmt."%,10d\{-12345}");
        test(String.format("%,10d", 0), fmt."%,10d\{0}");
        test(String.format("%,10d", 12345), fmt."%,10d\{12345}");
        test(String.format("%,-10d", -12345), fmt."%,-10d\{-12345}");
        test(String.format("%,-10d", 0), fmt."%,-10d\{0}");
        test(String.format("%,-10d", 12345), fmt."%,-10d\{12345}");
        test(String.format("%010d", -12345), fmt."%010d\{-12345}");
        test(String.format("%010d", 0), fmt."%010d\{0}");
        test(String.format("%010d", 12345), fmt."%010d\{12345}");
        test(String.format("%,010d", -12345), fmt."%,010d\{-12345}");
        test(String.format("%,010d", 0), fmt."%,010d\{0}");
        test(String.format("%,010d", 12345), fmt."%,010d\{12345}");

        test(String.format("%d", -12345), fmt."%d\{-12345}");
        test(String.format("%d", 0), fmt."%d\{0}");
        test(String.format("%d", 12345), fmt."%d\{12345}");
        test(String.format("%10d", -12345), fmt."%10d\{-12345}");
        test(String.format("%10d", 0), fmt."%10d\{0}");
        test(String.format("%10d", 12345), fmt."%10d\{12345}");
        test(String.format("%-10d", -12345), fmt."%-10d\{-12345}");
        test(String.format("%-10d", 0), fmt."%-10d\{0}");
        test(String.format("%-10d", 12345), fmt."%-10d\{12345}");
        test(String.format("%,d", -12345), fmt."%,d\{-12345}");
        test(String.format("%,d", 0), fmt."%,d\{0}");
        test(String.format("%,d", 12345), fmt."%,d\{12345}");
        test(String.format("%,10d", -12345), fmt."%,10d\{-12345}");
        test(String.format("%,10d", 0), fmt."%,10d\{0}");
        test(String.format("%,10d", 12345), fmt."%,10d\{12345}");
        test(String.format("%,-10d", -12345), fmt."%,-10d\{-12345}");
        test(String.format("%,-10d", 0), fmt."%,-10d\{0}");
        test(String.format("%,-10d", 12345), fmt."%,-10d\{12345}");
        test(String.format("% d", -12345), fmt."% d\{-12345}");
        test(String.format("% d", 0), fmt."% d\{0}");
        test(String.format("% d", 12345), fmt."% d\{12345}");
        test(String.format("% 10d", -12345), fmt."% 10d\{-12345}");
        test(String.format("% 10d", 0), fmt."% 10d\{0}");
        test(String.format("% 10d", 12345), fmt."% 10d\{12345}");
        test(String.format("% -10d", -12345), fmt."% -10d\{-12345}");
        test(String.format("% -10d", 0), fmt."% -10d\{0}");
        test(String.format("% -10d", 12345), fmt."% -10d\{12345}");
        test(String.format("%, d", -12345), fmt."%, d\{-12345}");
        test(String.format("%, d", 0), fmt."%, d\{0}");
        test(String.format("%, d", 12345), fmt."%, d\{12345}");
        test(String.format("%, 10d", -12345), fmt."%, 10d\{-12345}");
        test(String.format("%, 10d", 0), fmt."%, 10d\{0}");
        test(String.format("%, 10d", 12345), fmt."%, 10d\{12345}");
        test(String.format("%, -10d", -12345), fmt."%, -10d\{-12345}");
        test(String.format("%, -10d", 0), fmt."%, -10d\{0}");
        test(String.format("%, -10d", 12345), fmt."%, -10d\{12345}");
        test(String.format("%010d", -12345), fmt."%010d\{-12345}");
        test(String.format("%010d", 0), fmt."%010d\{0}");
        test(String.format("%010d", 12345), fmt."%010d\{12345}");
        test(String.format("%,010d", -12345), fmt."%,010d\{-12345}");
        test(String.format("%,010d", 0), fmt."%,010d\{0}");
        test(String.format("%,010d", 12345), fmt."%,010d\{12345}");
        test(String.format("% 010d", -12345), fmt."% 010d\{-12345}");
        test(String.format("% 010d", 0), fmt."% 010d\{0}");
        test(String.format("% 010d", 12345), fmt."% 010d\{12345}");
        test(String.format("%, 010d", -12345), fmt."%, 010d\{-12345}");
        test(String.format("%, 010d", 0), fmt."%, 010d\{0}");
        test(String.format("%, 010d", 12345), fmt."%, 010d\{12345}");

        test(String.format("%d", -12345), fmt."%d\{-12345}");
        test(String.format("%d", 0), fmt."%d\{0}");
        test(String.format("%d", 12345), fmt."%d\{12345}");
        test(String.format("%10d", -12345), fmt."%10d\{-12345}");
        test(String.format("%10d", 0), fmt."%10d\{0}");
        test(String.format("%10d", 12345), fmt."%10d\{12345}");
        test(String.format("%-10d", -12345), fmt."%-10d\{-12345}");
        test(String.format("%-10d", 0), fmt."%-10d\{0}");
        test(String.format("%-10d", 12345), fmt."%-10d\{12345}");
        test(String.format("%,d", -12345), fmt."%,d\{-12345}");
        test(String.format("%,d", 0), fmt."%,d\{0}");
        test(String.format("%,d", 12345), fmt."%,d\{12345}");
        test(String.format("%,10d", -12345), fmt."%,10d\{-12345}");
        test(String.format("%,10d", 0), fmt."%,10d\{0}");
        test(String.format("%,10d", 12345), fmt."%,10d\{12345}");
        test(String.format("%,-10d", -12345), fmt."%,-10d\{-12345}");
        test(String.format("%,-10d", 0), fmt."%,-10d\{0}");
        test(String.format("%,-10d", 12345), fmt."%,-10d\{12345}");
        test(String.format("%+d", -12345), fmt."%+d\{-12345}");
        test(String.format("%+d", 0), fmt."%+d\{0}");
        test(String.format("%+d", 12345), fmt."%+d\{12345}");
        test(String.format("%+10d", -12345), fmt."%+10d\{-12345}");
        test(String.format("%+10d", 0), fmt."%+10d\{0}");
        test(String.format("%+10d", 12345), fmt."%+10d\{12345}");
        test(String.format("%+-10d", -12345), fmt."%+-10d\{-12345}");
        test(String.format("%+-10d", 0), fmt."%+-10d\{0}");
        test(String.format("%+-10d", 12345), fmt."%+-10d\{12345}");
        test(String.format("%,+d", -12345), fmt."%,+d\{-12345}");
        test(String.format("%,+d", 0), fmt."%,+d\{0}");
        test(String.format("%,+d", 12345), fmt."%,+d\{12345}");
        test(String.format("%,+10d", -12345), fmt."%,+10d\{-12345}");
        test(String.format("%,+10d", 0), fmt."%,+10d\{0}");
        test(String.format("%,+10d", 12345), fmt."%,+10d\{12345}");
        test(String.format("%,+-10d", -12345), fmt."%,+-10d\{-12345}");
        test(String.format("%,+-10d", 0), fmt."%,+-10d\{0}");
        test(String.format("%,+-10d", 12345), fmt."%,+-10d\{12345}");
        test(String.format("%010d", -12345), fmt."%010d\{-12345}");
        test(String.format("%010d", 0), fmt."%010d\{0}");
        test(String.format("%010d", 12345), fmt."%010d\{12345}");
        test(String.format("%,010d", -12345), fmt."%,010d\{-12345}");
        test(String.format("%,010d", 0), fmt."%,010d\{0}");
        test(String.format("%,010d", 12345), fmt."%,010d\{12345}");
        test(String.format("%+010d", -12345), fmt."%+010d\{-12345}");
        test(String.format("%+010d", 0), fmt."%+010d\{0}");
        test(String.format("%+010d", 12345), fmt."%+010d\{12345}");
        test(String.format("%,+010d", -12345), fmt."%,+010d\{-12345}");
        test(String.format("%,+010d", 0), fmt."%,+010d\{0}");
        test(String.format("%,+010d", 12345), fmt."%,+010d\{12345}");

        test(String.format("%d", -12345), fmt."%d\{-12345}");
        test(String.format("%d", 0), fmt."%d\{0}");
        test(String.format("%d", 12345), fmt."%d\{12345}");
        test(String.format("%10d", -12345), fmt."%10d\{-12345}");
        test(String.format("%10d", 0), fmt."%10d\{0}");
        test(String.format("%10d", 12345), fmt."%10d\{12345}");
        test(String.format("%-10d", -12345), fmt."%-10d\{-12345}");
        test(String.format("%-10d", 0), fmt."%-10d\{0}");
        test(String.format("%-10d", 12345), fmt."%-10d\{12345}");
        test(String.format("%,d", -12345), fmt."%,d\{-12345}");
        test(String.format("%,d", 0), fmt."%,d\{0}");
        test(String.format("%,d", 12345), fmt."%,d\{12345}");
        test(String.format("%,10d", -12345), fmt."%,10d\{-12345}");
        test(String.format("%,10d", 0), fmt."%,10d\{0}");
        test(String.format("%,10d", 12345), fmt."%,10d\{12345}");
        test(String.format("%,-10d", -12345), fmt."%,-10d\{-12345}");
        test(String.format("%,-10d", 0), fmt."%,-10d\{0}");
        test(String.format("%,-10d", 12345), fmt."%,-10d\{12345}");
        test(String.format("%(d", -12345), fmt."%(d\{-12345}");
        test(String.format("%(d", 0), fmt."%(d\{0}");
        test(String.format("%(d", 12345), fmt."%(d\{12345}");
        test(String.format("%(10d", -12345), fmt."%(10d\{-12345}");
        test(String.format("%(10d", 0), fmt."%(10d\{0}");
        test(String.format("%(10d", 12345), fmt."%(10d\{12345}");
        test(String.format("%(-10d", -12345), fmt."%(-10d\{-12345}");
        test(String.format("%(-10d", 0), fmt."%(-10d\{0}");
        test(String.format("%(-10d", 12345), fmt."%(-10d\{12345}");
        test(String.format("%,(d", -12345), fmt."%,(d\{-12345}");
        test(String.format("%,(d", 0), fmt."%,(d\{0}");
        test(String.format("%,(d", 12345), fmt."%,(d\{12345}");
        test(String.format("%,(10d", -12345), fmt."%,(10d\{-12345}");
        test(String.format("%,(10d", 0), fmt."%,(10d\{0}");
        test(String.format("%,(10d", 12345), fmt."%,(10d\{12345}");
        test(String.format("%,(-10d", -12345), fmt."%,(-10d\{-12345}");
        test(String.format("%,(-10d", 0), fmt."%,(-10d\{0}");
        test(String.format("%,(-10d", 12345), fmt."%,(-10d\{12345}");
        test(String.format("%010d", -12345), fmt."%010d\{-12345}");
        test(String.format("%010d", 0), fmt."%010d\{0}");
        test(String.format("%010d", 12345), fmt."%010d\{12345}");
        test(String.format("%,010d", -12345), fmt."%,010d\{-12345}");
        test(String.format("%,010d", 0), fmt."%,010d\{0}");
        test(String.format("%,010d", 12345), fmt."%,010d\{12345}");
        test(String.format("%(010d", -12345), fmt."%(010d\{-12345}");
        test(String.format("%(010d", 0), fmt."%(010d\{0}");
        test(String.format("%(010d", 12345), fmt."%(010d\{12345}");
        test(String.format("%,(010d", -12345), fmt."%,(010d\{-12345}");
        test(String.format("%,(010d", 0), fmt."%,(010d\{0}");
        test(String.format("%,(010d", 12345), fmt."%,(010d\{12345}");

        test(String.format("%o", -12345), fmt."%o\{-12345}");
        test(String.format("%o", 0), fmt."%o\{0}");
        test(String.format("%o", 12345), fmt."%o\{12345}");
        test(String.format("%10o", -12345), fmt."%10o\{-12345}");
        test(String.format("%10o", 0), fmt."%10o\{0}");
        test(String.format("%10o", 12345), fmt."%10o\{12345}");
        test(String.format("%-10o", -12345), fmt."%-10o\{-12345}");
        test(String.format("%-10o", 0), fmt."%-10o\{0}");
        test(String.format("%-10o", 12345), fmt."%-10o\{12345}");
        test(String.format("%#o", -12345), fmt."%#o\{-12345}");
        test(String.format("%#o", 0), fmt."%#o\{0}");
        test(String.format("%#o", 12345), fmt."%#o\{12345}");
        test(String.format("%#10o", -12345), fmt."%#10o\{-12345}");
        test(String.format("%#10o", 0), fmt."%#10o\{0}");
        test(String.format("%#10o", 12345), fmt."%#10o\{12345}");
        test(String.format("%#-10o", -12345), fmt."%#-10o\{-12345}");
        test(String.format("%#-10o", 0), fmt."%#-10o\{0}");
        test(String.format("%#-10o", 12345), fmt."%#-10o\{12345}");
        test(String.format("%010o", -12345), fmt."%010o\{-12345}");
        test(String.format("%010o", 0), fmt."%010o\{0}");
        test(String.format("%010o", 12345), fmt."%010o\{12345}");
        test(String.format("%#010o", -12345), fmt."%#010o\{-12345}");
        test(String.format("%#010o", 0), fmt."%#010o\{0}");
        test(String.format("%#010o", 12345), fmt."%#010o\{12345}");

        test(String.format("%x", -12345), fmt."%x\{-12345}");
        test(String.format("%x", 0), fmt."%x\{0}");
        test(String.format("%x", 12345), fmt."%x\{12345}");
        test(String.format("%10x", -12345), fmt."%10x\{-12345}");
        test(String.format("%10x", 0), fmt."%10x\{0}");
        test(String.format("%10x", 12345), fmt."%10x\{12345}");
        test(String.format("%-10x", -12345), fmt."%-10x\{-12345}");
        test(String.format("%-10x", 0), fmt."%-10x\{0}");
        test(String.format("%-10x", 12345), fmt."%-10x\{12345}");
        test(String.format("%X", -12345), fmt."%X\{-12345}");
        test(String.format("%X", 0), fmt."%X\{0}");
        test(String.format("%X", 12345), fmt."%X\{12345}");
        test(String.format("%10X", -12345), fmt."%10X\{-12345}");
        test(String.format("%10X", 0), fmt."%10X\{0}");
        test(String.format("%10X", 12345), fmt."%10X\{12345}");
        test(String.format("%-10X", -12345), fmt."%-10X\{-12345}");
        test(String.format("%-10X", 0), fmt."%-10X\{0}");
        test(String.format("%-10X", 12345), fmt."%-10X\{12345}");
        test(String.format("%#x", -12345), fmt."%#x\{-12345}");
        test(String.format("%#x", 0), fmt."%#x\{0}");
        test(String.format("%#x", 12345), fmt."%#x\{12345}");
        test(String.format("%#10x", -12345), fmt."%#10x\{-12345}");
        test(String.format("%#10x", 0), fmt."%#10x\{0}");
        test(String.format("%#10x", 12345), fmt."%#10x\{12345}");
        test(String.format("%#-10x", -12345), fmt."%#-10x\{-12345}");
        test(String.format("%#-10x", 0), fmt."%#-10x\{0}");
        test(String.format("%#-10x", 12345), fmt."%#-10x\{12345}");
        test(String.format("%#X", -12345), fmt."%#X\{-12345}");
        test(String.format("%#X", 0), fmt."%#X\{0}");
        test(String.format("%#X", 12345), fmt."%#X\{12345}");
        test(String.format("%#10X", -12345), fmt."%#10X\{-12345}");
        test(String.format("%#10X", 0), fmt."%#10X\{0}");
        test(String.format("%#10X", 12345), fmt."%#10X\{12345}");
        test(String.format("%#-10X", -12345), fmt."%#-10X\{-12345}");
        test(String.format("%#-10X", 0), fmt."%#-10X\{0}");
        test(String.format("%#-10X", 12345), fmt."%#-10X\{12345}");
        test(String.format("%010x", -12345), fmt."%010x\{-12345}");
        test(String.format("%010x", 0), fmt."%010x\{0}");
        test(String.format("%010x", 12345), fmt."%010x\{12345}");
        test(String.format("%010X", -12345), fmt."%010X\{-12345}");
        test(String.format("%010X", 0), fmt."%010X\{0}");
        test(String.format("%010X", 12345), fmt."%010X\{12345}");
        test(String.format("%#010x", -12345), fmt."%#010x\{-12345}");
        test(String.format("%#010x", 0), fmt."%#010x\{0}");
        test(String.format("%#010x", 12345), fmt."%#010x\{12345}");
        test(String.format("%#010X", -12345), fmt."%#010X\{-12345}");
        test(String.format("%#010X", 0), fmt."%#010X\{0}");
        test(String.format("%#010X", 12345), fmt."%#010X\{12345}");

        test(String.format("%f", -12345.6), fmt."%f\{-12345.6}");
        test(String.format("%f", 0.0), fmt."%f\{0.0}");
        test(String.format("%f", 12345.6), fmt."%f\{12345.6}");
        test(String.format("%10f", -12345.6), fmt."%10f\{-12345.6}");
        test(String.format("%10f", 0.0), fmt."%10f\{0.0}");
        test(String.format("%10f", 12345.6), fmt."%10f\{12345.6}");
        test(String.format("%-10f", -12345.6), fmt."%-10f\{-12345.6}");
        test(String.format("%-10f", 0.0), fmt."%-10f\{0.0}");
        test(String.format("%-10f", 12345.6), fmt."%-10f\{12345.6}");
        test(String.format("%,f", -12345.6), fmt."%,f\{-12345.6}");
        test(String.format("%,f", 0.0), fmt."%,f\{0.0}");
        test(String.format("%,f", 12345.6), fmt."%,f\{12345.6}");
        test(String.format("%,10f", -12345.6), fmt."%,10f\{-12345.6}");
        test(String.format("%,10f", 0.0), fmt."%,10f\{0.0}");
        test(String.format("%,10f", 12345.6), fmt."%,10f\{12345.6}");
        test(String.format("%,-10f", -12345.6), fmt."%,-10f\{-12345.6}");
        test(String.format("%,-10f", 0.0), fmt."%,-10f\{0.0}");
        test(String.format("%,-10f", 12345.6), fmt."%,-10f\{12345.6}");

        test(String.format("%f", -12345.6), fmt."%f\{-12345.6}");
        test(String.format("%f", 0.0), fmt."%f\{0.0}");
        test(String.format("%f", 12345.6), fmt."%f\{12345.6}");
        test(String.format("%10f", -12345.6), fmt."%10f\{-12345.6}");
        test(String.format("%10f", 0.0), fmt."%10f\{0.0}");
        test(String.format("%10f", 12345.6), fmt."%10f\{12345.6}");
        test(String.format("%-10f", -12345.6), fmt."%-10f\{-12345.6}");
        test(String.format("%-10f", 0.0), fmt."%-10f\{0.0}");
        test(String.format("%-10f", 12345.6), fmt."%-10f\{12345.6}");
        test(String.format("%,f", -12345.6), fmt."%,f\{-12345.6}");
        test(String.format("%,f", 0.0), fmt."%,f\{0.0}");
        test(String.format("%,f", 12345.6), fmt."%,f\{12345.6}");
        test(String.format("%,10f", -12345.6), fmt."%,10f\{-12345.6}");
        test(String.format("%,10f", 0.0), fmt."%,10f\{0.0}");
        test(String.format("%,10f", 12345.6), fmt."%,10f\{12345.6}");
        test(String.format("%,-10f", -12345.6), fmt."%,-10f\{-12345.6}");
        test(String.format("%,-10f", 0.0), fmt."%,-10f\{0.0}");
        test(String.format("%,-10f", 12345.6), fmt."%,-10f\{12345.6}");
        test(String.format("% f", -12345.6), fmt."% f\{-12345.6}");
        test(String.format("% f", 0.0), fmt."% f\{0.0}");
        test(String.format("% f", 12345.6), fmt."% f\{12345.6}");
        test(String.format("% 10f", -12345.6), fmt."% 10f\{-12345.6}");
        test(String.format("% 10f", 0.0), fmt."% 10f\{0.0}");
        test(String.format("% 10f", 12345.6), fmt."% 10f\{12345.6}");
        test(String.format("% -10f", -12345.6), fmt."% -10f\{-12345.6}");
        test(String.format("% -10f", 0.0), fmt."% -10f\{0.0}");
        test(String.format("% -10f", 12345.6), fmt."% -10f\{12345.6}");
        test(String.format("%, f", -12345.6), fmt."%, f\{-12345.6}");
        test(String.format("%, f", 0.0), fmt."%, f\{0.0}");
        test(String.format("%, f", 12345.6), fmt."%, f\{12345.6}");
        test(String.format("%, 10f", -12345.6), fmt."%, 10f\{-12345.6}");
        test(String.format("%, 10f", 0.0), fmt."%, 10f\{0.0}");
        test(String.format("%, 10f", 12345.6), fmt."%, 10f\{12345.6}");
        test(String.format("%, -10f", -12345.6), fmt."%, -10f\{-12345.6}");
        test(String.format("%, -10f", 0.0), fmt."%, -10f\{0.0}");
        test(String.format("%, -10f", 12345.6), fmt."%, -10f\{12345.6}");

        test(String.format("%f", -12345.6), fmt."%f\{-12345.6}");
        test(String.format("%f", 0.0), fmt."%f\{0.0}");
        test(String.format("%f", 12345.6), fmt."%f\{12345.6}");
        test(String.format("%10f", -12345.6), fmt."%10f\{-12345.6}");
        test(String.format("%10f", 0.0), fmt."%10f\{0.0}");
        test(String.format("%10f", 12345.6), fmt."%10f\{12345.6}");
        test(String.format("%-10f", -12345.6), fmt."%-10f\{-12345.6}");
        test(String.format("%-10f", 0.0), fmt."%-10f\{0.0}");
        test(String.format("%-10f", 12345.6), fmt."%-10f\{12345.6}");
        test(String.format("%,f", -12345.6), fmt."%,f\{-12345.6}");
        test(String.format("%,f", 0.0), fmt."%,f\{0.0}");
        test(String.format("%,f", 12345.6), fmt."%,f\{12345.6}");
        test(String.format("%,10f", -12345.6), fmt."%,10f\{-12345.6}");
        test(String.format("%,10f", 0.0), fmt."%,10f\{0.0}");
        test(String.format("%,10f", 12345.6), fmt."%,10f\{12345.6}");
        test(String.format("%,-10f", -12345.6), fmt."%,-10f\{-12345.6}");
        test(String.format("%,-10f", 0.0), fmt."%,-10f\{0.0}");
        test(String.format("%,-10f", 12345.6), fmt."%,-10f\{12345.6}");
        test(String.format("%+f", -12345.6), fmt."%+f\{-12345.6}");
        test(String.format("%+f", 0.0), fmt."%+f\{0.0}");
        test(String.format("%+f", 12345.6), fmt."%+f\{12345.6}");
        test(String.format("%+10f", -12345.6), fmt."%+10f\{-12345.6}");
        test(String.format("%+10f", 0.0), fmt."%+10f\{0.0}");
        test(String.format("%+10f", 12345.6), fmt."%+10f\{12345.6}");
        test(String.format("%+-10f", -12345.6), fmt."%+-10f\{-12345.6}");
        test(String.format("%+-10f", 0.0), fmt."%+-10f\{0.0}");
        test(String.format("%+-10f", 12345.6), fmt."%+-10f\{12345.6}");
        test(String.format("%,+f", -12345.6), fmt."%,+f\{-12345.6}");
        test(String.format("%,+f", 0.0), fmt."%,+f\{0.0}");
        test(String.format("%,+f", 12345.6), fmt."%,+f\{12345.6}");
        test(String.format("%,+10f", -12345.6), fmt."%,+10f\{-12345.6}");
        test(String.format("%,+10f", 0.0), fmt."%,+10f\{0.0}");
        test(String.format("%,+10f", 12345.6), fmt."%,+10f\{12345.6}");
        test(String.format("%,+-10f", -12345.6), fmt."%,+-10f\{-12345.6}");
        test(String.format("%,+-10f", 0.0), fmt."%,+-10f\{0.0}");
        test(String.format("%,+-10f", 12345.6), fmt."%,+-10f\{12345.6}");

        test(String.format("%f", -12345.6), fmt."%f\{-12345.6}");
        test(String.format("%f", 0.0), fmt."%f\{0.0}");
        test(String.format("%f", 12345.6), fmt."%f\{12345.6}");
        test(String.format("%10f", -12345.6), fmt."%10f\{-12345.6}");
        test(String.format("%10f", 0.0), fmt."%10f\{0.0}");
        test(String.format("%10f", 12345.6), fmt."%10f\{12345.6}");
        test(String.format("%-10f", -12345.6), fmt."%-10f\{-12345.6}");
        test(String.format("%-10f", 0.0), fmt."%-10f\{0.0}");
        test(String.format("%-10f", 12345.6), fmt."%-10f\{12345.6}");
        test(String.format("%,f", -12345.6), fmt."%,f\{-12345.6}");
        test(String.format("%,f", 0.0), fmt."%,f\{0.0}");
        test(String.format("%,f", 12345.6), fmt."%,f\{12345.6}");
        test(String.format("%,10f", -12345.6), fmt."%,10f\{-12345.6}");
        test(String.format("%,10f", 0.0), fmt."%,10f\{0.0}");
        test(String.format("%,10f", 12345.6), fmt."%,10f\{12345.6}");
        test(String.format("%,-10f", -12345.6), fmt."%,-10f\{-12345.6}");
        test(String.format("%,-10f", 0.0), fmt."%,-10f\{0.0}");
        test(String.format("%,-10f", 12345.6), fmt."%,-10f\{12345.6}");
        test(String.format("%(f", -12345.6), fmt."%(f\{-12345.6}");
        test(String.format("%(f", 0.0), fmt."%(f\{0.0}");
        test(String.format("%(f", 12345.6), fmt."%(f\{12345.6}");
        test(String.format("%(10f", -12345.6), fmt."%(10f\{-12345.6}");
        test(String.format("%(10f", 0.0), fmt."%(10f\{0.0}");
        test(String.format("%(10f", 12345.6), fmt."%(10f\{12345.6}");
        test(String.format("%(-10f", -12345.6), fmt."%(-10f\{-12345.6}");
        test(String.format("%(-10f", 0.0), fmt."%(-10f\{0.0}");
        test(String.format("%(-10f", 12345.6), fmt."%(-10f\{12345.6}");
        test(String.format("%,(f", -12345.6), fmt."%,(f\{-12345.6}");
        test(String.format("%,(f", 0.0), fmt."%,(f\{0.0}");
        test(String.format("%,(f", 12345.6), fmt."%,(f\{12345.6}");
        test(String.format("%,(10f", -12345.6), fmt."%,(10f\{-12345.6}");
        test(String.format("%,(10f", 0.0), fmt."%,(10f\{0.0}");
        test(String.format("%,(10f", 12345.6), fmt."%,(10f\{12345.6}");
        test(String.format("%,(-10f", -12345.6), fmt."%,(-10f\{-12345.6}");
        test(String.format("%,(-10f", 0.0), fmt."%,(-10f\{0.0}");
        test(String.format("%,(-10f", 12345.6), fmt."%,(-10f\{12345.6}");
        test(String.format("%+f", -12345.6), fmt."%+f\{-12345.6}");
        test(String.format("%+f", 0.0), fmt."%+f\{0.0}");
        test(String.format("%+f", 12345.6), fmt."%+f\{12345.6}");
        test(String.format("%+10f", -12345.6), fmt."%+10f\{-12345.6}");
        test(String.format("%+10f", 0.0), fmt."%+10f\{0.0}");
        test(String.format("%+10f", 12345.6), fmt."%+10f\{12345.6}");
        test(String.format("%+-10f", -12345.6), fmt."%+-10f\{-12345.6}");
        test(String.format("%+-10f", 0.0), fmt."%+-10f\{0.0}");
        test(String.format("%+-10f", 12345.6), fmt."%+-10f\{12345.6}");
        test(String.format("%,+f", -12345.6), fmt."%,+f\{-12345.6}");
        test(String.format("%,+f", 0.0), fmt."%,+f\{0.0}");
        test(String.format("%,+f", 12345.6), fmt."%,+f\{12345.6}");
        test(String.format("%,+10f", -12345.6), fmt."%,+10f\{-12345.6}");
        test(String.format("%,+10f", 0.0), fmt."%,+10f\{0.0}");
        test(String.format("%,+10f", 12345.6), fmt."%,+10f\{12345.6}");
        test(String.format("%,+-10f", -12345.6), fmt."%,+-10f\{-12345.6}");
        test(String.format("%,+-10f", 0.0), fmt."%,+-10f\{0.0}");
        test(String.format("%,+-10f", 12345.6), fmt."%,+-10f\{12345.6}");
        test(String.format("%(+f", -12345.6), fmt."%(+f\{-12345.6}");
        test(String.format("%(+f", 0.0), fmt."%(+f\{0.0}");
        test(String.format("%(+f", 12345.6), fmt."%(+f\{12345.6}");
        test(String.format("%(+10f", -12345.6), fmt."%(+10f\{-12345.6}");
        test(String.format("%(+10f", 0.0), fmt."%(+10f\{0.0}");
        test(String.format("%(+10f", 12345.6), fmt."%(+10f\{12345.6}");
        test(String.format("%(+-10f", -12345.6), fmt."%(+-10f\{-12345.6}");
        test(String.format("%(+-10f", 0.0), fmt."%(+-10f\{0.0}");
        test(String.format("%(+-10f", 12345.6), fmt."%(+-10f\{12345.6}");
        test(String.format("%,(+f", -12345.6), fmt."%,(+f\{-12345.6}");
        test(String.format("%,(+f", 0.0), fmt."%,(+f\{0.0}");
        test(String.format("%,(+f", 12345.6), fmt."%,(+f\{12345.6}");
        test(String.format("%,(+10f", -12345.6), fmt."%,(+10f\{-12345.6}");
        test(String.format("%,(+10f", 0.0), fmt."%,(+10f\{0.0}");
        test(String.format("%,(+10f", 12345.6), fmt."%,(+10f\{12345.6}");
        test(String.format("%,(+-10f", -12345.6), fmt."%,(+-10f\{-12345.6}");
        test(String.format("%,(+-10f", 0.0), fmt."%,(+-10f\{0.0}");
        test(String.format("%,(+-10f", 12345.6), fmt."%,(+-10f\{12345.6}");

        test(String.format("%e", -12345.6), fmt."%e\{-12345.6}");
        test(String.format("%e", 0.0), fmt."%e\{0.0}");
        test(String.format("%e", 12345.6), fmt."%e\{12345.6}");
        test(String.format("%10e", -12345.6), fmt."%10e\{-12345.6}");
        test(String.format("%10e", 0.0), fmt."%10e\{0.0}");
        test(String.format("%10e", 12345.6), fmt."%10e\{12345.6}");
        test(String.format("%-10e", -12345.6), fmt."%-10e\{-12345.6}");
        test(String.format("%-10e", 0.0), fmt."%-10e\{0.0}");
        test(String.format("%-10e", 12345.6), fmt."%-10e\{12345.6}");
        test(String.format("%E", -12345.6), fmt."%E\{-12345.6}");
        test(String.format("%E", 0.0), fmt."%E\{0.0}");
        test(String.format("%E", 12345.6), fmt."%E\{12345.6}");
        test(String.format("%10E", -12345.6), fmt."%10E\{-12345.6}");
        test(String.format("%10E", 0.0), fmt."%10E\{0.0}");
        test(String.format("%10E", 12345.6), fmt."%10E\{12345.6}");
        test(String.format("%-10E", -12345.6), fmt."%-10E\{-12345.6}");
        test(String.format("%-10E", 0.0), fmt."%-10E\{0.0}");
        test(String.format("%-10E", 12345.6), fmt."%-10E\{12345.6}");

        test(String.format("%g", -12345.6), fmt."%g\{-12345.6}");
        test(String.format("%g", 0.0), fmt."%g\{0.0}");
        test(String.format("%g", 12345.6), fmt."%g\{12345.6}");
        test(String.format("%10g", -12345.6), fmt."%10g\{-12345.6}");
        test(String.format("%10g", 0.0), fmt."%10g\{0.0}");
        test(String.format("%10g", 12345.6), fmt."%10g\{12345.6}");
        test(String.format("%-10g", -12345.6), fmt."%-10g\{-12345.6}");
        test(String.format("%-10g", 0.0), fmt."%-10g\{0.0}");
        test(String.format("%-10g", 12345.6), fmt."%-10g\{12345.6}");
        test(String.format("%G", -12345.6), fmt."%G\{-12345.6}");
        test(String.format("%G", 0.0), fmt."%G\{0.0}");
        test(String.format("%G", 12345.6), fmt."%G\{12345.6}");
        test(String.format("%10G", -12345.6), fmt."%10G\{-12345.6}");
        test(String.format("%10G", 0.0), fmt."%10G\{0.0}");
        test(String.format("%10G", 12345.6), fmt."%10G\{12345.6}");
        test(String.format("%-10G", -12345.6), fmt."%-10G\{-12345.6}");
        test(String.format("%-10G", 0.0), fmt."%-10G\{0.0}");
        test(String.format("%-10G", 12345.6), fmt."%-10G\{12345.6}");
        test(String.format("%,g", -12345.6), fmt."%,g\{-12345.6}");
        test(String.format("%,g", 0.0), fmt."%,g\{0.0}");
        test(String.format("%,g", 12345.6), fmt."%,g\{12345.6}");
        test(String.format("%,10g", -12345.6), fmt."%,10g\{-12345.6}");
        test(String.format("%,10g", 0.0), fmt."%,10g\{0.0}");
        test(String.format("%,10g", 12345.6), fmt."%,10g\{12345.6}");
        test(String.format("%,-10g", -12345.6), fmt."%,-10g\{-12345.6}");
        test(String.format("%,-10g", 0.0), fmt."%,-10g\{0.0}");
        test(String.format("%,-10g", 12345.6), fmt."%,-10g\{12345.6}");
        test(String.format("%,G", -12345.6), fmt."%,G\{-12345.6}");
        test(String.format("%,G", 0.0), fmt."%,G\{0.0}");
        test(String.format("%,G", 12345.6), fmt."%,G\{12345.6}");
        test(String.format("%,10G", -12345.6), fmt."%,10G\{-12345.6}");
        test(String.format("%,10G", 0.0), fmt."%,10G\{0.0}");
        test(String.format("%,10G", 12345.6), fmt."%,10G\{12345.6}");
        test(String.format("%,-10G", -12345.6), fmt."%,-10G\{-12345.6}");
        test(String.format("%,-10G", 0.0), fmt."%,-10G\{0.0}");
        test(String.format("%,-10G", 12345.6), fmt."%,-10G\{12345.6}");

        test(String.format("%g", -12345.6), fmt."%g\{-12345.6}");
        test(String.format("%g", 0.0), fmt."%g\{0.0}");
        test(String.format("%g", 12345.6), fmt."%g\{12345.6}");
        test(String.format("%10g", -12345.6), fmt."%10g\{-12345.6}");
        test(String.format("%10g", 0.0), fmt."%10g\{0.0}");
        test(String.format("%10g", 12345.6), fmt."%10g\{12345.6}");
        test(String.format("%-10g", -12345.6), fmt."%-10g\{-12345.6}");
        test(String.format("%-10g", 0.0), fmt."%-10g\{0.0}");
        test(String.format("%-10g", 12345.6), fmt."%-10g\{12345.6}");
        test(String.format("%G", -12345.6), fmt."%G\{-12345.6}");
        test(String.format("%G", 0.0), fmt."%G\{0.0}");
        test(String.format("%G", 12345.6), fmt."%G\{12345.6}");
        test(String.format("%10G", -12345.6), fmt."%10G\{-12345.6}");
        test(String.format("%10G", 0.0), fmt."%10G\{0.0}");
        test(String.format("%10G", 12345.6), fmt."%10G\{12345.6}");
        test(String.format("%-10G", -12345.6), fmt."%-10G\{-12345.6}");
        test(String.format("%-10G", 0.0), fmt."%-10G\{0.0}");
        test(String.format("%-10G", 12345.6), fmt."%-10G\{12345.6}");
        test(String.format("%,g", -12345.6), fmt."%,g\{-12345.6}");
        test(String.format("%,g", 0.0), fmt."%,g\{0.0}");
        test(String.format("%,g", 12345.6), fmt."%,g\{12345.6}");
        test(String.format("%,10g", -12345.6), fmt."%,10g\{-12345.6}");
        test(String.format("%,10g", 0.0), fmt."%,10g\{0.0}");
        test(String.format("%,10g", 12345.6), fmt."%,10g\{12345.6}");
        test(String.format("%,-10g", -12345.6), fmt."%,-10g\{-12345.6}");
        test(String.format("%,-10g", 0.0), fmt."%,-10g\{0.0}");
        test(String.format("%,-10g", 12345.6), fmt."%,-10g\{12345.6}");
        test(String.format("%,G", -12345.6), fmt."%,G\{-12345.6}");
        test(String.format("%,G", 0.0), fmt."%,G\{0.0}");
        test(String.format("%,G", 12345.6), fmt."%,G\{12345.6}");
        test(String.format("%,10G", -12345.6), fmt."%,10G\{-12345.6}");
        test(String.format("%,10G", 0.0), fmt."%,10G\{0.0}");
        test(String.format("%,10G", 12345.6), fmt."%,10G\{12345.6}");
        test(String.format("%,-10G", -12345.6), fmt."%,-10G\{-12345.6}");
        test(String.format("%,-10G", 0.0), fmt."%,-10G\{0.0}");
        test(String.format("%,-10G", 12345.6), fmt."%,-10G\{12345.6}");
        test(String.format("% g", -12345.6), fmt."% g\{-12345.6}");
        test(String.format("% g", 0.0), fmt."% g\{0.0}");
        test(String.format("% g", 12345.6), fmt."% g\{12345.6}");
        test(String.format("% 10g", -12345.6), fmt."% 10g\{-12345.6}");
        test(String.format("% 10g", 0.0), fmt."% 10g\{0.0}");
        test(String.format("% 10g", 12345.6), fmt."% 10g\{12345.6}");
        test(String.format("% -10g", -12345.6), fmt."% -10g\{-12345.6}");
        test(String.format("% -10g", 0.0), fmt."% -10g\{0.0}");
        test(String.format("% -10g", 12345.6), fmt."% -10g\{12345.6}");
        test(String.format("% G", -12345.6), fmt."% G\{-12345.6}");
        test(String.format("% G", 0.0), fmt."% G\{0.0}");
        test(String.format("% G", 12345.6), fmt."% G\{12345.6}");
        test(String.format("% 10G", -12345.6), fmt."% 10G\{-12345.6}");
        test(String.format("% 10G", 0.0), fmt."% 10G\{0.0}");
        test(String.format("% 10G", 12345.6), fmt."% 10G\{12345.6}");
        test(String.format("% -10G", -12345.6), fmt."% -10G\{-12345.6}");
        test(String.format("% -10G", 0.0), fmt."% -10G\{0.0}");
        test(String.format("% -10G", 12345.6), fmt."% -10G\{12345.6}");
        test(String.format("%, g", -12345.6), fmt."%, g\{-12345.6}");
        test(String.format("%, g", 0.0), fmt."%, g\{0.0}");
        test(String.format("%, g", 12345.6), fmt."%, g\{12345.6}");
        test(String.format("%, 10g", -12345.6), fmt."%, 10g\{-12345.6}");
        test(String.format("%, 10g", 0.0), fmt."%, 10g\{0.0}");
        test(String.format("%, 10g", 12345.6), fmt."%, 10g\{12345.6}");
        test(String.format("%, -10g", -12345.6), fmt."%, -10g\{-12345.6}");
        test(String.format("%, -10g", 0.0), fmt."%, -10g\{0.0}");
        test(String.format("%, -10g", 12345.6), fmt."%, -10g\{12345.6}");
        test(String.format("%, G", -12345.6), fmt."%, G\{-12345.6}");
        test(String.format("%, G", 0.0), fmt."%, G\{0.0}");
        test(String.format("%, G", 12345.6), fmt."%, G\{12345.6}");
        test(String.format("%, 10G", -12345.6), fmt."%, 10G\{-12345.6}");
        test(String.format("%, 10G", 0.0), fmt."%, 10G\{0.0}");
        test(String.format("%, 10G", 12345.6), fmt."%, 10G\{12345.6}");
        test(String.format("%, -10G", -12345.6), fmt."%, -10G\{-12345.6}");
        test(String.format("%, -10G", 0.0), fmt."%, -10G\{0.0}");
        test(String.format("%, -10G", 12345.6), fmt."%, -10G\{12345.6}");

        test(String.format("%g", -12345.6), fmt."%g\{-12345.6}");
        test(String.format("%g", 0.0), fmt."%g\{0.0}");
        test(String.format("%g", 12345.6), fmt."%g\{12345.6}");
        test(String.format("%10g", -12345.6), fmt."%10g\{-12345.6}");
        test(String.format("%10g", 0.0), fmt."%10g\{0.0}");
        test(String.format("%10g", 12345.6), fmt."%10g\{12345.6}");
        test(String.format("%-10g", -12345.6), fmt."%-10g\{-12345.6}");
        test(String.format("%-10g", 0.0), fmt."%-10g\{0.0}");
        test(String.format("%-10g", 12345.6), fmt."%-10g\{12345.6}");
        test(String.format("%G", -12345.6), fmt."%G\{-12345.6}");
        test(String.format("%G", 0.0), fmt."%G\{0.0}");
        test(String.format("%G", 12345.6), fmt."%G\{12345.6}");
        test(String.format("%10G", -12345.6), fmt."%10G\{-12345.6}");
        test(String.format("%10G", 0.0), fmt."%10G\{0.0}");
        test(String.format("%10G", 12345.6), fmt."%10G\{12345.6}");
        test(String.format("%-10G", -12345.6), fmt."%-10G\{-12345.6}");
        test(String.format("%-10G", 0.0), fmt."%-10G\{0.0}");
        test(String.format("%-10G", 12345.6), fmt."%-10G\{12345.6}");
        test(String.format("%,g", -12345.6), fmt."%,g\{-12345.6}");
        test(String.format("%,g", 0.0), fmt."%,g\{0.0}");
        test(String.format("%,g", 12345.6), fmt."%,g\{12345.6}");
        test(String.format("%,10g", -12345.6), fmt."%,10g\{-12345.6}");
        test(String.format("%,10g", 0.0), fmt."%,10g\{0.0}");
        test(String.format("%,10g", 12345.6), fmt."%,10g\{12345.6}");
        test(String.format("%,-10g", -12345.6), fmt."%,-10g\{-12345.6}");
        test(String.format("%,-10g", 0.0), fmt."%,-10g\{0.0}");
        test(String.format("%,-10g", 12345.6), fmt."%,-10g\{12345.6}");
        test(String.format("%,G", -12345.6), fmt."%,G\{-12345.6}");
        test(String.format("%,G", 0.0), fmt."%,G\{0.0}");
        test(String.format("%,G", 12345.6), fmt."%,G\{12345.6}");
        test(String.format("%,10G", -12345.6), fmt."%,10G\{-12345.6}");
        test(String.format("%,10G", 0.0), fmt."%,10G\{0.0}");
        test(String.format("%,10G", 12345.6), fmt."%,10G\{12345.6}");
        test(String.format("%,-10G", -12345.6), fmt."%,-10G\{-12345.6}");
        test(String.format("%,-10G", 0.0), fmt."%,-10G\{0.0}");
        test(String.format("%,-10G", 12345.6), fmt."%,-10G\{12345.6}");
        test(String.format("%+g", -12345.6), fmt."%+g\{-12345.6}");
        test(String.format("%+g", 0.0), fmt."%+g\{0.0}");
        test(String.format("%+g", 12345.6), fmt."%+g\{12345.6}");
        test(String.format("%+10g", -12345.6), fmt."%+10g\{-12345.6}");
        test(String.format("%+10g", 0.0), fmt."%+10g\{0.0}");
        test(String.format("%+10g", 12345.6), fmt."%+10g\{12345.6}");
        test(String.format("%+-10g", -12345.6), fmt."%+-10g\{-12345.6}");
        test(String.format("%+-10g", 0.0), fmt."%+-10g\{0.0}");
        test(String.format("%+-10g", 12345.6), fmt."%+-10g\{12345.6}");
        test(String.format("%+G", -12345.6), fmt."%+G\{-12345.6}");
        test(String.format("%+G", 0.0), fmt."%+G\{0.0}");
        test(String.format("%+G", 12345.6), fmt."%+G\{12345.6}");
        test(String.format("%+10G", -12345.6), fmt."%+10G\{-12345.6}");
        test(String.format("%+10G", 0.0), fmt."%+10G\{0.0}");
        test(String.format("%+10G", 12345.6), fmt."%+10G\{12345.6}");
        test(String.format("%+-10G", -12345.6), fmt."%+-10G\{-12345.6}");
        test(String.format("%+-10G", 0.0), fmt."%+-10G\{0.0}");
        test(String.format("%+-10G", 12345.6), fmt."%+-10G\{12345.6}");
        test(String.format("%,+g", -12345.6), fmt."%,+g\{-12345.6}");
        test(String.format("%,+g", 0.0), fmt."%,+g\{0.0}");
        test(String.format("%,+g", 12345.6), fmt."%,+g\{12345.6}");
        test(String.format("%,+10g", -12345.6), fmt."%,+10g\{-12345.6}");
        test(String.format("%,+10g", 0.0), fmt."%,+10g\{0.0}");
        test(String.format("%,+10g", 12345.6), fmt."%,+10g\{12345.6}");
        test(String.format("%,+-10g", -12345.6), fmt."%,+-10g\{-12345.6}");
        test(String.format("%,+-10g", 0.0), fmt."%,+-10g\{0.0}");
        test(String.format("%,+-10g", 12345.6), fmt."%,+-10g\{12345.6}");
        test(String.format("%,+G", -12345.6), fmt."%,+G\{-12345.6}");
        test(String.format("%,+G", 0.0), fmt."%,+G\{0.0}");
        test(String.format("%,+G", 12345.6), fmt."%,+G\{12345.6}");
        test(String.format("%,+10G", -12345.6), fmt."%,+10G\{-12345.6}");
        test(String.format("%,+10G", 0.0), fmt."%,+10G\{0.0}");
        test(String.format("%,+10G", 12345.6), fmt."%,+10G\{12345.6}");
        test(String.format("%,+-10G", -12345.6), fmt."%,+-10G\{-12345.6}");
        test(String.format("%,+-10G", 0.0), fmt."%,+-10G\{0.0}");
        test(String.format("%,+-10G", 12345.6), fmt."%,+-10G\{12345.6}");

        test(String.format("%g", -12345.6), fmt."%g\{-12345.6}");
        test(String.format("%g", 0.0), fmt."%g\{0.0}");
        test(String.format("%g", 12345.6), fmt."%g\{12345.6}");
        test(String.format("%10g", -12345.6), fmt."%10g\{-12345.6}");
        test(String.format("%10g", 0.0), fmt."%10g\{0.0}");
        test(String.format("%10g", 12345.6), fmt."%10g\{12345.6}");
        test(String.format("%-10g", -12345.6), fmt."%-10g\{-12345.6}");
        test(String.format("%-10g", 0.0), fmt."%-10g\{0.0}");
        test(String.format("%-10g", 12345.6), fmt."%-10g\{12345.6}");
        test(String.format("%G", -12345.6), fmt."%G\{-12345.6}");
        test(String.format("%G", 0.0), fmt."%G\{0.0}");
        test(String.format("%G", 12345.6), fmt."%G\{12345.6}");
        test(String.format("%10G", -12345.6), fmt."%10G\{-12345.6}");
        test(String.format("%10G", 0.0), fmt."%10G\{0.0}");
        test(String.format("%10G", 12345.6), fmt."%10G\{12345.6}");
        test(String.format("%-10G", -12345.6), fmt."%-10G\{-12345.6}");
        test(String.format("%-10G", 0.0), fmt."%-10G\{0.0}");
        test(String.format("%-10G", 12345.6), fmt."%-10G\{12345.6}");
        test(String.format("%,g", -12345.6), fmt."%,g\{-12345.6}");
        test(String.format("%,g", 0.0), fmt."%,g\{0.0}");
        test(String.format("%,g", 12345.6), fmt."%,g\{12345.6}");
        test(String.format("%,10g", -12345.6), fmt."%,10g\{-12345.6}");
        test(String.format("%,10g", 0.0), fmt."%,10g\{0.0}");
        test(String.format("%,10g", 12345.6), fmt."%,10g\{12345.6}");
        test(String.format("%,-10g", -12345.6), fmt."%,-10g\{-12345.6}");
        test(String.format("%,-10g", 0.0), fmt."%,-10g\{0.0}");
        test(String.format("%,-10g", 12345.6), fmt."%,-10g\{12345.6}");
        test(String.format("%,G", -12345.6), fmt."%,G\{-12345.6}");
        test(String.format("%,G", 0.0), fmt."%,G\{0.0}");
        test(String.format("%,G", 12345.6), fmt."%,G\{12345.6}");
        test(String.format("%,10G", -12345.6), fmt."%,10G\{-12345.6}");
        test(String.format("%,10G", 0.0), fmt."%,10G\{0.0}");
        test(String.format("%,10G", 12345.6), fmt."%,10G\{12345.6}");
        test(String.format("%,-10G", -12345.6), fmt."%,-10G\{-12345.6}");
        test(String.format("%,-10G", 0.0), fmt."%,-10G\{0.0}");
        test(String.format("%,-10G", 12345.6), fmt."%,-10G\{12345.6}");
        test(String.format("%(g", -12345.6), fmt."%(g\{-12345.6}");
        test(String.format("%(g", 0.0), fmt."%(g\{0.0}");
        test(String.format("%(g", 12345.6), fmt."%(g\{12345.6}");
        test(String.format("%(10g", -12345.6), fmt."%(10g\{-12345.6}");
        test(String.format("%(10g", 0.0), fmt."%(10g\{0.0}");
        test(String.format("%(10g", 12345.6), fmt."%(10g\{12345.6}");
        test(String.format("%(-10g", -12345.6), fmt."%(-10g\{-12345.6}");
        test(String.format("%(-10g", 0.0), fmt."%(-10g\{0.0}");
        test(String.format("%(-10g", 12345.6), fmt."%(-10g\{12345.6}");
        test(String.format("%(G", -12345.6), fmt."%(G\{-12345.6}");
        test(String.format("%(G", 0.0), fmt."%(G\{0.0}");
        test(String.format("%(G", 12345.6), fmt."%(G\{12345.6}");
        test(String.format("%(10G", -12345.6), fmt."%(10G\{-12345.6}");
        test(String.format("%(10G", 0.0), fmt."%(10G\{0.0}");
        test(String.format("%(10G", 12345.6), fmt."%(10G\{12345.6}");
        test(String.format("%(-10G", -12345.6), fmt."%(-10G\{-12345.6}");
        test(String.format("%(-10G", 0.0), fmt."%(-10G\{0.0}");
        test(String.format("%(-10G", 12345.6), fmt."%(-10G\{12345.6}");
        test(String.format("%,(g", -12345.6), fmt."%,(g\{-12345.6}");
        test(String.format("%,(g", 0.0), fmt."%,(g\{0.0}");
        test(String.format("%,(g", 12345.6), fmt."%,(g\{12345.6}");
        test(String.format("%,(10g", -12345.6), fmt."%,(10g\{-12345.6}");
        test(String.format("%,(10g", 0.0), fmt."%,(10g\{0.0}");
        test(String.format("%,(10g", 12345.6), fmt."%,(10g\{12345.6}");
        test(String.format("%,(-10g", -12345.6), fmt."%,(-10g\{-12345.6}");
        test(String.format("%,(-10g", 0.0), fmt."%,(-10g\{0.0}");
        test(String.format("%,(-10g", 12345.6), fmt."%,(-10g\{12345.6}");
        test(String.format("%,(G", -12345.6), fmt."%,(G\{-12345.6}");
        test(String.format("%,(G", 0.0), fmt."%,(G\{0.0}");
        test(String.format("%,(G", 12345.6), fmt."%,(G\{12345.6}");
        test(String.format("%,(10G", -12345.6), fmt."%,(10G\{-12345.6}");
        test(String.format("%,(10G", 0.0), fmt."%,(10G\{0.0}");
        test(String.format("%,(10G", 12345.6), fmt."%,(10G\{12345.6}");
        test(String.format("%,(-10G", -12345.6), fmt."%,(-10G\{-12345.6}");
        test(String.format("%,(-10G", 0.0), fmt."%,(-10G\{0.0}");
        test(String.format("%,(-10G", 12345.6), fmt."%,(-10G\{12345.6}");
        test(String.format("%+g", -12345.6), fmt."%+g\{-12345.6}");
        test(String.format("%+g", 0.0), fmt."%+g\{0.0}");
        test(String.format("%+g", 12345.6), fmt."%+g\{12345.6}");
        test(String.format("%+10g", -12345.6), fmt."%+10g\{-12345.6}");
        test(String.format("%+10g", 0.0), fmt."%+10g\{0.0}");
        test(String.format("%+10g", 12345.6), fmt."%+10g\{12345.6}");
        test(String.format("%+-10g", -12345.6), fmt."%+-10g\{-12345.6}");
        test(String.format("%+-10g", 0.0), fmt."%+-10g\{0.0}");
        test(String.format("%+-10g", 12345.6), fmt."%+-10g\{12345.6}");
        test(String.format("%+G", -12345.6), fmt."%+G\{-12345.6}");
        test(String.format("%+G", 0.0), fmt."%+G\{0.0}");
        test(String.format("%+G", 12345.6), fmt."%+G\{12345.6}");
        test(String.format("%+10G", -12345.6), fmt."%+10G\{-12345.6}");
        test(String.format("%+10G", 0.0), fmt."%+10G\{0.0}");
        test(String.format("%+10G", 12345.6), fmt."%+10G\{12345.6}");
        test(String.format("%+-10G", -12345.6), fmt."%+-10G\{-12345.6}");
        test(String.format("%+-10G", 0.0), fmt."%+-10G\{0.0}");
        test(String.format("%+-10G", 12345.6), fmt."%+-10G\{12345.6}");
        test(String.format("%,+g", -12345.6), fmt."%,+g\{-12345.6}");
        test(String.format("%,+g", 0.0), fmt."%,+g\{0.0}");
        test(String.format("%,+g", 12345.6), fmt."%,+g\{12345.6}");
        test(String.format("%,+10g", -12345.6), fmt."%,+10g\{-12345.6}");
        test(String.format("%,+10g", 0.0), fmt."%,+10g\{0.0}");
        test(String.format("%,+10g", 12345.6), fmt."%,+10g\{12345.6}");
        test(String.format("%,+-10g", -12345.6), fmt."%,+-10g\{-12345.6}");
        test(String.format("%,+-10g", 0.0), fmt."%,+-10g\{0.0}");
        test(String.format("%,+-10g", 12345.6), fmt."%,+-10g\{12345.6}");
        test(String.format("%,+G", -12345.6), fmt."%,+G\{-12345.6}");
        test(String.format("%,+G", 0.0), fmt."%,+G\{0.0}");
        test(String.format("%,+G", 12345.6), fmt."%,+G\{12345.6}");
        test(String.format("%,+10G", -12345.6), fmt."%,+10G\{-12345.6}");
        test(String.format("%,+10G", 0.0), fmt."%,+10G\{0.0}");
        test(String.format("%,+10G", 12345.6), fmt."%,+10G\{12345.6}");
        test(String.format("%,+-10G", -12345.6), fmt."%,+-10G\{-12345.6}");
        test(String.format("%,+-10G", 0.0), fmt."%,+-10G\{0.0}");
        test(String.format("%,+-10G", 12345.6), fmt."%,+-10G\{12345.6}");
        test(String.format("%(+g", -12345.6), fmt."%(+g\{-12345.6}");
        test(String.format("%(+g", 0.0), fmt."%(+g\{0.0}");
        test(String.format("%(+g", 12345.6), fmt."%(+g\{12345.6}");
        test(String.format("%(+10g", -12345.6), fmt."%(+10g\{-12345.6}");
        test(String.format("%(+10g", 0.0), fmt."%(+10g\{0.0}");
        test(String.format("%(+10g", 12345.6), fmt."%(+10g\{12345.6}");
        test(String.format("%(+-10g", -12345.6), fmt."%(+-10g\{-12345.6}");
        test(String.format("%(+-10g", 0.0), fmt."%(+-10g\{0.0}");
        test(String.format("%(+-10g", 12345.6), fmt."%(+-10g\{12345.6}");
        test(String.format("%(+G", -12345.6), fmt."%(+G\{-12345.6}");
        test(String.format("%(+G", 0.0), fmt."%(+G\{0.0}");
        test(String.format("%(+G", 12345.6), fmt."%(+G\{12345.6}");
        test(String.format("%(+10G", -12345.6), fmt."%(+10G\{-12345.6}");
        test(String.format("%(+10G", 0.0), fmt."%(+10G\{0.0}");
        test(String.format("%(+10G", 12345.6), fmt."%(+10G\{12345.6}");
        test(String.format("%(+-10G", -12345.6), fmt."%(+-10G\{-12345.6}");
        test(String.format("%(+-10G", 0.0), fmt."%(+-10G\{0.0}");
        test(String.format("%(+-10G", 12345.6), fmt."%(+-10G\{12345.6}");
        test(String.format("%,(+g", -12345.6), fmt."%,(+g\{-12345.6}");
        test(String.format("%,(+g", 0.0), fmt."%,(+g\{0.0}");
        test(String.format("%,(+g", 12345.6), fmt."%,(+g\{12345.6}");
        test(String.format("%,(+10g", -12345.6), fmt."%,(+10g\{-12345.6}");
        test(String.format("%,(+10g", 0.0), fmt."%,(+10g\{0.0}");
        test(String.format("%,(+10g", 12345.6), fmt."%,(+10g\{12345.6}");
        test(String.format("%,(+-10g", -12345.6), fmt."%,(+-10g\{-12345.6}");
        test(String.format("%,(+-10g", 0.0), fmt."%,(+-10g\{0.0}");
        test(String.format("%,(+-10g", 12345.6), fmt."%,(+-10g\{12345.6}");
        test(String.format("%,(+G", -12345.6), fmt."%,(+G\{-12345.6}");
        test(String.format("%,(+G", 0.0), fmt."%,(+G\{0.0}");
        test(String.format("%,(+G", 12345.6), fmt."%,(+G\{12345.6}");
        test(String.format("%,(+10G", -12345.6), fmt."%,(+10G\{-12345.6}");
        test(String.format("%,(+10G", 0.0), fmt."%,(+10G\{0.0}");
        test(String.format("%,(+10G", 12345.6), fmt."%,(+10G\{12345.6}");
        test(String.format("%,(+-10G", -12345.6), fmt."%,(+-10G\{-12345.6}");
        test(String.format("%,(+-10G", 0.0), fmt."%,(+-10G\{0.0}");
        test(String.format("%,(+-10G", 12345.6), fmt."%,(+-10G\{12345.6}");

        test(String.format("%a", -12345.6), fmt."%a\{-12345.6}");
        test(String.format("%a", 0.0), fmt."%a\{0.0}");
        test(String.format("%a", 12345.6), fmt."%a\{12345.6}");
        test(String.format("%10a", -12345.6), fmt."%10a\{-12345.6}");
        test(String.format("%10a", 0.0), fmt."%10a\{0.0}");
        test(String.format("%10a", 12345.6), fmt."%10a\{12345.6}");
        test(String.format("%-10a", -12345.6), fmt."%-10a\{-12345.6}");
        test(String.format("%-10a", 0.0), fmt."%-10a\{0.0}");
        test(String.format("%-10a", 12345.6), fmt."%-10a\{12345.6}");
        test(String.format("%A", -12345.6), fmt."%A\{-12345.6}");
        test(String.format("%A", 0.0), fmt."%A\{0.0}");
        test(String.format("%A", 12345.6), fmt."%A\{12345.6}");
        test(String.format("%10A", -12345.6), fmt."%10A\{-12345.6}");
        test(String.format("%10A", 0.0), fmt."%10A\{0.0}");
        test(String.format("%10A", 12345.6), fmt."%10A\{12345.6}");
        test(String.format("%-10A", -12345.6), fmt."%-10A\{-12345.6}");
        test(String.format("%-10A", 0.0), fmt."%-10A\{0.0}");
        test(String.format("%-10A", 12345.6), fmt."%-10A\{12345.6}");
    }
}