diff options
Diffstat (limited to 'comm/mailnews/news/test/unit/test_nntpPost.js')
-rw-r--r-- | comm/mailnews/news/test/unit/test_nntpPost.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/comm/mailnews/news/test/unit/test_nntpPost.js b/comm/mailnews/news/test/unit/test_nntpPost.js new file mode 100644 index 0000000000..e49aa81d92 --- /dev/null +++ b/comm/mailnews/news/test/unit/test_nntpPost.js @@ -0,0 +1,37 @@ +// Tests that the news can correctly post messages + +var { MailServices } = ChromeUtils.import( + "resource:///modules/MailServices.jsm" +); +var { PromiseTestUtils } = ChromeUtils.import( + "resource://testing-common/mailnews/PromiseTestUtils.jsm" +); + +/** + * Test dot is stuffed correctly when posting an article. + */ +add_task(async function test_nntpPost() { + // Setup test server. + let daemon = setupNNTPDaemon(); + let handler = new NNTP_RFC977_handler(daemon); + let server = new nsMailServer(() => handler, daemon); + server.start(); + registerCleanupFunction(() => server.stop()); + + // Send post3.eml to the server. + let localServer = setupLocalServer(server.port); + let testFile = do_get_file("postings/post3.eml"); + let urlListener = new PromiseTestUtils.PromiseUrlListener(); + MailServices.nntp.postMessage( + testFile, + "test.empty", + localServer.key, + urlListener, + null + ); + await urlListener.promise; + + // Because Nntpd.jsm undone the dot-stuffing, handler.post should be the same + // as the original post. + equal(handler.post, await IOUtils.readUTF8(testFile.path)); +}); |