/**
* Copyright 2008 - CommonCrawl Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
**/
package org.commoncrawl.util;
import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author rana
*
*/
public class MimeTypeFilter {
private final static Pattern TRUNCATION_REGEX = Pattern
.compile("^([^a-zA-Z0-9]*)([a-zA-Z0-9-/\\.+]*).*");
private final static Pattern APPLICATION_TYPE_REGEX = Pattern
.compile("^application/(.*)");
private final static Pattern TYPE_SUBTYPE_EXTRACTION_REGEX = Pattern
.compile("(.+)/(.+)");
/*
private final static Pattern LOOSE_TEXT_SUBTYPES_MATCHER = Pattern
.compile("[\\-\\.]*([^\\+]*\\+)*(txt|text|plain|html|atom|xml|xhtml|css|pdf|postscript|dtd|rss|vcard|rtf|csv|javascript|json)(\\+.*)*");
*/
private final static Pattern SUBTYPE_LEFT_AND_RIGHT_PART_MATCHER = Pattern
.compile("[\\-\\.\\+]*(x\\-|vnd\\.)*([^\\+]*)\\+*([a-z]*)(\\+.*)*");
private final static Pattern TEXT_SUBTYPES_MATCHER = Pattern
.compile("(txt|text|plain|html|atom|xml|xhtml|pdf|postscript|rss|vcard|rtf|csv|json|perl|ruby|java|asp|php|doc|py|c|cc|c++|cxx|m|h)");
private final static Pattern HTML_SUBTYPES_MATCHER = Pattern
.compile("(xhtml|html)");
/*
private final static Pattern HTML_PARSER_COMPATIBLE_TEXT_SUBTYPES_MATCHER = Pattern
.compile("[\\-\\.]*(([^\\+]*\\+)*(xhtml|html)(\\+xml)*");
*/
public static final String NO_TYPE_MIMETYPE = "no-type";
private static PrefixStringMatcher knownBinaryTypesMatcher;
public static SuffixStringMatcher invalidExtensionMatcher;
private static SuffixStringMatcher textValidAppTypesMatcher;
private static SuffixStringMatcher otherValidAppTypesMatcher;
private static PrefixStringMatcher otherExcludedPrimaryMimeTypeMatcher;
private static PrefixStringMatcher alwaysValidPrimaryTextTypesMatcher;
private static PrefixStringMatcher invalidSecondaryTextTypesMatcher;
private static String knownBinaryTypes[];
private static String validPrimaryTextTypes[];
private static String invalidExtensions[];
private static String textValidApplicationTypes[];
private static String otherValidApplicationTypes[];
private static String invalidSecondaryTextTypes[];
static {
knownBinaryTypes = new String[]{ "binary",
"octet","file",
"image", "audio", "video", "true-type", "x-epoc" };
knownBinaryTypesMatcher = new PrefixStringMatcher(knownBinaryTypes);
String otherExcludedPrimaryMimeTypes[] = { "chemical", "plugin" };
otherExcludedPrimaryMimeTypeMatcher = new PrefixStringMatcher(otherExcludedPrimaryMimeTypes);
validPrimaryTextTypes = new String[]{ "text", "plain", "message","multipart" };
invalidSecondaryTextTypes = new String[] {"javascript", "css"};
invalidSecondaryTextTypesMatcher = new PrefixStringMatcher(invalidSecondaryTextTypes);
alwaysValidPrimaryTextTypesMatcher = new PrefixStringMatcher(validPrimaryTextTypes);
invalidExtensions = new String[] { "gif", "jpg", "jpeg", "bmp", "png", "tif",
"tiff",
"ico",
"eps",
"ps", "wmf", "fpx", "cur",
"ani",
"img",
"lwf",
"pcd",
"psp",
"psd",
"tga",
"xbm",
"xpm",
"arj",
"arc",
"7z",
"cab",
"lzw",
"lha",
"lzh",
"zip",
"gz",
"tar",
"tgz",
"sit", "rpm", "deb", "pkg", "mid", "midi", "rmi", "mpeg", "mpg", "mpe",
"mp3", "mp2", "aac",
"mov",
"fla",
"flv",
"ra", "ram", "rm", "rmv", "wma", "wmv", "wav", "wave", "ogg", "avi",
"au", "snd", "exe", "com", "lnk", "t3x", "iso", "bin", "dwf", "asf",
"css", "js" };
invalidExtensionMatcher = new SuffixStringMatcher(invalidExtensions);
textValidApplicationTypes =
new String[] {
"wap.xhtml+xml",
"acrobat",
"acroread",
"dot",
"texinfo",
"tex",
"text-java",
"oasis.opendocument.text",
"sun.xml.writer",
"groove-vcard",
"ms-works",
"pdf",
"word-doc",
"httpd-php",
"httpd-php-source",
"httpd.php",
"mscardfile",
"server-parsed-html",
"xml-dtd",
};
otherValidApplicationTypes =
new String[] {
"tar",
"latex",
"wordperfect5.1",
"wordperfect",
"winhlp",
"google-earth.kml",
"google-earth.kml+xml",
"google-earth.kml+xml kml",
"google-earth.kmz",
"google-earth.kmz kmz",
"openxmlformat",
"powerpoint",
"ms-powerpoint",
"mspowerpoint",
"keyhole",
"kml",
"ms-excel",
"msaccess",
"msexcel",
"excel",
"oasis.opendocument.spreadsheet",
"oasis.opendocument.presentation",
"oasis.opendocument.spreadsheet",
"openxmlformats",
"sun.xml.calc",
"cardfile",
"mspublisher",
"shockwave-flash",
"openxmlformat",
"lotus",
"ms-word",
"msword",
"ms-htmlhelp",
"ms-project",
"msword-doc",
"xls"
};
textValidAppTypesMatcher = new SuffixStringMatcher(textValidApplicationTypes);
otherValidAppTypesMatcher = new SuffixStringMatcher(otherValidApplicationTypes);
String validMessageTypes[] = {
"news",
"rfc822"
};
String validMultipartTypes[] = {
"form-data",
"x-mixed-replace"
};
}
private static String truncateMimeType(String contentType) {
if (contentType == null) {
contentType = NO_TYPE_MIMETYPE;
} else {
Matcher matcher = TRUNCATION_REGEX.matcher(contentType);
if (matcher.matches()) {
contentType = matcher.group(2);
} else {
contentType = NO_TYPE_MIMETYPE;
}
}
return contentType;
}
public static String normalizeMimeType(String mimeTypeIn) {
return truncateMimeType(mimeTypeIn).toLowerCase();
}
public enum MimeTypeDisposition {
ACCEPT_TEXT,
ACCEPT_HTML,
ACCEPT_FEED,
ACCEPT_XML,
ACCEPT_OTHER,
REJECT
}
public static MimeTypeDisposition checkMimeTypeDisposition(String mimeType) {
if (mimeType == null)
return MimeTypeDisposition.ACCEPT_OTHER;
// first normalize the string ...
String truncatedMimeType = truncateMimeType(mimeType).toLowerCase();
if (truncatedMimeType == NO_TYPE_MIMETYPE) {
return MimeTypeDisposition.ACCEPT_OTHER;
}
else {
// do a type sub-type match first ...
Matcher type_subtype_matcher = TYPE_SUBTYPE_EXTRACTION_REGEX.matcher(truncatedMimeType);
String primaryType = null;
String secondaryType = null;
// if string is a type/subtype record
if (type_subtype_matcher.matches()) {
// primary type is first match element
primaryType = type_subtype_matcher.group(1);
secondaryType = type_subtype_matcher.group(2);
}
// else if string is strictly a type record
else {
primaryType = truncatedMimeType;
}
// now if primary type is null or empty ...
if (primaryType == null || primaryType.length() == 0) {
// accept by default ...
return MimeTypeDisposition.ACCEPT_OTHER;
}
else {
// first check for outright exclusion via primary type
if (knownBinaryTypesMatcher.matches(primaryType) ||
otherExcludedPrimaryMimeTypeMatcher.matches(primaryType)) {
// reject known binary types ...
return MimeTypeDisposition.REJECT;
}
// check for inclusion via primary type
else if (alwaysValidPrimaryTextTypesMatcher.matches(primaryType)) {
if (secondaryType != null) {
Matcher m = SUBTYPE_LEFT_AND_RIGHT_PART_MATCHER.matcher(secondaryType);
if (m.matches()) {
for (int i=2;i<=3;++i) {
if (m.group(i) != null
&&
(m.group(i).equals("html")
|| m.group(i).equals("xhtml"))) {
return MimeTypeDisposition.ACCEPT_HTML;
}
else if (m.group(i) != null
&&
(m.group(i).equals("atom")
|| m.group(i).equals("rss")
|| m.group(i).equals("rdf")
)) {
return MimeTypeDisposition.ACCEPT_FEED;
}
else if (m.group(i) != null &&
(m.group(i).equals("xml"))) {
return MimeTypeDisposition.ACCEPT_XML;
}
else if (m.group(i) != null &&
invalidSecondaryTextTypesMatcher.matches(m.group(i))) {
return MimeTypeDisposition.REJECT;
}
}
}
}
// accept no matter what secondary type is ...
return MimeTypeDisposition.ACCEPT_TEXT;
}
// check for invalid extension types ...
if ((secondaryType != null && invalidExtensionMatcher.exactMatch(secondaryType))
||
invalidExtensionMatcher.exactMatch(primaryType)) {
// ok reject this guy ...
return MimeTypeDisposition.REJECT;
}
Matcher typeSubTypeMatcher = (secondaryType != null) ?
SUBTYPE_LEFT_AND_RIGHT_PART_MATCHER.matcher(secondaryType) :
SUBTYPE_LEFT_AND_RIGHT_PART_MATCHER.matcher(primaryType);
// ok now see if a secondary type is valid text type ..
if (typeSubTypeMatcher.matches()) {
for (int i=2;i<=3;++i) {
if (typeSubTypeMatcher.group(i) != null
&&
(typeSubTypeMatcher.group(i).equals("html")
|| typeSubTypeMatcher.group(i).equals("xhtml"))) {
return MimeTypeDisposition.ACCEPT_HTML;
}
else if (typeSubTypeMatcher.group(i) != null
&&
(typeSubTypeMatcher.group(i).equals("atom")
|| typeSubTypeMatcher.group(i).equals("rss")
|| typeSubTypeMatcher.group(i).equals("rdf")
)) {
return MimeTypeDisposition.ACCEPT_FEED;
}
else if (typeSubTypeMatcher.group(i) != null &&
(typeSubTypeMatcher.group(i).equals("xml"))) {
return MimeTypeDisposition.ACCEPT_XML;
}
}
// next try text types ...
for (int i=2;i<=3;++i) {
if (typeSubTypeMatcher.group(i) != null
&& TEXT_SUBTYPES_MATCHER.matcher(typeSubTypeMatcher.group(i)).matches()) {
return MimeTypeDisposition.ACCEPT_TEXT;
}
}
}
// ok last but not least ...
// if this is an application type ...
if (secondaryType != null) {
if (secondaryType.startsWith("vnd.")) {
secondaryType = secondaryType.substring("vnd.".length());
}
else if (secondaryType.startsWith("x-")) {
secondaryType = secondaryType.substring("x-".length());
}
// if secondary type matches accept application type
if (textValidAppTypesMatcher.exactMatch(secondaryType)) {
return MimeTypeDisposition.ACCEPT_TEXT;
}
if (otherValidAppTypesMatcher.exactMatch(secondaryType)) {
return MimeTypeDisposition.ACCEPT_OTHER;
}
}
}
// reject by default ...
return MimeTypeDisposition.REJECT;
}
}
/**
* a looser interpretation of what is a text type
*
* @param contentTypeStr
* @return
*/
public static boolean isTextType(String contentTypeStr) {
MimeTypeDisposition disposition = checkMimeTypeDisposition(contentTypeStr);
if (disposition == MimeTypeDisposition.ACCEPT_TEXT ||
disposition == MimeTypeDisposition.ACCEPT_HTML ||
disposition == MimeTypeDisposition.ACCEPT_FEED ||
disposition == MimeTypeDisposition.ACCEPT_XML
) {
return true;
}
return false;
}
/**
* more restrictive interpretation of what is a valid html type
*/
public static boolean isValidHTMLType(String contentTypeStr) {
return checkMimeTypeDisposition(contentTypeStr)
== MimeTypeDisposition.ACCEPT_HTML;
}
private static class TestRecord {
TestRecord(String testString,MimeTypeDisposition disposition,MimeTypeDisposition overrideDisposition) {
_testString = testString;
_expectedDisposition = (overrideDisposition == null) ? disposition : overrideDisposition;
}
String _testString;
MimeTypeDisposition _expectedDisposition;
}
private static void addBinaryTestRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
for (String binaryType : knownBinaryTypes) {
testRecordList.add(new TestRecord(optionalPrefix + binaryType+"/foo" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
for (String binaryType : knownBinaryTypes) {
testRecordList.add(new TestRecord(optionalPrefix + binaryType + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
}
private static void addValidTextTypeRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
for (String textType : validPrimaryTextTypes) {
testRecordList.add(new TestRecord(optionalPrefix + textType+"/foo" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
}
for (String textType : validPrimaryTextTypes) {
testRecordList.add(new TestRecord(optionalPrefix + textType + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
}
}
private static void addValidHTMLTypeRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "text/html" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/xhtml+xml" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/xhtml" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "html" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "xhtml+xml" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "xhtml" +optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
}
private static void addOtherValidTextTypeRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "txt" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "plain" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "atom" +optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "rdf" +optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "xml" +optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "css" +optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "pdf" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "postscript" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "dtd" +optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "rss" +optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "vcard" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "rtf" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "csv" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "javascript" +optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "json" +optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
}
private static void addTestApplicationStrings(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "application" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "asf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/acad" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/acrobat" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/applefile" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/asx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/atom" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/atom+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/atomserv+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/binary" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/cadstd" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/cap" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/cgi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/doc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/download" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/exe" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/filemaker" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/finale" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/fml" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/force-download" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/garmin-data" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/gpx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/java-archive" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/java-vm" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/javascript" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/json" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/keyhole" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/kml" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/kml+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/labview.app" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/lotus" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mac-binhex40" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/maple" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/marc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mathematica" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mathematica-package" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/metalink+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mplayer2" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mp_arc-mixed" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/ms-powerpoint" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/ms-word" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/msaccess" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/msi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/mspowerpoint" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/msstreets" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/msword" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/nwc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/octect-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/octet-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/octetstream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/octet_stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/opensearchdescription+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pdslabel" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/perl" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pff" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pgp-keys" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pgp-signature" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pls+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/plt-scheme-package" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/postscript" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/powerpoint" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/pps" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/prc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/prs.plucker" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rar" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rdf+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/riscos" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rsd" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rsd+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rss+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/rtf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/save" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/smil" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/smil+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/tabledit" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/TEXT" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/text-javascript" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/text-java" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/ti" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/torrent" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/unknown15" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/unkown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vcard" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.adobe.air-application-installer-package+zip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.adobe.apollo-application-installer-package+zip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.dpgraph" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.google-earth.kml" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.google-earth.kml+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.google-earth.kmz" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.groove-vcard" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.mozilla.xul+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-asf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-excel" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-htmlhelp" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-powerpoint" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-project" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-word" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.ms-works" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.musician" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.oasis.opendocument.graphics" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.oasis.opendocument.presentation" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.oasis.opendocument.spreadsheet" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.oasis.opendocument.text" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.openxmlformats" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.palm" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.sun.xml.calc" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.sun.xml.draw." + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.sun.xml.impress" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.sun.xml.writer" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.symbian.install" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.wap.xhtml+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/vnd.wordperfect" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/winhlp" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/word-doc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/wordperfect" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/wordperfect5.1" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-7z-compressed" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-acroread" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-amstex" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-apple-diskimage" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-arachne-package" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-asap" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-asp" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-autocad" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-bio" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-bittorrent" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-blorb" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-bzip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-bzip2" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-cdf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-cdlink" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-chat" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-chess-pgn" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-compress" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-csh" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-director" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-doc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-dot" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-download" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-dreamcast-vms-info" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-dvi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-dzip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-endnote-refer" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-executable" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-flac" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-font-ttf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-forcedownload" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-glulx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-go-sgf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-graphing-calculator" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-gzip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd-php" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd-php-source" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd-php3" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd-php4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd-php5" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-httpd.php" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-hwp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-imagemap" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-incredimail" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-install" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-install-instructions" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-intkey" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-ip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-ipix" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-iso9660-image" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-jar" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-java" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-java-archive" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-java-jnlp-file" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-javascript" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-koan" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-kpresenter" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-latex" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-life" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-maker" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-makeself" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-maple" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-midi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-mpeg4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-mplayer2" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-ms-reader" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-ms-wmd" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-ms-wmz" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-mscardfile" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-msdos-program" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-msdownload" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-msi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-mspublisher" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-msword" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-msword-doc" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-netcdf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-nwc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-octet-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-octetstream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-opera-configuration-language" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-opera-configuration-menu" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-perl" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-php" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-pilot" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-qcshow" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-quicktime-media-link" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-quicktimeplayer" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-rar" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-rar-compressed" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-redhat-package-manager" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "Application/x-research-info-systems" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-server-parsed-html" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-sh" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-shar" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-shellscript" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-shockwave-flash" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-shockwave-flash2-preview" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-smaf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-stuffit" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-stuffitx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-sysquake" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-tar" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-tcl" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-tex" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-texinfo" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-trash" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-troff" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-troff-man" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-troff-ms" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-unknown-content-type-pdbFile" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-vmarc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-wais-source" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-windows-gadget" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-wp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-x509-ca-cert" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-x509-cert" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-xfig" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-xpinstall" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-zip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-zip-compressed" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x-zmachine" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/x.atom+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xhtml+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xls" + optionalSuffix,MimeTypeDisposition.ACCEPT_OTHER,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xml-dtd" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xslt+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xspf+xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/xyz123" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/zip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "application/{$sAppType}" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
private static void addAudioTestRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "audio-x/mpegurl" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/basic" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/m3u" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/m4a" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/m4b" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/midi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mp3" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mp4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mp4a-latm" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mpeg3" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mpegurl" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/mpg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/playlist" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/quicktime" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/reason" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/scpls" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-aiff" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-m3u" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-m4a" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-m4b" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-mp3" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-mpeg," + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-mpegurl" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-mpegurl.m3u" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-mpequrl" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-ms-asf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-ms-asx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-ms-wax" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-ms-wma" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-pd" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-pn-realaudio" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-ptb" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-scpls" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-twinvq" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "audio/x-wav" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
private static void addImageTestRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "image" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/*" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/autocad" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/bmp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/gif" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/ico" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/jp2" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/jpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/jpeg,image/pjpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/jpg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/pak" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/pcx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/pdf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/pjpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/pk3" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/png" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/spr" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/svg+xml" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/tiff" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.djvu" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.dwg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.dxf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.ms-modi" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.nok-oplogo-color" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/vnd.wap.wbmp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-coreldraw" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-dcraw" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-djvu" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-icon" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-ms-bmp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-pcx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-pict" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-png" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-portable-pixmap" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-rgb" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-urt" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x-xbitmap" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "image/x.djvu" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "images/jpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
private static void addTestTextRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "text/abc.vnd" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/bib" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/calendar" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/comma-separated-values" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/css" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/csv" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/directory" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/htm" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/html" + optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/html/srt" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/javascript" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/js" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/json" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/langfile" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/plain" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/rdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/rdf+n3" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/richtext" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/rss" + optionalSuffix,MimeTypeDisposition.ACCEPT_FEED,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/rtf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/sgml" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/tab-separated-values" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/texmacs" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/text" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/troff" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/vbscript" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/vcard" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/vnd.abc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/vnd.sun.j2me.app-descriptor" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/vnd.wap.wml" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-bibtex" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-c" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-c++hdr" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-c++src" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-card" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-chdr" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-comma-separated-values" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-config" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-csrc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-diff" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-dsrc" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-emacs-lisp" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-fortran" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-hamlet-action" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-hdml" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-ical" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-java" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-java-source" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-log" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-opml" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-pascal" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-patch" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-perl" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-python" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-registry" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-scheme" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-server-parsed-html" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-sh" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-sql" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-suse-ymp" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-tex" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-vCalendar" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-vCard" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/x-versit" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text/xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
}
private static void addTestVideoRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "video/3gpp" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/asx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/flc" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/m4v" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/mp4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/mp4v-es" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/mpeg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/quicktime" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-fli" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-m4v" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-mp4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-af" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-asf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-asf-plugin" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-asx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-wax" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-wmv" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-wmx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-ms-wvx" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-msvideo" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-pv-mp4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "video/x-unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
private static void addMiscelaneousTestRecords(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
testRecordList.add(new TestRecord(optionalPrefix + "gif" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "jpg" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "png" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "tif" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "zip" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "text" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "html" + optionalSuffix,MimeTypeDisposition.ACCEPT_HTML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "xml" + optionalSuffix,MimeTypeDisposition.ACCEPT_XML,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "txt" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-httpd-php" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-mapp-php" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-mapp-php4" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "message/news" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "message/rfc822" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "multipart/form-data" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "multipart/x-mixed-replace" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "plain/text" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-application/pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "attachment/pdf" + optionalSuffix,MimeTypeDisposition.ACCEPT_TEXT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "model/iges" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "model/vnd.dwf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "model/vrml" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "NULL" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "octet-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "octet/stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "plugin/x-theorist" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "reader/x-lit" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "server-parsed" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "true-type/font" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "www/unknown" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-epoc/x-sisx-app" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-type/subtype" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "x-world/x-vrml" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "xml/octet" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "binary/octec-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "binary/octet-stream" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "file/compress" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-cerius" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-chemdraw" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-mdl-molfile" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-mdl-tgf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-molconn-Z" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-mopac-input" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "chemical/x-pdb" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
testRecordList.add(new TestRecord(optionalPrefix + "drawing/x-dwf" + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
static void addInvalidExtensions(LinkedList<TestRecord> testRecordList,String optionalPrefix,String optionalSuffix,MimeTypeDisposition overrideDisposition) {
for (String invalidExtension : invalidExtensions) {
testRecordList.add(new TestRecord(optionalPrefix + invalidExtension + optionalSuffix,MimeTypeDisposition.REJECT,overrideDisposition));
}
}
public static void main(String[] args) {
LinkedList<TestRecord> testRecords = new LinkedList<TestRecord>();
addBinaryTestRecords(testRecords, "", "",null);
addValidTextTypeRecords(testRecords, "", "",null);
addValidHTMLTypeRecords(testRecords, "", "",null);
addOtherValidTextTypeRecords(testRecords, "", "",null);
addTestApplicationStrings(testRecords,"", "",null);
addAudioTestRecords(testRecords, "", "",null);
addImageTestRecords(testRecords, "", "",null);
addTestTextRecords(testRecords, "", "",null);
addTestVideoRecords(testRecords, "", "",null);
addMiscelaneousTestRecords(testRecords, "", "",null);
addInvalidExtensions(testRecords,"","",null);
addBinaryTestRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addValidTextTypeRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addValidHTMLTypeRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addOtherValidTextTypeRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addOtherValidTextTypeRecords(testRecords, ".", " ; charset: UTF-8;charset=iso-8859-1",null);
addTestApplicationStrings(testRecords,"", " ; charset: UTF-8;charset=iso-8859-1",null);
addAudioTestRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addImageTestRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addTestTextRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addTestVideoRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addMiscelaneousTestRecords(testRecords, "", " ; charset: UTF-8;charset=iso-8859-1",null);
addInvalidExtensions(testRecords,"."," ; charset: UTF-8;charset=iso-8859-1",null);
for (TestRecord record : testRecords) {
MimeTypeDisposition disposition = checkMimeTypeDisposition(record._testString);
if (disposition != record._expectedDisposition) {
System.out.println("RECORD:" + record._testString + " Expected:" + record._expectedDisposition + " GOT:" + disposition);
}
}
}
}