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 ----