8058887: (fmt) Improve java/util/Formatter test coverage of group separators and width
authorredestad
Sun, 16 Nov 2014 15:03:46 +0100
changeset 27725 433b57a5a5c1
parent 27724 9a42fe09eb61
child 27726 34021e900889
8058887: (fmt) Improve java/util/Formatter test coverage of group separators and width Reviewed-by: sherman
jdk/test/java/util/Formatter/Basic-X.java.template
jdk/test/java/util/Formatter/BasicBigDecimal.java
jdk/test/java/util/Formatter/BasicBigInteger.java
jdk/test/java/util/Formatter/BasicBoolean.java
jdk/test/java/util/Formatter/BasicBooleanObject.java
jdk/test/java/util/Formatter/BasicByte.java
jdk/test/java/util/Formatter/BasicByteObject.java
jdk/test/java/util/Formatter/BasicChar.java
jdk/test/java/util/Formatter/BasicCharObject.java
jdk/test/java/util/Formatter/BasicDateTime.java
jdk/test/java/util/Formatter/BasicDouble.java
jdk/test/java/util/Formatter/BasicDoubleObject.java
jdk/test/java/util/Formatter/BasicFloat.java
jdk/test/java/util/Formatter/BasicFloatObject.java
jdk/test/java/util/Formatter/BasicInt.java
jdk/test/java/util/Formatter/BasicIntObject.java
jdk/test/java/util/Formatter/BasicLong.java
jdk/test/java/util/Formatter/BasicLongObject.java
jdk/test/java/util/Formatter/BasicShort.java
jdk/test/java/util/Formatter/BasicShortObject.java
jdk/test/java/util/Formatter/genBasic.sh
--- a/jdk/test/java/util/Formatter/Basic-X.java.template	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/Basic-X.java.template	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -572,6 +580,14 @@
         test("%(10d", "   (12345)", negate(oneToFive));
         test("%-10d", "12345     ", oneToFive);
         test("%-10d", "-12345    ", negate(oneToFive));
+        // , variations:
+        test("% ,d", " 12,345", oneToFive);
+        test("% ,d", "-12,345", negate(oneToFive));
+        test("%0,10d", "000012,345", oneToFive);
+        test("%0,10d", "-00012,345", negate(oneToFive));
+        test("%(,10d", "  (12,345)", negate(oneToFive));
+        test("%-,10d", "12,345    ", oneToFive);
+        test("%-,10d", "-12,345   ", negate(oneToFive));
 
 #else[short]
 #if[prim]
@@ -594,6 +610,16 @@
         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));
+
 #end[prim]
 #end[short]
 #end[byte]
@@ -781,6 +807,14 @@
         test("%+d", "-1234567", new BigInteger("-1234567", 10));
         test("%-10d", "1234567   ", new BigInteger("1234567", 10));
         test("%-10d", "-1234567  ", new BigInteger("-1234567", 10));
+        // , variations:
+        test("%0,10d", "01,234,567", new BigInteger("1234567", 10));
+        test("%0,10d", "-1,234,567", new BigInteger("-1234567", 10));
+        test("%(,10d", "(1,234,567)", new BigInteger("-1234567", 10));
+        test("%+,d", "+1,234,567", new BigInteger("1234567", 10));
+        test("%+,d", "-1,234,567", new BigInteger("-1234567", 10));
+        test("%-,10d", "1,234,567 ", new BigInteger("1234567", 10));
+        test("%-,10d", "-1,234,567", new BigInteger("-1234567", 10));
 
         //---------------------------------------------------------------------
         // %o - BigInteger
@@ -1039,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 #if[BigDecimal]
         //---------------------------------------------------------------------
         // %f - BigDecimal
--- a/jdk/test/java/util/Formatter/BasicBigDecimal.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicBigDecimal.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -831,6 +839,32 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %s - BigDecimal
         //---------------------------------------------------------------------
@@ -1039,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 
         //---------------------------------------------------------------------
         // %f - BigDecimal
@@ -1351,6 +1393,35 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %f, %e, %g, %a - Boundaries
         //---------------------------------------------------------------------
--- a/jdk/test/java/util/Formatter/BasicBigInteger.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicBigInteger.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -754,6 +762,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // BigInteger - errors
         //---------------------------------------------------------------------
@@ -781,6 +807,14 @@
         test("%+d", "-1234567", new BigInteger("-1234567", 10));
         test("%-10d", "1234567   ", new BigInteger("1234567", 10));
         test("%-10d", "-1234567  ", new BigInteger("-1234567", 10));
+        // , variations:
+        test("%0,10d", "01,234,567", new BigInteger("1234567", 10));
+        test("%0,10d", "-1,234,567", new BigInteger("-1234567", 10));
+        test("%(,10d", "(1,234,567)", new BigInteger("-1234567", 10));
+        test("%+,d", "+1,234,567", new BigInteger("1234567", 10));
+        test("%+,d", "-1,234,567", new BigInteger("-1234567", 10));
+        test("%-,10d", "1,234,567 ", new BigInteger("1234567", 10));
+        test("%-,10d", "-1,234,567", new BigInteger("-1234567", 10));
 
         //---------------------------------------------------------------------
         // %o - BigInteger
@@ -1573,6 +1607,59 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicBoolean.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicBoolean.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -1573,6 +1581,85 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicBooleanObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicBooleanObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -1573,6 +1581,85 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicByte.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicByte.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -597,6 +605,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicByteObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicByteObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -597,6 +605,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicChar.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicChar.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -1573,6 +1581,85 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicCharObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicCharObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -1573,6 +1581,85 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicDateTime.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicDateTime.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -1573,6 +1581,85 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicDouble.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicDouble.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -36,6 +36,9 @@
 import java.text.DateFormatSymbols;
 import java.util.*;
 
+import sun.misc.DoubleConsts;
+
+
 import static java.util.Calendar.*;
 
 
@@ -48,6 +51,10 @@
         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)
@@ -55,6 +62,10 @@
         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) {
@@ -859,6 +870,32 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %s - double
         //---------------------------------------------------------------------
@@ -1036,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 
 
 
@@ -1310,12 +1355,12 @@
         test("%.1a", "-0x1.0p0", -1.0);
         test("%.11a", "0x1.80000000000p1", 3.0);
         test("%.1a", "0x1.8p1", 3.0);
-        test("%.11a", "0x1.00000000000p-1022", Double.MIN_NORMAL);
-        test("%.1a", "0x1.0p-1022", Double.MIN_NORMAL);
+        test("%.11a", "0x1.00000000000p-1022", DoubleConsts.MIN_NORMAL);
+        test("%.1a", "0x1.0p-1022", DoubleConsts.MIN_NORMAL);
         test("%.11a", "0x1.00000000000p-1022",
-             Math.nextDown(Double.MIN_NORMAL));
+             Math.nextDown(DoubleConsts.MIN_NORMAL));
         test("%.1a", "0x1.0p-1022",
-             Math.nextDown(Double.MIN_NORMAL));
+             Math.nextDown(DoubleConsts.MIN_NORMAL));
         test("%.11a", "0x1.ffffffffffep-1023", 0x0.fffffffffffp-1022);
         test("%.1a", "0x1.0p-1022", 0x0.fffffffffffp-1022);
         test("%.30a", "0x0.000000000000100000000000000000p-1022", Double.MIN_VALUE);
--- a/jdk/test/java/util/Formatter/BasicDoubleObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicDoubleObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -872,6 +880,32 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %s - Double
         //---------------------------------------------------------------------
@@ -1039,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 
 
 
@@ -1351,6 +1393,35 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %f, %e, %g, %a - Boundaries
         //---------------------------------------------------------------------
--- a/jdk/test/java/util/Formatter/BasicFloat.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicFloat.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -842,6 +850,32 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %s - float
         //---------------------------------------------------------------------
@@ -1039,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 
 
 
@@ -1351,6 +1393,35 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %f, %e, %g, %a - Boundaries
         //---------------------------------------------------------------------
--- a/jdk/test/java/util/Formatter/BasicFloatObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicFloatObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -852,6 +860,32 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %s - Float
         //---------------------------------------------------------------------
@@ -1039,6 +1073,14 @@
         test("%3.0f", "1000000",   1000000.00);
         test("%3.0f", "10000000",  10000000.00);
         test("%3.0f", "100000000", 100000000.00);
+        test("%10.0f", "   1000000",   1000000.00);
+        test("%,10.0f", " 1,000,000",   1000000.00);
+        test("%,10.1f", "1,000,000.0",   1000000.00);
+        test("%,3.0f", "1,000,000",   1000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
+        test("%,3.0f", "10,000,000",  10000000.00);
+        test("%,3.0f", "100,000,000", 100000000.00);
 
 
 
@@ -1351,6 +1393,35 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %f, %e, %g, %a - Boundaries
         //---------------------------------------------------------------------
--- a/jdk/test/java/util/Formatter/BasicInt.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicInt.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -575,6 +583,14 @@
 
 
 
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - int and long
         //---------------------------------------------------------------------
@@ -594,6 +610,16 @@
         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));
+
 
 
 
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicIntObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicIntObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -597,6 +605,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicLong.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicLong.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -575,6 +583,14 @@
 
 
 
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - int and long
         //---------------------------------------------------------------------
@@ -594,6 +610,16 @@
         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));
+
 
 
 
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicLongObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicLongObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -597,6 +605,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicShort.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicShort.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -572,6 +580,24 @@
         test("%(10d", "   (12345)", negate(oneToFive));
         test("%-10d", "12345     ", oneToFive);
         test("%-10d", "-12345    ", negate(oneToFive));
+        // , variations:
+        test("% ,d", " 12,345", oneToFive);
+        test("% ,d", "-12,345", negate(oneToFive));
+        test("%0,10d", "000012,345", oneToFive);
+        test("%0,10d", "-00012,345", negate(oneToFive));
+        test("%(,10d", "  (12,345)", negate(oneToFive));
+        test("%-,10d", "12,345    ", oneToFive);
+        test("%-,10d", "-12,345   ", negate(oneToFive));
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/BasicShortObject.java	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/BasicShortObject.java	Sun Nov 16 15:03:46 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * 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
@@ -51,6 +51,10 @@
         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)
@@ -58,6 +62,10 @@
         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) {
@@ -597,6 +605,24 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %d - errors
         //---------------------------------------------------------------------
@@ -1573,6 +1599,67 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         //---------------------------------------------------------------------
         // %t
         //
--- a/jdk/test/java/util/Formatter/genBasic.sh	Thu Aug 21 17:51:29 2014 +0100
+++ b/jdk/test/java/util/Formatter/genBasic.sh	Sun Nov 16 15:03:46 2014 +0100
@@ -23,7 +23,7 @@
 # questions.
 #
 
-javac -d . ../../../../make/tools/src/build/tools/spp/Spp.java
+javac -d . ../../../../make/src/classes/build/tools/spp/Spp.java
 
 gen() {
 #  if [ $3 = "true" ]