Skip to content
Permalink
Browse files

Fix BinaryOrPLaintextClassifier bug with utf16-be & utf16-le and corr…

…ect tests
  • Loading branch information...
ddrmanxbxfr committed Sep 12, 2015
1 parent 68a088b commit cc44448b0922f184b22cdb2ecc29af37496c52b0
Showing with 9 additions and 10 deletions.
  1. +2 −3 components/net/mime_classifier.rs
  2. +7 −7 tests/unit/net/mime_classifier.rs
@@ -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)) => {
@@ -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")
@@ -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);
}
@@ -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);
}
@@ -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);
}
@@ -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);
}

0 comments on commit cc44448

Please sign in to comment.
You can’t perform that action at this time.