diff --git a/tests/cases/MimeTypeTest.php b/tests/cases/MimeTypeTest.php index a165bf9..6cef82a 100644 --- a/tests/cases/MimeTypeTest.php +++ b/tests/cases/MimeTypeTest.php @@ -74,8 +74,8 @@ class MimeTypeTest extends \PHPUnit\Framework\TestCase { } else { $index += $indexOffset; $description = $description ? ": $description" : ""; - $input = $test->type; - unset($test->type); + $input = $test->input; + unset($test->input); $output = []; foreach ((array) $test as $k => $v) { $prop = $propMap[$k] ?? null; diff --git a/tests/cases/mime-groups.json b/tests/cases/mime-groups.json index a241bda..b912958 100644 --- a/tests/cases/mime-groups.json +++ b/tests/cases/mime-groups.json @@ -1,98 +1,105 @@ [ - {"type": "image/png", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "image/x", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "audio/mp4", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "video/mpeg", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "audio/x", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "video/x", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/ogg", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "font/woff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "font/x", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/font-cff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/font-off", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/font-sfnt", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/font-ttf", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/font-woff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/vnd.ms-fontobject", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/vnd.ms-opentype", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/x+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "image/png", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "image/x", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "audio/mp4", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "video/mpeg", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "audio/x", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "video/x", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/ogg", "image": false, "audio or video": true, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "font/woff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "font/x", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/font-cff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/font-off", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/font-sfnt", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/font-ttf", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/font-woff", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/vnd.ms-fontobject", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/vnd.ms-opentype", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, "application/zip also matches the archive group", - {"type": "application/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/x-rar-compressed", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/x-rar-compressed", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, "application/zip also matches the ZIP-based group", - {"type": "application/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "application/x-gzip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "application/x-gzip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": true, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, "XML is also scriptable", - {"type": "x/x+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, - {"type": "x/+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, - {"type": "application/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, - {"type": "text/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "x/x+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "x/+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "application/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "text/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, "HTML is scriptable", - {"type": "text/html", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": true, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "text/html", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": true, "scriptable": true, "JavaScript": false, "JSON": false}, "XHTML is not considered HTML", - {"type": "application/xhtml+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "application/xhtml+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, "PDF is scriptable", - {"type": "application/pdf", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, - {"type": "application/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "application/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "application/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "application/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.0", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.1", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.2", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.3", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.4", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/javascript1.5", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/jscript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/livescript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "text/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, - {"type": "x/x+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, - {"type": "x/+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, - {"type": "application/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, - {"type": "text/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, + {"input": "application/pdf", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "application/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "application/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "application/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "application/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.0", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.1", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.2", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.3", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.4", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/javascript1.5", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/jscript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/livescript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "text/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": true, "JSON": false}, + {"input": "x/x+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, + {"input": "x/+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, + {"input": "application/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, + {"input": "text/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true}, "Sanity check", - {"type": "x/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/png", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/audio", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/video", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/ogg", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/font", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/woff", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/font-ttf", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/x-gzip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/x-rar-compressed", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x+zip/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x+xml/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/html", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/jscript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/livescript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.0", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.1", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.2", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.3", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.4", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/javascript1.5", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x+json/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/png", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/audio", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/video", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/ogg", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/font", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/woff", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/font-ttf", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/zip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x-gzip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x-rar-compressed", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x+zip/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=x+zip", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x+xml/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=x+xml", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/pdf", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/html", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x-ecmascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x-javascript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/jscript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/livescript", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.0", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.1", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.2", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.3", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.4", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/javascript1.5", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x+json/x", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/x;x=x+json", "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, "SVG is both image and XML, thus also scriptable", - {"type": "image/svg+xml", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "image/svg+xml", "image": true, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, "Hypothetical SVG font type", - {"type": "font/svg+xml", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "font/svg+xml", "image": false, "audio or video": false, "font": true, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, "Subtype longer than 255", - {"type": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+zip", - "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, - {"type": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+xml", - "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, - {"type": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+json", - "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true} + {"input": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+zip", + "image": false, "audio or video": false, "font": false, "ZIP-based": true, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": false}, + {"input": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+xml", + "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": true, "HTML": false, "scriptable": true, "JavaScript": false, "JSON": false}, + {"input": "x/01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789+json", + "image": false, "audio or video": false, "font": false, "ZIP-based": false, "archive": false, "XML": false, "HTML": false, "scriptable": false, "JavaScript": false, "JSON": true} ]