diff --git a/src/main/java/com/adobe/epubcheck/util/CheckUtil.java b/src/main/java/com/adobe/epubcheck/util/CheckUtil.java
index 63901427c..52a492431 100755
--- a/src/main/java/com/adobe/epubcheck/util/CheckUtil.java
+++ b/src/main/java/com/adobe/epubcheck/util/CheckUtil.java
@@ -81,12 +81,7 @@ public static boolean checkTrailingSpaces(InputStream input,
}
int ch = input.read();
- if (version == EPUBVersion.VERSION_2 && ch != -1)
- {
- return false;
- }
-
- if (version == EPUBVersion.VERSION_3 && ch != ' ' && ch != -1)
+ if (ch != -1)
{
return false;
}
diff --git a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java
index bdf3d3002..3b405189b 100644
--- a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java
+++ b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java
@@ -92,11 +92,32 @@ public void testValidateEPUBPLoremBasicMathml()
}
@Test
- public void testValidateEPUBPLoremMimetype()
+ public void testMimetypeHasCorrectValue()
{
Collections.addAll(expectedErrors, MessageId.PKG_007);
testValidateDocument("invalid/mimetype-file-incorrect-value");
}
+
+ @Test
+ public void testMimetypeHasNoLeadingSpaces()
+ {
+ Collections.addAll(expectedErrors, MessageId.PKG_007);
+ testValidateDocument("invalid/mimetype-file-leading-spaces");
+ }
+
+ @Test
+ public void testMimetypeHasNoTrailingNewline()
+ {
+ Collections.addAll(expectedErrors, MessageId.PKG_007);
+ testValidateDocument("invalid/mimetype-file-trailing-newline");
+ }
+
+ @Test
+ public void testMimetypeHasNoTrailingSpaces()
+ {
+ Collections.addAll(expectedErrors, MessageId.PKG_007);
+ testValidateDocument("invalid/mimetype-file-trailing-spaces");
+ }
@Test
public void testValidateEPUBPLoremLink()
diff --git a/src/test/java/com/adobe/epubcheck/api/Epub30CheckTest.java b/src/test/java/com/adobe/epubcheck/api/Epub30CheckTest.java
index cdd049ae6..4deae518c 100644
--- a/src/test/java/com/adobe/epubcheck/api/Epub30CheckTest.java
+++ b/src/test/java/com/adobe/epubcheck/api/Epub30CheckTest.java
@@ -219,7 +219,7 @@ public void testDuplicateZipEntriesIssue265()
{
// duplicate entries should raise an error
Collections.addAll(expectedErrors, MessageId.OPF_060);
- testValidateDocument("invalid/issue265.epub");
+ testValidateDocument("invalid/zip-duplicate-entry.epub");
}
@Test
@@ -243,7 +243,7 @@ public void testDuplicateZipEntriesIssue265c()
public void testExtendedFieldofZip()
{
Collections.addAll(expectedErrors, MessageId.PKG_005);
- testValidateDocument("invalid/lorem-zip64.epub");
+ testValidateDocument("invalid/zip-extra-field.epub");
}
@Test
diff --git a/src/test/resources/30/epub/invalid/issue239.epub.bak b/src/test/resources/30/epub/invalid/issue239.epub.bak
deleted file mode 100644
index b193b0a49..000000000
Binary files a/src/test/resources/30/epub/invalid/issue239.epub.bak and /dev/null differ
diff --git a/src/test/resources/30/epub/invalid/issue265.epub b/src/test/resources/30/epub/invalid/issue265.epub
deleted file mode 100644
index 5d0867588..000000000
Binary files a/src/test/resources/30/epub/invalid/issue265.epub and /dev/null differ
diff --git a/src/test/resources/30/epub/invalid/issue265b.epub b/src/test/resources/30/epub/invalid/issue265b.epub
index 600463390..7700a5806 100644
Binary files a/src/test/resources/30/epub/invalid/issue265b.epub and b/src/test/resources/30/epub/invalid/issue265b.epub differ
diff --git a/src/test/resources/30/epub/invalid/issue265c.epub b/src/test/resources/30/epub/invalid/issue265c.epub
index 843d943f2..c683c5a52 100644
Binary files a/src/test/resources/30/epub/invalid/issue265c.epub and b/src/test/resources/30/epub/invalid/issue265c.epub differ
diff --git a/src/test/resources/30/epub/invalid/lorem-zip64.epub b/src/test/resources/30/epub/invalid/lorem-zip64.epub
deleted file mode 100644
index 5ce075957..000000000
Binary files a/src/test/resources/30/epub/invalid/lorem-zip64.epub and /dev/null differ
diff --git a/src/test/resources/30/epub/invalid/zip-duplicate-entry.epub b/src/test/resources/30/epub/invalid/zip-duplicate-entry.epub
new file mode 100644
index 000000000..593ce724e
Binary files /dev/null and b/src/test/resources/30/epub/invalid/zip-duplicate-entry.epub differ
diff --git a/src/test/resources/30/epub/invalid/zip-extra-field.epub b/src/test/resources/30/epub/invalid/zip-extra-field.epub
new file mode 100644
index 000000000..ec691bd19
Binary files /dev/null and b/src/test/resources/30/epub/invalid/zip-extra-field.epub differ
diff --git a/src/test/resources/30/epub/valid/epub30-spec.epub.bak b/src/test/resources/30/epub/valid/epub30-spec.epub.bak
deleted file mode 100644
index 50ad14e7a..000000000
Binary files a/src/test/resources/30/epub/valid/epub30-spec.epub.bak and /dev/null differ
diff --git a/src/test/resources/30/epub/valid/issue271_xpgt_correctFallback.epub b/src/test/resources/30/epub/valid/issue271_xpgt_correctFallback.epub
index 8aaab18a1..a7d583701 100644
Binary files a/src/test/resources/30/epub/valid/issue271_xpgt_correctFallback.epub and b/src/test/resources/30/epub/valid/issue271_xpgt_correctFallback.epub differ
diff --git a/src/test/resources/30/expanded/invalid/data-nav-inspine/mimetype b/src/test/resources/30/expanded/invalid/data-nav-inspine/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-inspine/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-inspine/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-missing-type/mimetype b/src/test/resources/30/expanded/invalid/data-nav-missing-type/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-missing-type/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-missing-type/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-multiple/mimetype b/src/test/resources/30/expanded/invalid/data-nav-multiple/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-multiple/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-multiple/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-notxhtml/mimetype b/src/test/resources/30/expanded/invalid/data-nav-notxhtml/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-notxhtml/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-notxhtml/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-regionbased-notfxl/mimetype b/src/test/resources/30/expanded/invalid/data-nav-regionbased-notfxl/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-regionbased-notfxl/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-regionbased-notfxl/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-regionbased-notindatanav/mimetype b/src/test/resources/30/expanded/invalid/data-nav-regionbased-notindatanav/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-regionbased-notindatanav/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-regionbased-notindatanav/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/data-nav-regionbased-struct/mimetype b/src/test/resources/30/expanded/invalid/data-nav-regionbased-struct/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/data-nav-regionbased-struct/mimetype
+++ b/src/test/resources/30/expanded/invalid/data-nav-regionbased-struct/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-invalidcontent/mimetype b/src/test/resources/30/expanded/invalid/dict-invalidcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-invalidcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-invalidcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-multiple-nodictcontent/mimetype b/src/test/resources/30/expanded/invalid/dict-multiple-nodictcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-multiple-nodictcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-multiple-nodictcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-nodctype-2/mimetype b/src/test/resources/30/expanded/invalid/dict-nodctype-2/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-nodctype-2/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-nodctype-2/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-nodctype/mimetype b/src/test/resources/30/expanded/invalid/dict-nodctype/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-nodctype/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-nodctype/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-single-nodictcontent/mimetype b/src/test/resources/30/expanded/invalid/dict-single-nodictcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-single-nodictcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-single-nodictcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-skm-badextension/mimetype b/src/test/resources/30/expanded/invalid/dict-skm-badextension/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-skm-badextension/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-skm-badextension/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-skm-invalid/mimetype b/src/test/resources/30/expanded/invalid/dict-skm-invalid/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-skm-invalid/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-skm-invalid/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-skm-linktocss/mimetype b/src/test/resources/30/expanded/invalid/dict-skm-linktocss/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-skm-linktocss/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-skm-linktocss/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/dict-skm-linktonowhere/mimetype b/src/test/resources/30/expanded/invalid/dict-skm-linktonowhere/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/dict-skm-linktonowhere/mimetype
+++ b/src/test/resources/30/expanded/invalid/dict-skm-linktonowhere/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/duplicate-id/mimetype b/src/test/resources/30/expanded/invalid/duplicate-id/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/duplicate-id/mimetype
+++ b/src/test/resources/30/expanded/invalid/duplicate-id/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/duplicate-resource/mimetype b/src/test/resources/30/expanded/invalid/duplicate-resource/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/duplicate-resource/mimetype
+++ b/src/test/resources/30/expanded/invalid/duplicate-resource/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/edu-microdata/mimetype b/src/test/resources/30/expanded/invalid/edu-microdata/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/edu-microdata/mimetype
+++ b/src/test/resources/30/expanded/invalid/edu-microdata/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/edu-missing-lox/mimetype b/src/test/resources/30/expanded/invalid/edu-missing-lox/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/edu-missing-lox/mimetype
+++ b/src/test/resources/30/expanded/invalid/edu-missing-lox/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/edu-pagination-nopagelist/mimetype b/src/test/resources/30/expanded/invalid/edu-pagination-nopagelist/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/edu-pagination-nopagelist/mimetype
+++ b/src/test/resources/30/expanded/invalid/edu-pagination-nopagelist/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/edu-pagination-nopagesource/mimetype b/src/test/resources/30/expanded/invalid/edu-pagination-nopagesource/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/edu-pagination-nopagesource/mimetype
+++ b/src/test/resources/30/expanded/invalid/edu-pagination-nopagesource/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/encryption-unknown/mimetype b/src/test/resources/30/expanded/invalid/encryption-unknown/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/encryption-unknown/mimetype
+++ b/src/test/resources/30/expanded/invalid/encryption-unknown/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fallback-circular/mimetype b/src/test/resources/30/expanded/invalid/fallback-circular/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fallback-circular/mimetype
+++ b/src/test/resources/30/expanded/invalid/fallback-circular/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fallback-nonresolving/mimetype b/src/test/resources/30/expanded/invalid/fallback-nonresolving/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fallback-nonresolving/mimetype
+++ b/src/test/resources/30/expanded/invalid/fallback-nonresolving/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fallback-object-none/mimetype b/src/test/resources/30/expanded/invalid/fallback-object-none/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fallback-object-none/mimetype
+++ b/src/test/resources/30/expanded/invalid/fallback-object-none/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fallback-xpgt-none/mimetype b/src/test/resources/30/expanded/invalid/fallback-xpgt-none/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fallback-xpgt-none/mimetype
+++ b/src/test/resources/30/expanded/invalid/fallback-xpgt-none/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-no-heightwidth/mimetype b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-no-heightwidth/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-no-heightwidth/mimetype
+++ b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-no-heightwidth/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-widthheight-in-percent/mimetype b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-widthheight-in-percent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-widthheight-in-percent/mimetype
+++ b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox-widthheight-in-percent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox/mimetype b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox/mimetype
+++ b/src/test/resources/30/expanded/invalid/fxl-svg-no-viewbox/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/href-outofspine/mimetype b/src/test/resources/30/expanded/invalid/href-outofspine/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/href-outofspine/mimetype
+++ b/src/test/resources/30/expanded/invalid/href-outofspine/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-collection-badidxcontent/mimetype b/src/test/resources/30/expanded/invalid/idx-collection-badidxcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-collection-badidxcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-collection-badidxcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-collection-noindex/mimetype b/src/test/resources/30/expanded/invalid/idx-collection-noindex/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-collection-noindex/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-collection-noindex/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-single-file-badidxcontent/mimetype b/src/test/resources/30/expanded/invalid/idx-single-file-badidxcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-single-file-badidxcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-single-file-badidxcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-single-file-noindex/mimetype b/src/test/resources/30/expanded/invalid/idx-single-file-noindex/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-single-file-noindex/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-single-file-noindex/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-whole-pub-badidxcontent/mimetype b/src/test/resources/30/expanded/invalid/idx-whole-pub-badidxcontent/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-whole-pub-badidxcontent/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-whole-pub-badidxcontent/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/idx-whole-pub-noindex/mimetype b/src/test/resources/30/expanded/invalid/idx-whole-pub-noindex/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/idx-whole-pub-noindex/mimetype
+++ b/src/test/resources/30/expanded/invalid/idx-whole-pub-noindex/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/issue189/mimetype b/src/test/resources/30/expanded/invalid/issue189/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/issue189/mimetype
+++ b/src/test/resources/30/expanded/invalid/issue189/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-basic-dual-base/mimetype b/src/test/resources/30/expanded/invalid/lorem-basic-dual-base/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-basic-dual-base/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-basic-dual-base/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-container/mimetype b/src/test/resources/30/expanded/invalid/lorem-container/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-container/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-container/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-enc/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-enc/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-enc/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-enc/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-import-1/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-import-1/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-import-1/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-import-1/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-import-2/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-import-2/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-import-2/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-import-2/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-urls-1/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-urls-1/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-urls-1/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-urls-1/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-urls-2/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-urls-2/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-urls-2/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-urls-2/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-urls-3/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-urls-3/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-urls-3/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-urls-3/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-css-wrongtype/mimetype b/src/test/resources/30/expanded/invalid/lorem-css-wrongtype/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-css-wrongtype/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-css-wrongtype/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-encryption/mimetype b/src/test/resources/30/expanded/invalid/lorem-encryption/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-encryption/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-encryption/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-signatures/mimetype b/src/test/resources/30/expanded/invalid/lorem-signatures/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-signatures/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-signatures/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/lorem-xrenditions-unmanifested/mimetype b/src/test/resources/30/expanded/invalid/lorem-xrenditions-unmanifested/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/lorem-xrenditions-unmanifested/mimetype
+++ b/src/test/resources/30/expanded/invalid/lorem-xrenditions-unmanifested/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/META-INF/container.xml b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/META-INF/container.xml
new file mode 100644
index 000000000..cd9945b48
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/META-INF/container.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/content_001.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/content_001.xhtml
new file mode 100644
index 000000000..2f8492a6f
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/content_001.xhtml
@@ -0,0 +1,11 @@
+
+
+
+
+ Minimal EPUB
+
+
+
Loomings
+
Call me Ishmael.
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/nav.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/nav.xhtml
new file mode 100644
index 000000000..fb044b8c6
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/nav.xhtml
@@ -0,0 +1,19 @@
+
+
+
+
+ Minimal Nav
+
+
+
+
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/package.opf b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/package.opf
new file mode 100644
index 000000000..0d1eec6e9
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/OPS/package.opf
@@ -0,0 +1,16 @@
+
+
+
+ Minimal EPUB 3.0
+ en
+ NOID
+ 2017-06-14T00:00:01Z
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/mimetype b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/mimetype
new file mode 100644
index 000000000..41452314d
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-leading-spaces/mimetype
@@ -0,0 +1 @@
+ application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/META-INF/container.xml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/META-INF/container.xml
new file mode 100644
index 000000000..cd9945b48
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/META-INF/container.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/content_001.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/content_001.xhtml
new file mode 100644
index 000000000..2f8492a6f
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/content_001.xhtml
@@ -0,0 +1,11 @@
+
+
+
+
+ Minimal EPUB
+
+
+
Loomings
+
Call me Ishmael.
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/nav.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/nav.xhtml
new file mode 100644
index 000000000..fb044b8c6
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/nav.xhtml
@@ -0,0 +1,19 @@
+
+
+
+
+ Minimal Nav
+
+
+
+
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/package.opf b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/package.opf
new file mode 100644
index 000000000..0d1eec6e9
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/OPS/package.opf
@@ -0,0 +1,16 @@
+
+
+
+ Minimal EPUB 3.0
+ en
+ NOID
+ 2017-06-14T00:00:01Z
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/mimetype b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/mimetype
new file mode 100644
index 000000000..403c4f02d
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-newline/mimetype
@@ -0,0 +1 @@
+application/epub+zip
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/META-INF/container.xml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/META-INF/container.xml
new file mode 100644
index 000000000..cd9945b48
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/META-INF/container.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/content_001.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/content_001.xhtml
new file mode 100644
index 000000000..2f8492a6f
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/content_001.xhtml
@@ -0,0 +1,11 @@
+
+
+
+
+ Minimal EPUB
+
+
+
Loomings
+
Call me Ishmael.
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/nav.xhtml b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/nav.xhtml
new file mode 100644
index 000000000..fb044b8c6
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/nav.xhtml
@@ -0,0 +1,19 @@
+
+
+
+
+ Minimal Nav
+
+
+
+
+
+
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/package.opf b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/package.opf
new file mode 100644
index 000000000..0d1eec6e9
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/OPS/package.opf
@@ -0,0 +1,16 @@
+
+
+
+ Minimal EPUB 3.0
+ en
+ NOID
+ 2017-06-14T00:00:01Z
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/mimetype b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/mimetype
new file mode 100644
index 000000000..0f4b6e3ae
--- /dev/null
+++ b/src/test/resources/30/expanded/invalid/mimetype-file-trailing-spaces/mimetype
@@ -0,0 +1 @@
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-nonxhtml/mimetype b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-nonxhtml/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-nonxhtml/mimetype
+++ b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-nonxhtml/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noresourcemap/mimetype b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noresourcemap/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noresourcemap/mimetype
+++ b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noresourcemap/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noversion/mimetype b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noversion/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noversion/mimetype
+++ b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-noversion/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-untypednav/mimetype b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-untypednav/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-untypednav/mimetype
+++ b/src/test/resources/30/expanded/invalid/multiple-renditions-mapping-untypednav/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/multiple-renditions-multiple-mappings/mimetype b/src/test/resources/30/expanded/invalid/multiple-renditions-multiple-mappings/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/multiple-renditions-multiple-mappings/mimetype
+++ b/src/test/resources/30/expanded/invalid/multiple-renditions-multiple-mappings/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/ncx-external-identifier/mimetype b/src/test/resources/30/expanded/invalid/ncx-external-identifier/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/ncx-external-identifier/mimetype
+++ b/src/test/resources/30/expanded/invalid/ncx-external-identifier/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-embedded-linkcfi/mimetype b/src/test/resources/30/expanded/invalid/preview-embedded-linkcfi/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-embedded-linkcfi/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-embedded-linkcfi/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-embedded-linknoCD/mimetype b/src/test/resources/30/expanded/invalid/preview-embedded-linknoCD/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-embedded-linknoCD/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-embedded-linknoCD/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-embedded-nolinks/mimetype b/src/test/resources/30/expanded/invalid/preview-embedded-nolinks/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-embedded-nolinks/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-embedded-nolinks/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-embedded-nomanifest/mimetype b/src/test/resources/30/expanded/invalid/preview-embedded-nomanifest/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-embedded-nomanifest/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-embedded-nomanifest/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-pub-nosource/mimetype b/src/test/resources/30/expanded/invalid/preview-pub-nosource/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-pub-nosource/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-pub-nosource/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-pub-notype/mimetype b/src/test/resources/30/expanded/invalid/preview-pub-notype/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-pub-notype/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-pub-notype/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/preview-pub-samesourceid/mimetype b/src/test/resources/30/expanded/invalid/preview-pub-samesourceid/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/preview-pub-samesourceid/mimetype
+++ b/src/test/resources/30/expanded/invalid/preview-pub-samesourceid/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/resource-missing-refinxhtml/mimetype b/src/test/resources/30/expanded/invalid/resource-missing-refinxhtml/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/resource-missing-refinxhtml/mimetype
+++ b/src/test/resources/30/expanded/invalid/resource-missing-refinxhtml/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/invalid/resource-missing/mimetype b/src/test/resources/30/expanded/invalid/resource-missing/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/invalid/resource-missing/mimetype
+++ b/src/test/resources/30/expanded/invalid/resource-missing/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/data-nav-basic/mimetype b/src/test/resources/30/expanded/valid/data-nav-basic/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/data-nav-basic/mimetype
+++ b/src/test/resources/30/expanded/valid/data-nav-basic/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/data-nav-regionbased-comics/mimetype b/src/test/resources/30/expanded/valid/data-nav-regionbased-comics/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/data-nav-regionbased-comics/mimetype
+++ b/src/test/resources/30/expanded/valid/data-nav-regionbased-comics/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/data-nav-regionbased/mimetype b/src/test/resources/30/expanded/valid/data-nav-regionbased/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/data-nav-regionbased/mimetype
+++ b/src/test/resources/30/expanded/valid/data-nav-regionbased/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/dict-multiple/mimetype b/src/test/resources/30/expanded/valid/dict-multiple/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/dict-multiple/mimetype
+++ b/src/test/resources/30/expanded/valid/dict-multiple/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/dict-single/mimetype b/src/test/resources/30/expanded/valid/dict-single/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/dict-single/mimetype
+++ b/src/test/resources/30/expanded/valid/dict-single/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/edu-basic/mimetype b/src/test/resources/30/expanded/valid/edu-basic/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/edu-basic/mimetype
+++ b/src/test/resources/30/expanded/valid/edu-basic/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/edu-fxl/mimetype b/src/test/resources/30/expanded/valid/edu-fxl/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/edu-fxl/mimetype
+++ b/src/test/resources/30/expanded/valid/edu-fxl/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/edu-non-linear/mimetype b/src/test/resources/30/expanded/valid/edu-non-linear/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/edu-non-linear/mimetype
+++ b/src/test/resources/30/expanded/valid/edu-non-linear/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fallback-bindings/mimetype b/src/test/resources/30/expanded/valid/fallback-bindings/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fallback-bindings/mimetype
+++ b/src/test/resources/30/expanded/valid/fallback-bindings/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fallback-chain/mimetype b/src/test/resources/30/expanded/valid/fallback-chain/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fallback-chain/mimetype
+++ b/src/test/resources/30/expanded/valid/fallback-chain/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fallback-object-native/mimetype b/src/test/resources/30/expanded/valid/fallback-object-native/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fallback-object-native/mimetype
+++ b/src/test/resources/30/expanded/valid/fallback-object-native/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fallback-xpgt-explicit/mimetype b/src/test/resources/30/expanded/valid/fallback-xpgt-explicit/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fallback-xpgt-explicit/mimetype
+++ b/src/test/resources/30/expanded/valid/fallback-xpgt-explicit/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fallback-xpgt-implicit/mimetype b/src/test/resources/30/expanded/valid/fallback-xpgt-implicit/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fallback-xpgt-implicit/mimetype
+++ b/src/test/resources/30/expanded/valid/fallback-xpgt-implicit/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/font-opentype/mimetype b/src/test/resources/30/expanded/valid/font-opentype/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/font-opentype/mimetype
+++ b/src/test/resources/30/expanded/valid/font-opentype/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/font-othermediatype/mimetype b/src/test/resources/30/expanded/valid/font-othermediatype/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/font-othermediatype/mimetype
+++ b/src/test/resources/30/expanded/valid/font-othermediatype/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fxl-svg-no-viewbox-on-inner-svg/mimetype b/src/test/resources/30/expanded/valid/fxl-svg-no-viewbox-on-inner-svg/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fxl-svg-no-viewbox-on-inner-svg/mimetype
+++ b/src/test/resources/30/expanded/valid/fxl-svg-no-viewbox-on-inner-svg/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fxl-svg-notinspine/mimetype b/src/test/resources/30/expanded/valid/fxl-svg-notinspine/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fxl-svg-notinspine/mimetype
+++ b/src/test/resources/30/expanded/valid/fxl-svg-notinspine/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/fxl-svg/mimetype b/src/test/resources/30/expanded/valid/fxl-svg/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/fxl-svg/mimetype
+++ b/src/test/resources/30/expanded/valid/fxl-svg/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/idx-collection/mimetype b/src/test/resources/30/expanded/valid/idx-collection/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/idx-collection/mimetype
+++ b/src/test/resources/30/expanded/valid/idx-collection/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/idx-single-file/mimetype b/src/test/resources/30/expanded/valid/idx-single-file/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/idx-single-file/mimetype
+++ b/src/test/resources/30/expanded/valid/idx-single-file/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/idx-whole-pub/mimetype b/src/test/resources/30/expanded/valid/idx-whole-pub/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/idx-whole-pub/mimetype
+++ b/src/test/resources/30/expanded/valid/idx-whole-pub/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue188/mimetype b/src/test/resources/30/expanded/valid/issue188/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue188/mimetype
+++ b/src/test/resources/30/expanded/valid/issue188/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue225/mimetype b/src/test/resources/30/expanded/valid/issue225/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue225/mimetype
+++ b/src/test/resources/30/expanded/valid/issue225/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue226/mimetype b/src/test/resources/30/expanded/valid/issue226/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue226/mimetype
+++ b/src/test/resources/30/expanded/valid/issue226/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue237/mimetype b/src/test/resources/30/expanded/valid/issue237/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue237/mimetype
+++ b/src/test/resources/30/expanded/valid/issue237/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue249/mimetype b/src/test/resources/30/expanded/valid/issue249/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue249/mimetype
+++ b/src/test/resources/30/expanded/valid/issue249/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue267/mimetype b/src/test/resources/30/expanded/valid/issue267/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue267/mimetype
+++ b/src/test/resources/30/expanded/valid/issue267/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue270/mimetype b/src/test/resources/30/expanded/valid/issue270/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue270/mimetype
+++ b/src/test/resources/30/expanded/valid/issue270/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue419/mimetype b/src/test/resources/30/expanded/valid/issue419/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue419/mimetype
+++ b/src/test/resources/30/expanded/valid/issue419/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue615-langtags/mimetype b/src/test/resources/30/expanded/valid/issue615-langtags/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue615-langtags/mimetype
+++ b/src/test/resources/30/expanded/valid/issue615-langtags/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/issue922/mimetype b/src/test/resources/30/expanded/valid/issue922/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/issue922/mimetype
+++ b/src/test/resources/30/expanded/valid/issue922/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-basic-dual/mimetype b/src/test/resources/30/expanded/valid/lorem-basic-dual/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-basic-dual/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-basic-dual/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-basic-ncx/mimetype b/src/test/resources/30/expanded/valid/lorem-basic-ncx/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-basic-ncx/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-basic-ncx/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-basic/mimetype b/src/test/resources/30/expanded/valid/lorem-basic/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-basic/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-basic/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-bindings-withnativefallback/mimetype b/src/test/resources/30/expanded/valid/lorem-bindings-withnativefallback/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-bindings-withnativefallback/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-bindings-withnativefallback/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-css-import/mimetype b/src/test/resources/30/expanded/valid/lorem-css-import/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-css-import/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-css-import/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-iframe/mimetype b/src/test/resources/30/expanded/valid/lorem-iframe/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-iframe/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-iframe/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/lorem-image/mimetype b/src/test/resources/30/expanded/valid/lorem-image/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/lorem-image/mimetype
+++ b/src/test/resources/30/expanded/valid/lorem-image/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/multiple-renditions-mapping-multiplenavs/mimetype b/src/test/resources/30/expanded/valid/multiple-renditions-mapping-multiplenavs/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/multiple-renditions-mapping-multiplenavs/mimetype
+++ b/src/test/resources/30/expanded/valid/multiple-renditions-mapping-multiplenavs/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/multiple-renditions/mimetype b/src/test/resources/30/expanded/valid/multiple-renditions/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/multiple-renditions/mimetype
+++ b/src/test/resources/30/expanded/valid/multiple-renditions/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/non-edu-missing-lox/mimetype b/src/test/resources/30/expanded/valid/non-edu-missing-lox/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/non-edu-missing-lox/mimetype
+++ b/src/test/resources/30/expanded/valid/non-edu-missing-lox/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/page-list/mimetype b/src/test/resources/30/expanded/valid/page-list/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/page-list/mimetype
+++ b/src/test/resources/30/expanded/valid/page-list/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/preview-embedded/mimetype b/src/test/resources/30/expanded/valid/preview-embedded/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/preview-embedded/mimetype
+++ b/src/test/resources/30/expanded/valid/preview-embedded/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/preview-pub/mimetype b/src/test/resources/30/expanded/valid/preview-pub/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/preview-pub/mimetype
+++ b/src/test/resources/30/expanded/valid/preview-pub/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/svg-cover/mimetype b/src/test/resources/30/expanded/valid/svg-cover/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/svg-cover/mimetype
+++ b/src/test/resources/30/expanded/valid/svg-cover/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file
diff --git a/src/test/resources/30/expanded/valid/svg-referenced/mimetype b/src/test/resources/30/expanded/valid/svg-referenced/mimetype
index 37d8a2451..57ef03f24 100644
--- a/src/test/resources/30/expanded/valid/svg-referenced/mimetype
+++ b/src/test/resources/30/expanded/valid/svg-referenced/mimetype
@@ -1 +1 @@
-application/epub+zip
\ No newline at end of file
+application/epub+zip
\ No newline at end of file