Skip to content

Commit

Permalink
Fix BinaryOrPLaintextClassifier bug with utf16-be & utf16-le and corr…
Browse files Browse the repository at this point in the history
…ect tests
  • Loading branch information
leaexplores committed Sep 12, 2015
1 parent 68a088b commit cc44448
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
5 changes: 2 additions & 3 deletions components/net/mime_classifier.rs
Expand Up @@ -39,7 +39,6 @@ impl MIMEClassifier {
apache_bug_flag: ApacheBugFlag,
supplied_type: &Option<(String, String)>,
data: &[u8]) -> Option<(String, String)> {

match *supplied_type {
None => self.sniff_unknown_type(no_sniff_flag, data),
Some((ref media_type, ref media_subtype)) => {
Expand Down Expand Up @@ -279,8 +278,8 @@ struct BinaryOrPlaintextClassifier;

impl BinaryOrPlaintextClassifier {
fn classify_impl(&self, data: &[u8]) -> (&'static str, &'static str) {
if data == &[0xFFu8, 0xFEu8] ||
data == &[0xFEu8, 0xFFu8] ||
if data.starts_with(&[0xFFu8, 0xFEu8]) ||
data.starts_with(&[0xFEu8, 0xFFu8]) ||
data.starts_with(&[0xEFu8, 0xBBu8, 0xBFu8])
{
("text", "plain")
Expand Down
14 changes: 7 additions & 7 deletions tests/unit/net/mime_classifier.rs
Expand Up @@ -494,7 +494,7 @@ fn test_sniff_utf_8_bom_with_apache_flag_on() {
test_sniff_with_flags(&PathBuf::from("text/plain/utf8bom.txt"),
"text",
"plain",
None,
Some(("dummy", "text")),
NoSniffFlag::OFF,
ApacheBugFlag::ON);
}
Expand All @@ -504,7 +504,7 @@ fn test_sniff_utf_16be_bom_with_apache_flag_on() {
test_sniff_with_flags(&PathBuf::from("text/plain/utf16bebom.txt"),
"text",
"plain",
None,
Some(("dummy", "text")),
NoSniffFlag::OFF,
ApacheBugFlag::ON);
}
Expand All @@ -514,7 +514,7 @@ fn test_sniff_utf_16le_bom_with_apache_flag_on() {
test_sniff_with_flags(&PathBuf::from("text/plain/utf16lebom.txt"),
"text",
"plain",
None,
Some(("dummy", "text")),
NoSniffFlag::OFF,
ApacheBugFlag::ON);
}
Expand All @@ -524,17 +524,17 @@ fn test_sniff_octet_stream_apache_flag_on() {
test_sniff_with_flags(&PathBuf::from("unknown/binary_file"),
"application",
"octet-stream",
None,
Some(("dummy", "binary")),
NoSniffFlag::OFF,
ApacheBugFlag::ON);
}

#[test]
fn test_sniff_mp4_video_apache_flag_on() {
test_sniff_with_flags(&PathBuf::from("video/mp4/test.mp4"),
"video",
"mp4",
Some("video", "mp4"),
"application",
"octet-stream",
Some(("video", "mp4")),
NoSniffFlag::OFF,
ApacheBugFlag::ON);
}
Expand Down

0 comments on commit cc44448

Please sign in to comment.