aboutsummaryrefslogtreecommitdiffstats
path: root/test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java')
-rw-r--r--test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java b/test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java
deleted file mode 100644
index 04033e913..000000000
--- a/test/java/org/apache/fop/util/ASCII85InputStreamTestCase.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright 1999-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.fop.pdf.PDFText;
-
-import junit.framework.TestCase;
-
-/**
- * Test case for ASCII85InputStream.
- * <p>
- * ATTENTION: Some of the tests here depend on the correct behaviour of
- * ASCII85OutputStream. If something fails here make sure
- * ASCII85OutputStreamTestCase runs!
- */
-public class ASCII85InputStreamTestCase extends TestCase {
-
- private static final boolean DEBUG = false;
-
- /**
- * @see junit.framework.TestCase#TestCase(String)
- */
- public ASCII85InputStreamTestCase(String name) {
- super(name);
- }
-
- private byte[] decode(String text) throws Exception {
- byte[] ascii85 = text.getBytes("US-ASCII");
- InputStream in = new ByteArrayInputStream(ascii85);
- InputStream decoder = new ASCII85InputStream(in);
- return IOUtils.toByteArray(decoder);
- }
-
- private byte[] getChunk(int count) {
- byte[] buf = new byte[count];
- System.arraycopy(ASCII85OutputStreamTestCase.DATA, 0, buf, 0, buf.length);
- return buf;
- }
-
- private String encode(byte[] data, int len) throws Exception {
- ByteArrayOutputStream baout = new ByteArrayOutputStream();
- java.io.OutputStream out = new ASCII85OutputStream(baout);
- out.write(data, 0, len);
- out.close();
- return new String(baout.toByteArray(), "US-ASCII");
- }
-
-
- private void innerTestDecode(byte[] data) throws Exception {
- String encoded = encode(data, data.length);
- if (DEBUG) {
- if (data[0] == 0) {
- System.out.println("self-encode: " + data.length + " chunk 000102030405...");
- } else {
- System.out.println("self-encode: " + new String(data, "US-ASCII")
- + " " + PDFText.toHex(data));
- }
- System.out.println(" ---> " + encoded);
- }
- byte[] decoded = decode(encoded);
- if (DEBUG) {
- if (data[0] == 0) {
- System.out.println("decoded: " + data.length + " chunk 000102030405...");
- } else {
- System.out.println("decoded: " + new String(decoded, "US-ASCII")
- + " " + PDFText.toHex(decoded));
- }
- }
- assertEquals(PDFText.toHex(data), PDFText.toHex(decoded));
- }
-
- /**
- * Tests the output of ASCII85.
- * @throws Exception if an error occurs
- */
- public void testDecode() throws Exception {
- byte[] buf;
- innerTestDecode("1. Bodypart".getBytes("US-ASCII"));
- if (DEBUG) {
- System.out.println("===========================================");
- }
-
- innerTestDecode(getChunk(1));
- innerTestDecode(getChunk(2));
- innerTestDecode(getChunk(3));
- innerTestDecode(getChunk(4));
- innerTestDecode(getChunk(5));
- if (DEBUG) {
- System.out.println("===========================================");
- }
-
- innerTestDecode(getChunk(10));
- innerTestDecode(getChunk(62));
- innerTestDecode(getChunk(63));
- innerTestDecode(getChunk(64));
- innerTestDecode(getChunk(65));
-
- if (DEBUG) {
- System.out.println("===========================================");
- }
- String sz;
- sz = PDFText.toHex(decode("zz~>"));
- assertEquals(PDFText.toHex(new byte[] {0, 0, 0, 0, 0, 0, 0, 0}), sz);
- sz = PDFText.toHex(decode("z\t \0z\n~>"));
- assertEquals(PDFText.toHex(new byte[] {0, 0, 0, 0, 0, 0, 0, 0}), sz);
- if (DEBUG) {
- System.out.println("===========================================");
- }
- try {
- decode("vz~>");
- fail("Illegal character should be detected");
- } catch (IOException ioe) {
- //expected
- }
- /* DISABLED because of try/catch in InputStream.read(byte[], int, int).
- * Only the exception happening on the first byte in a block is being
- * reported. BUG in JDK???
- *
- try {
- decode("zv~>");
- fail("Illegal character should be detected");
- } catch (IOException ioe) {
- //expected
- }*/
- }
-
- private byte[] getFullASCIIRange() {
- java.io.ByteArrayOutputStream baout = new java.io.ByteArrayOutputStream(256);
- for (int i = 254; i < 256; i++) {
- baout.write(i);
- }
- return baout.toByteArray();
- }
-
- /**
- * Tests the full 8-bit ASCII range.
- * @throws Exception if an error occurs
- */
- public void testFullASCIIRange() throws Exception {
- innerTestDecode(getFullASCIIRange());
- }
-
-}