diff options
Diffstat (limited to 'comm/mailnews/mime/test/unit/test_mimeContentType.js')
-rw-r--r-- | comm/mailnews/mime/test/unit/test_mimeContentType.js | 82 |
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); + } +} |