rename from mailnews/base/test/unit/test_autoconfigUtils.js
rename to mail/components/test/unit/test_autoconfigUtils.js
--- a/mailnews/base/test/unit/test_autoconfigUtils.js
+++ b/mail/components/test/unit/test_autoconfigUtils.js
@@ -15,27 +15,21 @@
* - Test the returned CMDS.
* - Figure out what else to test.
*/
// Globals
ChromeUtils.import("resource://gre/modules/Services.jsm");
-var loaded = false;
-try {
- Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/util.js");
- Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/accountConfig.js");
- Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/sanitizeDatatypes.js");
- Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/guessConfig.js");
- loaded = true;
-} catch (ex) {
- // The "accountcreation" files are not available in SeaMonkey (yet).
- dump("loading accountcreation JS files failed: " + ex + "\n" + ex.stack + "\n");
-}
+Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/util.js");
+Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/accountConfig.js");
+Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/sanitizeDatatypes.js");
+Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/fetchhttp.js");
+Services.scriptloader.loadSubScript("chrome://messenger/content/accountcreation/guessConfig.js");
/*
* UTILITIES
*/
function assert(aBeTrue, aWhy)
{
if (!aBeTrue)
@@ -73,29 +67,33 @@ function assert_equal_try_orders(aA, aB)
};
/**
* Check that the POP calculations are correct for a given host and
* protocol.
*/
function checkPop(host, protocol)
{
+ // The list of protocol+ssl+port configurations should match
+ // getIncomingTryOrder() in guessConfig.js.
+ // SSL configs are separated until bug 1520283 is fixed.
+
// port == UNKNOWN
// [POP, TLS, 110], [POP, SSL, 995], [POP, NONE, 110]
// port != UNKNOWN
// ssl == UNKNOWN
// [POP, TLS, port], [POP, SSL, port], [POP, NONE, port]
// ssl != UNKNOWN
// [POP, ssl, port]
let ssl = UNKNOWN;
let port = UNKNOWN;
let tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[POP, TLS, 110],
- [POP, SSL, 995],
+ // [POP, SSL, 995],
[POP, NONE, 110]]);
ssl = TLS;
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[POP, ssl, 110]]);
ssl = SSL;
@@ -108,46 +106,50 @@ function checkPop(host, protocol)
assert_equal_try_orders(tryOrder,
[[POP, ssl, 110]]);
ssl = UNKNOWN;
port = 31337;
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[POP, TLS, port],
- [POP, SSL, port],
+ // [POP, SSL, port],
[POP, NONE, port]]);
for (ssl in [TLS, SSL, NONE]) {
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[POP, ssl, port]]);
}
};
/**
* Check that the IMAP calculations are correct for a given host and
* protocol.
*/
function checkImap(host, protocol)
{
+ // The list of protocol+ssl+port configurations should match
+ // getIncomingTryOrder() in guessConfig.js.
+ // SSL configs are separated until bug 1520283 is fixed.
+
// port == UNKNOWN
// [IMAP, TLS, 143], [IMAP, SSL, 993], [IMAP, NONE, 143]
// port != UNKNOWN
// ssl == UNKNONWN
// [IMAP, TLS, port], [IMAP, SSL, port], [IMAP, NONE, port]
// ssl != UNKNOWN
// [IMAP, ssl, port];
let ssl = UNKNOWN;
let port = UNKNOWN;
let tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, TLS, 143],
- [IMAP, SSL, 993],
+ // [IMAP, SSL, 993],
[IMAP, NONE, 143]]);
ssl = TLS;
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, ssl, 143]]);
ssl = SSL;
@@ -160,17 +162,17 @@ function checkImap(host, protocol)
assert_equal_try_orders(tryOrder,
[[IMAP, ssl, 143]]);
ssl = UNKNOWN;
port = 31337;
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, TLS, port],
- [IMAP, SSL, port],
+ // [IMAP, SSL, port],
[IMAP, NONE, port]]);
for (ssl in [TLS, SSL, NONE]) {
tryOrder = getIncomingTryOrder(host, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, ssl, port]]);
}
};
@@ -212,16 +214,20 @@ function test_getHostEntry()
[SMTP, NONE, 587]);
};
/**
* Test the getIncomingTryOrder method.
*/
function test_getIncomingTryOrder()
{
+ // The list of protocol+ssl+port configurations should match
+ // getIncomingTryOrder() in guessConfig.js.
+ // SSL configs are separated until bug 1520283 is fixed.
+
// protocol == POP || host starts with pop. || host starts with pop3.
checkPop( "example.com", POP );
checkPop( "pop.example.com", UNKNOWN );
checkPop( "pop3.example.com", UNKNOWN );
checkPop( "imap.example.com", POP );
// protocol == IMAP || host starts with imap.
checkImap( "example.com", IMAP );
@@ -230,63 +236,84 @@ function test_getIncomingTryOrder()
let domain = "example.com";
let protocol = UNKNOWN;
let ssl = UNKNOWN;
let port = UNKNOWN;
let tryOrder = getIncomingTryOrder(domain, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, TLS, 143],
- [IMAP, SSL, 993],
+ // [IMAP, SSL, 993],
[POP, TLS, 110],
- [POP, SSL, 995],
+ // [POP, SSL, 995],
[IMAP, NONE, 143],
[POP, NONE, 110]]);
+ ssl = SSL;
+ tryOrder = getIncomingTryOrder(domain, protocol, ssl, port);
+ assert_equal_try_orders(tryOrder,
+ [[IMAP, SSL, 993],
+ [POP, SSL, 995]]);
+
+ ssl = UNKNOWN;
port = 31337;
tryOrder = getIncomingTryOrder(domain, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[IMAP, TLS, port],
- [IMAP, SSL, port],
+ // [IMAP, SSL, port],
[POP, TLS, port],
- [POP, SSL, port],
+ // [POP, SSL, port],
[IMAP, NONE, port],
[POP, NONE, port]]);
+
+ ssl = SSL;
+ tryOrder = getIncomingTryOrder(domain, protocol, ssl, port);
+ assert_equal_try_orders(tryOrder,
+ [[IMAP, SSL, port],
+ [POP, SSL, port]]);
};
/**
* Test the getOutgoingTryOrder method.
*/
function test_getOutgoingTryOrder()
{
+ // The list of protocol+ssl+port configurations should match
+ // getOutgoingTryOrder() in guessConfig.js.
+ // SSL configs are separated until bug 1520283 is fixed.
let domain = "example.com";
let protocol = SMTP;
let ssl = UNKNOWN;
let port = UNKNOWN;
let tryOrder = getOutgoingTryOrder(domain, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[SMTP, TLS, 587],
[SMTP, TLS, 25],
- [SMTP, SSL, 465],
+ // [SMTP, SSL, 465],
[SMTP, NONE, 587],
[SMTP, NONE, 25]]);
+
+ ssl = SSL;
+ tryOrder = getOutgoingTryOrder(domain, protocol, ssl, port);
+ assert_equal_try_orders(tryOrder,
+ [[SMTP, SSL, 465]]);
+
+ ssl = UNKNOWN;
port = 31337
tryOrder = getOutgoingTryOrder(domain, protocol, ssl, port);
assert_equal_try_orders(tryOrder,
[[SMTP, TLS, port],
- [SMTP, SSL, port],
+ // [SMTP, SSL, port],
[SMTP, NONE, port]]);
+
+ ssl = SSL;
+ tryOrder = getOutgoingTryOrder(domain, protocol, ssl, port);
+ assert_equal_try_orders(tryOrder,
+ [[SMTP, SSL, port]]);
};
function run_test()
{
- if (!loaded)
- {
- // if you see this with Thunderbird, then it's an error
- dump("INFO | test_autoconfigUtils.js not running, because this is SeaMonkey.\n");
- return true;
- }
-
test_getHostEntry();
test_getIncomingTryOrder();
test_getOutgoingTryOrder();
};