summaryrefslogtreecommitdiffstats
path: root/comm/mailnews/mime/test/unit/test_mimeContentType.js
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mailnews/mime/test/unit/test_mimeContentType.js')
-rw-r--r--comm/mailnews/mime/test/unit/test_mimeContentType.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/comm/mailnews/mime/test/unit/test_mimeContentType.js b/comm/mailnews/mime/test/unit/test_mimeContentType.js
new file mode 100644
index 0000000000..fb40549f35
--- /dev/null
+++ b/comm/mailnews/mime/test/unit/test_mimeContentType.js
@@ -0,0 +1,82 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+function run_test() {
+ const headers = [
+ {
+ header:
+ "Content-Type: text/plain\r\n" +
+ "Content-Disposition: inline\r\n" +
+ "\r\n",
+ result: "text/plain",
+ },
+ {
+ header:
+ "Content-Type:\r\n" +
+ "\tapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n" +
+ "Content-Transfer-Encoding: base64\r\n" +
+ 'Content-Disposition: attachment; filename="List.xlsx"\r\n' +
+ "\r\n",
+ result:
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ },
+ {
+ header:
+ "Content-Type: \r\n" +
+ " application/vnd.openxmlformats-officedocument.presentationml.presentation;\r\n" +
+ ' name="Presentation.pptx"\r\n' +
+ "\r\n",
+ result:
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation;" +
+ ' name="Presentation.pptx"',
+ },
+ {
+ header:
+ "Content-Type:\r\n" +
+ "text/plain; charset=utf-8\r\n" +
+ "Content-Transfer-Encoding: quoted-printable\r\n" +
+ "Content-Disposition: inline\r\n" +
+ "\r\n",
+ result: "",
+ },
+ {
+ header: "Content-Type:\r\n\r\n",
+ result: "",
+ },
+ {
+ /* possible crash case for Bug 574961 */
+ header:
+ "Content-Type: \r\n" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " \r\n",
+ result: "",
+ },
+ ];
+
+ let mimeHdr = Cc["@mozilla.org/messenger/mimeheaders;1"].createInstance(
+ Ci.nsIMimeHeaders
+ );
+
+ for (let i = 0; i < headers.length; i++) {
+ mimeHdr.initialize(headers[i].header);
+ let receivedHeader = mimeHdr.extractHeader("Content-Type", false);
+
+ dump(
+ "\nTesting Content-Type: " +
+ receivedHeader +
+ " == " +
+ headers[i].result +
+ "\n"
+ );
+
+ Assert.equal(receivedHeader, headers[i].result);
+ }
+}