Package wstxtest.io

Source Code of wstxtest.io.TestUTF8Reader

package wstxtest.io;

import java.io.*;

import junit.framework.TestCase;

import com.ctc.wstx.api.ReaderConfig;
import com.ctc.wstx.io.UTF8Reader;

/**
* Unit test created to verify fix to
* <a href="http://jira.codehaus.org/browse/WSTX-143">WSTX-143</a>.
*
* @author Matt Gormley
*/
public class TestUTF8Reader extends TestCase
{
    public void testDelAtBufferBoundary() throws IOException
    {
  final int BYTE_BUFFER_SIZE = 4;
  final int CHAR_BUFFER_SIZE = 1 + BYTE_BUFFER_SIZE;
  final int INPUT_SIZE = 4 * BYTE_BUFFER_SIZE; // could be of arbitrary size
  final byte CHAR_FILLER = 32; // doesn't even matter, just need an ascii char
  final byte CHAR_DEL = 127;
 
  // Create input that will cause the array index out of bounds exception
  byte[] inputBytes = new byte[INPUT_SIZE];
  for (int i=0; i < inputBytes.length; i++) {
      inputBytes[i] = CHAR_FILLER;
  }
  inputBytes[BYTE_BUFFER_SIZE - 1] = CHAR_DEL;
  InputStream in = new ByteArrayInputStream(inputBytes);
 
  // Create the UTF8Reader
  ReaderConfig cfg = ReaderConfig.createFullDefaults();
  byte[] byteBuffer = new byte[BYTE_BUFFER_SIZE];
  UTF8Reader reader = new UTF8Reader(cfg,in, byteBuffer, 0, 0, false);
 
  // Run the reader on the input
  char[] charBuffer = new char[CHAR_BUFFER_SIZE];
  reader.read(charBuffer, 0, charBuffer.length);   
    }
}
TOP

Related Classes of wstxtest.io.TestUTF8Reader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.