BasicIntObject.java revision 806
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * This code is free software; you can redistribute it and/or modify it
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * under the terms of the GNU General Public License version 2 only, as
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * published by the Free Software Foundation.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * This code is distributed in the hope that it will be useful, but WITHOUT
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * version 2 for more details (a copy is included in the LICENSE file that
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * accompanied this code).
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * You should have received a copy of the GNU General Public License version
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * 2 along with this work; if not, write to the Free Software Foundation,
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * CA 95054 USA or visit www.sun.com if you need additional information or
2a047f0d7ee5964456dbc4dec9925031482588abvboxsync * have any questions.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync/* Type-specific source code for unit test
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * Regenerate the BasicX classes via genBasic.sh whenever this file changes.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * We check in the generated source files so that the test tree can be used
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync * independently of the rest of the source tree.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync// -- This file was mechanically generated: Do not edit! -- //
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync private static void test(String fs, String exp, Object ... args) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync Formatter f = new Formatter(new StringBuilder(), Locale.US);
511d105af2bc356d37407e92b45e5363198e8b0fvboxsync private static void test(Locale l, String fs, String exp, Object ... args)
a7327719907518e1a890c41ab95b5a58252afe3cvboxsync Formatter f = new Formatter(new StringBuilder(), l);
a7327719907518e1a890c41ab95b5a58252afe3cvboxsync private static void test(String fs, Object ... args) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync Formatter f = new Formatter(new StringBuilder(), Locale.US);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync Formatter f = new Formatter(new StringBuilder(), Locale.US);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync private static void testSysOut(String fs, String exp, Object ... args) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync } finally {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync private static void tryCatch(String fs, Class<?> ex) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync boolean caught = false;
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync } catch (Throwable x) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync private static void tryCatch(String fs, Class<?> ex, Object ... args) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync boolean caught = false;
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync } catch (Throwable x) {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync public static void test() {
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync TimeZone.setDefault(TimeZone.getTimeZone("GMT-0800"));
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // Any characters not explicitly defined as conversions, date/time
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // conversion suffixes, or flags are illegal and are reserved for
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // future extensions. Use of such a character in a format string will
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // cause an UnknownFormatConversionException or
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // UnknownFormatFlagsException to be thrown.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%q", UnknownFormatConversionException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%t&", UnknownFormatConversionException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%&d", UnknownFormatConversionException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%^b", UnknownFormatConversionException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // Formatter.java class javadoc examples
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test(Locale.FRANCE, "e = %+10.4f", "e = +2,7183", Math.E);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test("%4$2s %3$2s %2$2s %1$2s", " d c b a", "a", "b", "c", "d");
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test("Amount gained or lost since last statement: $ %,(.2f",
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync "Amount gained or lost since last statement: $ (6,217.58)",
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync Calendar c = new GregorianCalendar(1969, JULY, 20, 16, 17, 0);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync testSysOut("Local time: %tT", "Local time: 16:17:00", c);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync "Unable to open file 'food': No such file or directory",
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync Calendar duke = new GregorianCalendar(1995, MAY, 23, 19, 48, 34);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync "Duke's Birthday: May 23, 1995",
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync "Duke's Birthday: May 23, 1995",
463386f314aa3ce4676249803f0c0736f4561301vboxsync "Duke's Birthday: May 23, 1995",
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test("%s %s %<s %<s", "a b b b", "a", "b", "c", "d");
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test("%s %s %s %s", "a b c d", "a", "b", "c", "d");
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync test("%2$s %s %<s %s", "b a a b", "a", "b", "c", "d");
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // General conversion applicable to any argument.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // Boolean.java hardcodes the Strings for "true" and "false", so no
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // localization is possible.
97dc19418e21b4b87280756668cf171a4332e498vboxsync // If you pass in a single array to a varargs method, the compiler
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // uses it as the array of arguments rather than treating it as a
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // single array-type argument.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // %b - errors
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%#b", FormatFlagsConversionMismatchException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%-b", MissingFormatWidthException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // correct or side-effect of implementation?
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%.b", UnknownFormatConversionException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%,b", FormatFlagsConversionMismatchException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
463386f314aa3ce4676249803f0c0736f4561301vboxsync // General conversion applicable to any argument.
463386f314aa3ce4676249803f0c0736f4561301vboxsync //---------------------------------------------------------------------
faff6adca592b2de8725db32b9476cbcb120ba57vboxsync test("%c", new String(Character.toChars(Short.MAX_VALUE)),
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // %c - errors
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%c", IllegalFormatConversionException.class,
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync tryCatch("%c", IllegalFormatConversionException.class,
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync (float) 0.1);
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync tryCatch("%c", IllegalFormatConversionException.class,
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync tryCatch("%c", IllegalFormatCodePointException.class,
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync tryCatch("%c", IllegalFormatCodePointException.class,
29890600941d8c492d0c52cc0daefda9bad1b538vboxsync tryCatch("%c", IllegalFormatCodePointException.class,
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%c", IllegalFormatCodePointException.class,
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync tryCatch("%#c", FormatFlagsConversionMismatchException.class);
ee1c2a1c43d1ac3a8b30a99c4f47a14adc835837vboxsync tryCatch("%,c", FormatFlagsConversionMismatchException.class);
ee1c2a1c43d1ac3a8b30a99c4f47a14adc835837vboxsync tryCatch("%(c", FormatFlagsConversionMismatchException.class);
ee1c2a1c43d1ac3a8b30a99c4f47a14adc835837vboxsync tryCatch("%$c", UnknownFormatConversionException.class);
ee1c2a1c43d1ac3a8b30a99c4f47a14adc835837vboxsync tryCatch("%.2c", IllegalFormatPrecisionException.class);
ee1c2a1c43d1ac3a8b30a99c4f47a14adc835837vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // General conversion applicable to any argument.
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync // %s - errors
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
97dc19418e21b4b87280756668cf171a4332e498vboxsync tryCatch("%-s", MissingFormatWidthException.class);
43bb4d90097ef9a9d7fc597315d0869427609694vboxsync tryCatch("%--s", DuplicateFormatFlagsException.class);
65acc9a737d682ad726d06327bf6f6ecc6eb7e83vboxsync //---------------------------------------------------------------------
// flag/conversion errors
minByte);
minByte);
minByte);