blob: 2774ce56f70cc5ea6989c95cfe69d451fdec6b50 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.tika.parser.microsoft.chm;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
/**
* Holds test parameters such as verification points
*/
public class TestParameters {
/* Tests values */
static final int nameLength = 5;
static final String entryName = TestParameters.class.getName();
static final int offset = 3;
static final int length = 20;
static final int NTHREADS = 2;
static final int BUFFER_SIZE = 16384;
static final byte[] chmData = readResource("/test-documents/testChm.chm");
/* Verification points */
static final String VP_CHM_MIME_TYPE = "Content-Type=application/x-chm";
static final String VP_EXTRACTED_TEXT = "The TCard method accepts only numeric arguments";
static final String VP_ISTF_SIGNATURE = "ITSF";
static final String VP_ISTP_SIGNATURE = "ITSP";
static final String VP_PMGL_SIGNATURE = "PMGL";
static final String VP_CONTROL_DATA_SIGNATURE = "LZXC";
static final int VP_DIRECTORY_LENGTH = 4180;
static final int VP_DATA_OFFSET_LENGTH = 4300;
static final int VP_DIRECTORY_OFFSET = 120;
static final int VP_ITSF_HEADER_LENGTH = 96;
static final int VP_LANGUAGE_ID = 1033;
static final int VP_LAST_MODIFIED = 1042357880;
static final int VP_UNKNOWN_000C = 1;
static final int VP_UNKNOWN_LEN = 24;
static final int VP_UNKNOWN_OFFSET = 96;
static final int VP_VERSION = 3;
static final int VP_BLOCK_LENGTH = 4096;
static final int VP_BLOCK_INDEX_INTERVAL = 2;
static final int VP_ITSP_HEADER_LENGTH = 84;
static final int VP_INDEX_DEPTH = 1;
static final int VP_INDEX_HEAD = 0;
static final int VP_INDEX_ROOT = -1;
static final int VP_UNKNOWN_NUM_BLOCKS = -1;
static final int VP_ITSP_UNKNOWN_000C = 10;
static final int VP_ITSP_UNKNOWN_0024 = 0;
static final int VP_ITSP_UNKNOWN_002C = 1;
static final int VP_ITSP_BYTEARR_LEN = 16;
static final int VP_ITSP_VERSION = 1;
static final int VP_RESET_INTERVAL = 2;
static final int VP_CONTROL_DATA_SIZE = 6;
static final int VP_UNKNOWN_18 = 0;
static final int VP_CONTROL_DATA_VERSION = 2;
static final int VP_WINDOW_SIZE = 65536;
static final int VP_WINDOWS_PER_RESET = 1;
static final int VP_CHM_ENTITIES_NUMBER = 100; //updated by Hawking
static final int VP_PMGI_FREE_SPACE = 3;
static final int VP_PMGL_BLOCK_NEXT = -1;
static final int VP_PMGL_BLOCK_PREV = -1;
static final int VP_PMGL_FREE_SPACE = 1644;
static final int VP_PMGL_UNKNOWN_008 = 0;
static final int VP_RESET_TABLE_BA = 12;
static final int VP_RES_TBL_BLOCK_LENGTH = 32768;
static final int VP_RES_TBL_COMPR_LENGTH = 177408;
static final int VP_RES_TBL_UNCOMP_LENGTH = 383786;
static final int VP_TBL_OFFSET = 40;
static final int VP_RES_TBL_UNKNOWN = 8;
static final int VP_RES_TBL_VERSION = 2;
static ChmCommons.EntryType entryType = ChmCommons.EntryType.COMPRESSED;
/* Prevents initialization */
private TestParameters() {
}
private static byte[] readResource(String name) {
try {
try (InputStream stream = TestParameters.class.getResourceAsStream(name)) {
return IOUtils.toByteArray(stream);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}