1 /*
2 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /* @test
25 * @bug 4853350
26 * @summary Ensure that averages do not exceed maxima
27 *
28 * @build AverageMax
29 * @run main AverageMax
30 * @run main/othervm -Dsun.nio.cs.bugLevel=1.4 AverageMax
31 */
32
33 import java.nio.*;
34 import java.nio.charset.*;
35
36
37 public class AverageMax {
38
39 static boolean compat;
40
41 static abstract class Test {
42
43 public abstract void go() throws Exception;
44
45 Test() throws Exception {
46 try {
47 go();
48 } catch (Exception x) {
49 if (compat) {
50 throw new Exception("Exception thrown", x);
51 }
52 if (x instanceof IllegalArgumentException) {
53 System.err.println("Thrown as expected: " + x);
54 return;
55 }
56 throw new Exception("Incorrect exception: "
57 + x.getClass().getName(),
58 x);
59 }
60 if (!compat)
61 throw new Exception("No exception thrown");
62 }
63
64 }
65
66 public static void main(String[] args) throws Exception {
67
68 // If sun.nio.cs.bugLevel == 1.4 then we want the 1.4 behavior
69 String bl = System.getProperty("sun.nio.cs.bugLevel");
70 compat = (bl != null && bl.equals("1.4"));
71 final Charset ascii = Charset.forName("US-ASCII");
72
73 new Test() {
74 public void go() throws Exception {
75 new CharsetDecoder(ascii, 3.9f, 1.2f) {
76 protected CoderResult decodeLoop(ByteBuffer in,
77 CharBuffer out)
78 {
79 return null;
80 }
81 };
82 }};
83
84 new Test() {
85 public void go() throws Exception {
86 new CharsetEncoder(ascii, 3.9f, 1.2f) {
87 protected CoderResult encodeLoop(CharBuffer in,
88 ByteBuffer out)
89 {
90 return null;
|
1 /*
2 * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /* @test
25 * @bug 4853350
26 * @summary Ensure that averages do not exceed maxima
27 */
28
29 import java.nio.*;
30 import java.nio.charset.*;
31
32
33 public class AverageMax {
34
35 static abstract class Test {
36
37 public abstract void go() throws Exception;
38
39 Test() throws Exception {
40 try {
41 go();
42 } catch (Exception x) {
43 if (x instanceof IllegalArgumentException) {
44 System.err.println("Thrown as expected: " + x);
45 return;
46 }
47 throw new Exception("Incorrect exception: "
48 + x.getClass().getName(),
49 x);
50 }
51 throw new Exception("No exception thrown");
52 }
53
54 }
55
56 public static void main(String[] args) throws Exception {
57
58 final Charset ascii = Charset.forName("US-ASCII");
59
60 new Test() {
61 public void go() throws Exception {
62 new CharsetDecoder(ascii, 3.9f, 1.2f) {
63 protected CoderResult decodeLoop(ByteBuffer in,
64 CharBuffer out)
65 {
66 return null;
67 }
68 };
69 }};
70
71 new Test() {
72 public void go() throws Exception {
73 new CharsetEncoder(ascii, 3.9f, 1.2f) {
74 protected CoderResult encodeLoop(CharBuffer in,
75 ByteBuffer out)
76 {
77 return null;
|