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