1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* Licensed to the Apache Software Foundation (ASF) under one or more
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements.  See the NOTICE file distributed with
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership.
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License.  You may obtain a copy of the License at
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License.
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage tests.api.java.nio.charset;
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.UnsupportedEncodingException;
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.ByteBuffer;
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.charset.Charset;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * test utf-8 decoder
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class UTFCharsetDecoderTest extends CharsetDecoderTest {
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void setUp() throws Exception {
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        cs = Charset.forName("utf-8");
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        super.setUp();
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @see CharsetDecoderTest#tearDown()
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void tearDown() throws Exception {
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        super.tearDown();
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // FIXME: give up this tests
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // public void testDefaultCharsPerByte(){
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // assertEquals(decoder.averageCharsPerByte(), 0.333, 0.001);
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // assertEquals(decoder.maxCharsPerByte(), 2, 0.001);
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // // assertEquals(1, decoder.averageCharsPerByte());
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // // assertEquals(1, decoder.maxCharsPerByte());
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // }
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    ByteBuffer getUnmappedByteBuffer() throws UnsupportedEncodingException {
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return null;
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    ByteBuffer getMalformedByteBuffer() throws UnsupportedEncodingException {
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        ByteBuffer buffer = ByteBuffer.allocate(getByteBuffer().remaining() + 1);
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buffer.put((byte) 0xd8);
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buffer.put(getByteBuffer());
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        buffer.flip();
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return buffer;
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    ByteBuffer getExceptionByteArray() throws UnsupportedEncodingException {
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return null;
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected String getString() {
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return " buffer \u041c\u0430\u0441\u044e\u043b\u044f \u611b";
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected ByteBuffer getByteBuffer() {
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        return ByteBuffer.wrap(new byte[] { 32, 98, 117, 102, 102, 101, 114,
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                32, (byte) 0xd0, (byte) 0x9c, (byte) 0xd0, (byte) 0xb0,
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                (byte) 0xd1, (byte) 0x81, (byte) 0xd1, (byte) 0x8e,
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                (byte) 0xd0, (byte) 0xbb, (byte) 0xd1, (byte) 0x8f, 32,
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                (byte) 0xe6, (byte) 0x84, (byte) 0x9b });
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
77