test/java/util/Formatter/BasicLong.java

Print this page
rev 10699 : 8058887: (fmt) Improve java/util/Formatter test coverage of group separators and width

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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.

@@ -34,32 +34,33 @@
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.text.DateFormatSymbols;
 import java.util.*;
 
-
-
-
 import static java.util.Calendar.*;
 
-
-
-
-
 public class BasicLong extends Basic {
 
     private static void test(String fs, String exp, Object ... args) {
         Formatter f = new Formatter(new StringBuilder(), Locale.US);
         f.format(fs, args);
         ck(fs, exp, f.toString());
+
+        f = new Formatter(new StringBuilder(), Locale.US);
+        f.format("foo " + fs + " bar", args);
+        ck(fs, "foo " + exp + " bar", f.toString());
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
     {
         Formatter f = new Formatter(new StringBuilder(), l);
         f.format(fs, args);
         ck(fs, exp, f.toString());
+
+        f = new Formatter(new StringBuilder(), l);
+        f.format("foo " + fs + " bar", args);
+        ck(fs, "foo " + exp + " bar", f.toString());
     }
 
     private static void test(String fs, Object ... args) {
         Formatter f = new Formatter(new StringBuilder(), Locale.US);
         f.format(fs, args);

@@ -133,205 +134,14 @@
             fail(fs, ex);
         else
             pass();
     }
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
     private static long negate(long v) {
         return (long) -v;
     }
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
     public static void test() {
         TimeZone.setDefault(TimeZone.getTimeZone("GMT-0800"));
 
         // Any characters not explicitly defined as conversions, date/time
         // conversion suffixes, or flags are illegal and are reserved for

@@ -513,70 +323,20 @@
         //---------------------------------------------------------------------
         tryCatch("%F", UnknownFormatConversionException.class);
 
         tryCatch("%#g", FormatFlagsConversionMismatchException.class);
 
-
-
-
         long minByte = Byte.MIN_VALUE;   // -128
 
-
-
-
         //---------------------------------------------------------------------
         // %d
         //
         // Numeric conversion applicable to byte, short, int, long, and
         // BigInteger.
         //---------------------------------------------------------------------
         test("%d", "null", (Object)null);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
         //---------------------------------------------------------------------
         // %d - int and long
         //---------------------------------------------------------------------
         long oneToSeven = (long) 1234567;
         test("%d", "1234567", oneToSeven);

@@ -592,12 +352,19 @@
         test("%010d", "0001234567", oneToSeven);
         test("%010d", "-001234567", negate(oneToSeven));
         test("%(10d", " (1234567)", negate(oneToSeven));
         test("%-10d", "1234567   ", oneToSeven);
         test("%-10d", "-1234567  ", negate(oneToSeven));
-
-
+        // , variations:
+        test("% ,d", " 1,234,567", oneToSeven);
+        test("% ,d", "-1,234,567", negate(oneToSeven));
+        test("%+,10d", "+1,234,567", oneToSeven);
+        test("%0,10d", "01,234,567", oneToSeven);
+        test("%0,10d", "-1,234,567", negate(oneToSeven));
+        test("%(,10d", "(1,234,567)", negate(oneToSeven));
+        test("%-,10d", "1,234,567 ", oneToSeven);
+        test("%-,10d", "-1,234,567", negate(oneToSeven));
 
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
         tryCatch("%#d", FormatFlagsConversionMismatchException.class);

@@ -612,42 +379,10 @@
         // Numeric conversion applicable to byte, short, int, long, and
         // BigInteger.
         //---------------------------------------------------------------------
         test("%o", "null", (Object)null);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
         //---------------------------------------------------------------------
         // %o - long
         //---------------------------------------------------------------------
         test("%024o", "001777777777777777777600", minByte);
         test("%-24o", "1777777777777777777600  ", minByte);

@@ -657,11 +392,10 @@
         test("%o", "4553207", oneToSevenOct);
         test("%010o", "0004553207", oneToSevenOct);
         test("%-10o", "4553207   ", oneToSevenOct);
         test("%#10o", "  04553207", oneToSevenOct);
 
-
         //---------------------------------------------------------------------
         // %o - errors
         //---------------------------------------------------------------------
         tryCatch("%(o", FormatFlagsConversionMismatchException.class,
                  minByte);

@@ -680,53 +414,10 @@
         // Numeric conversion applicable to byte, short, int, long, and
         // BigInteger.
         //---------------------------------------------------------------------
         test("%x", "null", (Object)null);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
         //---------------------------------------------------------------------
         // %x - long
         //---------------------------------------------------------------------
         long oneToSevenHex = (long)1234567;
         test("%x", "null", (Object)null);

@@ -749,839 +440,17 @@
         //---------------------------------------------------------------------
         tryCatch("%,x", FormatFlagsConversionMismatchException.class);
         tryCatch("%0x", MissingFormatWidthException.class);
         tryCatch("%-x", MissingFormatWidthException.class);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        //---------------------------------------------------------------------
-        // %t
-        //
-        // Date/Time conversions applicable to Calendar, Date, and long.
-        //---------------------------------------------------------------------
-        test("%tA", "null", (Object)null);
-        test("%TA", "NULL", (Object)null);
+        //---------------------------------------------------------------------
+        // %t
+        //
+        // Date/Time conversions applicable to Calendar, Date, and long.
+        //---------------------------------------------------------------------
+        test("%tA", "null", (Object)null);
+        test("%TA", "NULL", (Object)null);
 
         //---------------------------------------------------------------------
         // %t - errors
         //---------------------------------------------------------------------
         tryCatch("%t", UnknownFormatConversionException.class);

@@ -1590,104 +459,10 @@
         tryCatch("%TP", UnknownFormatConversionException.class);
         tryCatch("%.5tB", IllegalFormatPrecisionException.class);
         tryCatch("%#tB", FormatFlagsConversionMismatchException.class);
         tryCatch("%-tB", MissingFormatWidthException.class);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
         //---------------------------------------------------------------------
         // %n
         //---------------------------------------------------------------------
         test("%n", System.getProperty("line.separator"), (Object)null);
         test("%n", System.getProperty("line.separator"), "");