< prev index next >

test/jdk/java/util/Formatter/BasicFloat.java

Print this page

        

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

@@ -50,10 +50,13 @@
         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());
+
+        JavacIntrinsicsSupport.formatAndCheck(fs, exp, Locale.US, args);
+        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", Locale.US, args);
     }
 
     private static void test(Locale l, String fs, String exp, Object ... args)
     {
         Formatter f = new Formatter(new StringBuilder(), l);

@@ -61,10 +64,13 @@
         ck(fs, exp, f.toString());
 
         f = new Formatter(new StringBuilder(), l);
         f.format("foo " + fs + " bar", args);
         ck(fs, "foo " + exp + " bar", f.toString());
+
+        JavacIntrinsicsSupport.formatAndCheck(fs, exp, l, args);
+        JavacIntrinsicsSupport.formatAndCheck("foo " + fs + " bar", "foo " + exp + " bar", l, args);
     }
 
     private static void test(String fs, Object ... args) {
         Formatter f = new Formatter(new StringBuilder(), Locale.US);
         f.format(fs, args);

@@ -122,10 +128,12 @@
         }
         if (!caught)
             fail(fs, ex);
         else
             pass();
+
+        tryCatchIntrinsic(fs, ex);
     }
 
     private static void tryCatch(String fs, Class<?> ex, Object ... args) {
         boolean caught = false;
         try {

@@ -136,10 +144,40 @@
         }
         if (!caught)
             fail(fs, ex);
         else
             pass();
+
+        tryCatchIntrinsic(fs, ex, args);
+    }
+
+    private static void tryCatchIntrinsic(String fs, Class<?> ex) {
+        boolean caught = false;
+        try {
+            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, "fail");
+        } catch (Throwable x) {
+            if (ex.isAssignableFrom(x.getClass()))
+                caught = true;
+        }
+        if (!caught)
+            fail(fs, ex);
+        else
+            pass();
+    }
+
+    private static void tryCatchIntrinsic(String fs, Class<?> ex, Object ... args) {
+        boolean caught = false;
+        try {
+            JavacIntrinsicsSupport.formatAndCheck(fs, "fail", Locale.US, args);
+        } catch (Throwable x) {
+            if (ex.isAssignableFrom(x.getClass()))
+                caught = true;
+        }
+        if (!caught)
+            fail(fs, ex);
+        else
+            pass();
     }
 
 
 
 

@@ -1164,11 +1202,11 @@
         // Float can not accurately store 1e6 * PI.
         test("%.3f", "3141.593", mult(pi, 1000.0));
         test("%.3f", "-3141.593", mult(pi, -1000.0));
 
         test("%,.2f", "3,141.59", mult(pi, 1000.0));
-        test(Locale.FRANCE, "%,.2f", "3\u202f141,59", mult(pi, 1000.0));
+        test(Locale.FRANCE, "%,.2f", "3\u00a0141,59", mult(pi, 1000.0));
         test("%,.2f", "-3,141.59", mult(pi, -1000.0));
         test("%(.2f", "3141.59", mult(pi, 1000.0));
         test("%(.2f", "(3141.59)", mult(pi, -1000.0));
         test("%(,.2f", "3,141.59", mult(pi, 1000.0));
         test("%(,.2f", "(3,141.59)", mult(pi, -1000.0));
< prev index next >