Skip to content

Commit 0c14849

Browse files
committed
feat: Expand definitions with more tests
1 parent 9dc5ecb commit 0c14849

8 files changed

Lines changed: 214 additions & 1 deletion

File tree

src/FileTypeInterrogator.Tests/FileTypeInterrogatorTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,11 @@ public void CanDetectAdobe(string extension)
5858
[DataRow("ico", DisplayName = "ICO Test")]
5959
[DataRow("jp2", DisplayName = "JP2 Test")]
6060
[DataRow("jpg", DisplayName = "JPG Test")]
61+
[DataRow("pcx", DisplayName = "PCX Test")]
6162
[DataRow("png", DisplayName = "PNG Test")]
6263
[DataRow("psd", DisplayName = "PSD Test")]
6364
[DataRow("tif", DisplayName = "TIF Test")]
65+
[DataRow("webp", DisplayName = "WEBP Test")]
6466
public void CanDetectImages(string extension)
6567
{
6668
DetectType(extension);
@@ -71,7 +73,9 @@ public void CanDetectImages(string extension)
7173
[DataRow("avi", DisplayName = "AVI Test")]
7274
[DataRow("flv", DisplayName = "FLV Test")]
7375
[DataRow("mid", DisplayName = "MID Test")]
76+
[DataRow("mkv", DisplayName = "MKV Test")]
7477
[DataRow("mp4", DisplayName = "MP4 Test")]
78+
[DataRow("webm", DisplayName = "WEBM Test")]
7579
[DataRow("wmv", DisplayName = "WMV Test")]
7680
public void CanDetectVideo(string extension)
7781
{
@@ -125,6 +129,14 @@ public void CanDetectCompressed(string extension)
125129
DetectType(extension);
126130
}
127131

132+
[DataTestMethod]
133+
[DataRow("eml", DisplayName = "EML Test")]
134+
[DataRow("vcf", DisplayName = "VCF Test")]
135+
public void CanDetectOther(string extension)
136+
{
137+
DetectType(extension);
138+
}
139+
128140
private void DetectType(string extension)
129141
{
130142
DetectType(extension, result =>
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
Return-Path: <mlemos@acm.org>
2+
To: Manuel Lemos <mlemos@linux.local>
3+
Subject: Testing Manuel Lemos' MIME E-mail composing and sending PHP class: HTML message
4+
From: mlemos <mlemos@acm.org>
5+
Reply-To: mlemos <mlemos@acm.org>
6+
Sender: mlemos@acm.org
7+
X-Mailer: http://www.phpclasses.org/mimemessage $Revision: 1.63 $ (mail)
8+
MIME-Version: 1.0
9+
Content-Type: multipart/mixed; boundary="652b8c4dcb00cdcdda1e16af36781caf"
10+
Message-ID: <20050430192829.0489.mlemos@acm.org>
11+
Date: Sat, 30 Apr 2005 19:28:29 -0300
12+
13+
14+
--652b8c4dcb00cdcdda1e16af36781caf
15+
Content-Type: multipart/related; boundary="6a82fb459dcaacd40ab3404529e808dc"
16+
17+
18+
--6a82fb459dcaacd40ab3404529e808dc
19+
Content-Type: multipart/alternative; boundary="69c1683a3ee16ef7cf16edd700694a2f"
20+
21+
22+
--69c1683a3ee16ef7cf16edd700694a2f
23+
Content-Type: text/plain; charset=ISO-8859-1
24+
Content-Transfer-Encoding: quoted-printable
25+
26+
This is an HTML message. Please use an HTML capable mail program to read
27+
this message.
28+
29+
--69c1683a3ee16ef7cf16edd700694a2f
30+
Content-Type: text/html; charset=ISO-8859-1
31+
Content-Transfer-Encoding: quoted-printable
32+
33+
<html>
34+
<head>
35+
<title>Testing Manuel Lemos' MIME E-mail composing and sending PHP class: H=
36+
TML message</title>
37+
<style type=3D"text/css"><!--
38+
body { color: black ; font-family: arial, helvetica, sans-serif ; backgroun=
39+
d-color: #A3C5CC }
40+
A:link, A:visited, A:active { text-decoration: underline }
41+
--></style>
42+
</head>
43+
<body>
44+
<table background=3D"cid:4c837ed463ad29c820668e835a270e8a.gif" width=3D"100=
45+
%">
46+
<tr>
47+
<td>
48+
<center><h1>Testing Manuel Lemos' MIME E-mail composing and sending PHP cla=
49+
ss: HTML message</h1></center>
50+
<hr>
51+
<P>Hello Manuel,<br><br>
52+
This message is just to let you know that the <a href=3D"http://www.phpclas=
53+
ses.org/mimemessage">MIME E-mail message composing and sending PHP class</a=
54+
> is working as expected.<br><br>
55+
<center><h2>Here is an image embedded in a message as a separate part:</h2>=
56+
</center>
57+
<center><img src=3D"cid:ae0357e57f04b8347f7621662cb63855.gif"></center>Than=
58+
k you,<br>
59+
mlemos</p>
60+
</td>
61+
</tr>
62+
</table>
63+
</body>
64+
</html>
65+
--69c1683a3ee16ef7cf16edd700694a2f--
66+
67+
--6a82fb459dcaacd40ab3404529e808dc
68+
Content-Type: image/gif; name="logo.gif"
69+
Content-Transfer-Encoding: base64
70+
Content-Disposition: inline; filename="logo.gif"
71+
Content-ID: <ae0357e57f04b8347f7621662cb63855.gif>
72+
73+
R0lGODlhlgAjAPMJAAAAAAAA/y8vLz8/P19fX19f339/f4+Pj4+Pz7+/v///////////////////
74+
/////yH5BAEAAAkALAAAAACWACMAQwT+MMlJq7046827/2AoHYChGAChAkBylgKgKClFyEl6xDMg
75+
qLFBj3C5uXKplVAxIOxkA8BhdFCpDlMK1urMTrZWbAV8tVS5YsxtxmZHBVOSCcW9zaXyNhslVcto
76+
RBp5NQYxLAYGLi8oSwoJBlE+BiSNj5E/PDQsmy4pAJWQLAKJY5+hXhZ2dDYldFWtNSFPiXssXnZR
77+
k5+1pjpBiDMJUXG/Jo7DI4eKfMSmxsJ9GAUB1NXW19jZ2tvc3d7f4OHi2AgZN5vom1kk6F7s6u/p
78+
m3Ab7AOIiCxOyZuBIv8AOeTJIaYQjiR/kKTr5GQNE3pYSjCJ9mUXClRUsLxaZGciC0X+OlpoOuQo
79+
ZKdNJnIoKfnxRUQh6FLG0iLxIoYnJd0JEKISJyAQDodp3EUDC48oDnUY7HFI3wEDRjzycQJVZCQT
80+
Ol7NK+G0qgtkAcOKHUu2rNmzYTVqRMt2bB49bHompSchqg6HcGeANSMxr8sEa2y2HexnSEUTuWri
81+
SSbkYh7BgGVAnhB1b2REibESYaRoBgqIMYx59tFM9AvQffVG49P5NMZkMlHKhJPJb0knmSKZ6kSX
82+
JtbeF3Am7ocok6c7cM7pU5xcXiJJETUz16qPrzEfaFgZpvzn7h86YV5r/1mxXeAUMVyEIpnVUGpN
83+
RlG2ka9b3lP3pm2l6u7P+l/YLj3+RlEHbz1C0kRxSITQaAcilVBMEzmkkEQO8oSOBNg9SN+AX6hV
84+
z1pjgJiAhwCRsY8ZIp6xj1ruqCgeGeKNGEZwLnIwzTg45qjjjjz2GEA5hAUp5JBEFmnkkSCoWEcZ
85+
X8yohZNK1pFGPQS4hx0qNSLJlk9wCQORYu5QiMd7bUzGVyNlRiOHSlpuKdGEItHQ3HZ18beRRyws
86+
YSY/waDTiHf/tWlWUBAJiMJ1/Z0XXU7N0FnREpKM4NChCgbyRDq9XYpOplaKopN9NMkDnBbG+UMC
87+
QwLWIeaiglES6AjGARcPHCWoVAiatcTnGTABZoLPaPG1phccPv366mEvWEFSLnj+2QaonECwcJt/
88+
e1Zw3lJvVMmftBdVNQS3UngLCA85YHIQOy6JO9N4eZW7KJwtOUZmGwOMWqejwVW6RQzaikRHX3yI
89+
osKhDAq8wmnKSmdMwNidSOof9ZG2DoV0RfTVmLFtGmNk+CoZna0HQnPHS3AhRbIeDpqmR09E0bsu
90+
soeaw994z+rwQVInvqLenBftYjLOVphLFHhV9qsnez8AEUbQRgO737AxChjmyANxuEFHSGi7hFCV
91+
4jxLst2N8sRJYU+SHiAKjlmCgz2IffbLI5aaQR71hnkxq1ZfHSfKata6YDCJDMAQwY7wOgzhjxgj
92+
VFQnKB5uX4mr9qJ79pann+VcfcSzsSCd2mw5scqRRvlQ6TgcUelYhu75iPE4JejrsJOFQAG01277
93+
7bjnrvvuvPfu++/ABy887hfc6OPxyCevPDdAVoDA89BHL/301Fdv/fXYZ6/99tx3Pz0FEQAAOw==
94+
95+
--6a82fb459dcaacd40ab3404529e808dc
96+
Content-Type: image/gif; name="background.gif"
97+
Content-Transfer-Encoding: base64
98+
Content-Disposition: inline; filename="background.gif"
99+
Content-ID: <4c837ed463ad29c820668e835a270e8a.gif>
100+
101+
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
158+
eZmYmZmauZmc2ZlCEQEAOw==
159+
160+
--6a82fb459dcaacd40ab3404529e808dc--
161+
162+
--652b8c4dcb00cdcdda1e16af36781caf
163+
Content-Type: text/plain; name="attachment.txt"
164+
Content-Transfer-Encoding: base64
165+
Content-Disposition: attachment; filename="attachment.txt"
166+
167+
VGhpcyBpcyBqdXN0IGEgcGxhaW4gdGV4dCBhdHRhY2htZW50IGZpbGUgbmFtZWQgYXR0YWNobWVu
168+
dC50eHQgLg==
169+
170+
--652b8c4dcb00cdcdda1e16af36781caf--
171+
1.26 MB
Binary file not shown.
66.2 KB
Binary file not shown.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
BEGIN:VCARD
2+
VERSION:3.0
3+
N:Doe;John;;;
4+
FN:John Doe
5+
ORG:Example.com Inc.;
6+
TITLE:Imaginary test person
7+
EMAIL;type=INTERNET;type=WORK;type=pref:johnDoe@example.org
8+
TEL;type=WORK;type=pref:+1 617 555 1212
9+
TEL;type=WORK:+1 (617) 555-1234
10+
TEL;type=CELL:+1 781 555 1212
11+
TEL;type=HOME:+1 202 555 1212
12+
item1.ADR;type=WORK:;;2 Enterprise Avenue;Worktown;NY;01111;USA
13+
item1.X-ABADR:us
14+
item2.ADR;type=HOME;type=pref:;;3 Acacia Avenue;Hoemtown;MA;02222;USA
15+
item2.X-ABADR:us
16+
NOTE:John Doe has a long and varied history\, being documented on more police files that anyone else. Reports of his death are alas numerous.
17+
item3.URL;type=pref:http\://www.example/com/doe
18+
item3.X-ABLabel:_$!<HomePage>!$_
19+
item4.URL:http\://www.example.com/Joe/foaf.df
20+
item4.X-ABLabel:FOAF
21+
item5.X-ABRELATEDNAMES;type=pref:Jane Doe
22+
item5.X-ABLabel:_$!<Friend>!$_
23+
CATEGORIES:Work,Test group
24+
X-ABUID:5AD380FD-B2DE-4261-BA99-DE1D1DB52FBE\:ABPerson
25+
END:VCARD
880 KB
Binary file not shown.
49.2 KB
Loading

src/FileTypeInterrogator/definitions_flat

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104
0 long 4D546864 MIDI File midi audio/midi mid
105105
0 long 3C4D616B657246696C6520 MapInfo Interchange Format File mif application/vnd.mif
106106
0 long 56657273696F6E20 MapInfo Interchange Format File mif application/vnd.mif
107-
0 long 1A45DFA3 Matroska Video File mkv video/x-matroska
107+
0 long 1A45DFA3 6D6174726F736B61 Matroska Video File mkv video/x-matroska
108108
0 long 4D4D4D440000 Meal-Master Recipe File mmf application/vnd.smaf
109109
0 long 000000146674797071742020 Apple QuickTime Movie mov video/quicktime
110110
4 long 6674797071742020 Apple QuickTime Movie mov video/quicktime
@@ -138,6 +138,11 @@
138138
0 long 504B0304 OpenDocument Document Template ott application/vnd.oasis.opendocument.text-template
139139
0 long 504B0304 OpenXPS File oxps application/oxps
140140
0 long 64000000 Certificate Request File p10 application/pkcs10
141+
0 long 0A0001 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
142+
0 long 0A0201 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
143+
0 long 0A0301 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
144+
0 long 0A0401 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
145+
0 long 0A0501 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
141146
512 long 0908100000060500 Paintbrush Bitmap Image File pcx image/vnd.zbrush.pcx
142147
11 long 000000000000000000000000000000000000000000000000 Program Database pdb application/vnd.palm
143148
0 long 4D2D5720506F636B6574204469637469 Program Database pdb application/vnd.palm

0 commit comments

Comments
 (0)