test/java/util/Formatter/BasicShortObject.java

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

*** 1,7 **** /* ! * Copyright (c) 2003, 2011, 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. --- 1,7 ---- /* ! * 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,65 **** import java.math.BigDecimal; import java.math.BigInteger; import java.text.DateFormatSymbols; import java.util.*; - - - import static java.util.Calendar.*; - - - - public class BasicShortObject 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()); } 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()); } private static void test(String fs, Object ... args) { Formatter f = new Formatter(new StringBuilder(), Locale.US); f.format(fs, args); --- 34,66 ---- import java.math.BigDecimal; import java.math.BigInteger; import java.text.DateFormatSymbols; import java.util.*; import static java.util.Calendar.*; public class BasicShortObject 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,337 **** fail(fs, ex); else pass(); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - private static Short negate(Short v) { return new Short((short) -v.shortValue()); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 --- 134,147 ----
*** 513,1587 **** //--------------------------------------------------------------------- tryCatch("%F", UnknownFormatConversionException.class); tryCatch("%#g", FormatFlagsConversionMismatchException.class); - - - - - Short minByte = new Short(Byte.MIN_VALUE); - //--------------------------------------------------------------------- // %d // // Numeric conversion applicable to byte, short, int, long, and // BigInteger. //--------------------------------------------------------------------- test("%d", "null", (Object)null); ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! //--------------------------------------------------------------------- ! // %d - errors ! //--------------------------------------------------------------------- ! tryCatch("%#d", FormatFlagsConversionMismatchException.class); ! tryCatch("%D", UnknownFormatConversionException.class); ! tryCatch("%0d", MissingFormatWidthException.class); ! tryCatch("%-d", MissingFormatWidthException.class); ! tryCatch("%7.3d", IllegalFormatPrecisionException.class); ! ! //--------------------------------------------------------------------- ! // %o ! // ! // Numeric conversion applicable to byte, short, int, long, and ! // BigInteger. ! //--------------------------------------------------------------------- ! test("%o", "null", (Object)null); ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! //--------------------------------------------------------------------- ! // %o - errors ! //--------------------------------------------------------------------- ! tryCatch("%(o", FormatFlagsConversionMismatchException.class, ! minByte); ! tryCatch("%+o", FormatFlagsConversionMismatchException.class, ! minByte); ! tryCatch("% o", FormatFlagsConversionMismatchException.class, ! minByte); ! tryCatch("%0o", MissingFormatWidthException.class); ! tryCatch("%-o", MissingFormatWidthException.class); ! tryCatch("%,o", FormatFlagsConversionMismatchException.class); ! tryCatch("%O", UnknownFormatConversionException.class); ! ! //--------------------------------------------------------------------- ! // %x ! // ! // Numeric conversion applicable to byte, short, int, long, and ! // BigInteger. ! //--------------------------------------------------------------------- ! test("%x", "null", (Object)null); ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! //--------------------------------------------------------------------- ! // %x - errors ! //--------------------------------------------------------------------- ! 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 - errors //--------------------------------------------------------------------- tryCatch("%t", UnknownFormatConversionException.class); --- 323,395 ---- //--------------------------------------------------------------------- tryCatch("%F", UnknownFormatConversionException.class); tryCatch("%#g", FormatFlagsConversionMismatchException.class); Short minByte = new Short(Byte.MIN_VALUE); //--------------------------------------------------------------------- // %d // // Numeric conversion applicable to byte, short, int, long, and // BigInteger. //--------------------------------------------------------------------- test("%d", "null", (Object)null); + //--------------------------------------------------------------------- + // %d - errors + //--------------------------------------------------------------------- + tryCatch("%#d", FormatFlagsConversionMismatchException.class); + tryCatch("%D", UnknownFormatConversionException.class); + tryCatch("%0d", MissingFormatWidthException.class); + tryCatch("%-d", MissingFormatWidthException.class); + tryCatch("%7.3d", IllegalFormatPrecisionException.class); + //--------------------------------------------------------------------- + // %o + // + // Numeric conversion applicable to byte, short, int, long, and + // BigInteger. + //--------------------------------------------------------------------- + test("%o", "null", (Object)null); + //--------------------------------------------------------------------- + // %o - errors + //--------------------------------------------------------------------- + tryCatch("%(o", FormatFlagsConversionMismatchException.class, + minByte); + tryCatch("%+o", FormatFlagsConversionMismatchException.class, + minByte); + tryCatch("% o", FormatFlagsConversionMismatchException.class, + minByte); + tryCatch("%0o", MissingFormatWidthException.class); + tryCatch("%-o", MissingFormatWidthException.class); + tryCatch("%,o", FormatFlagsConversionMismatchException.class); + tryCatch("%O", UnknownFormatConversionException.class); + //--------------------------------------------------------------------- + // %x + // + // Numeric conversion applicable to byte, short, int, long, and + // BigInteger. + //--------------------------------------------------------------------- + test("%x", "null", (Object)null); + //--------------------------------------------------------------------- + // %x - errors + //--------------------------------------------------------------------- + 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 - errors //--------------------------------------------------------------------- tryCatch("%t", UnknownFormatConversionException.class);
*** 1590,1693 **** 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"), ""); --- 398,407 ----