Bug 676025 - Websockets - failure to connect should generate onerror r=sicking

This commit is contained in:
Patrick McManus 2011-08-03 12:42:04 -04:00
Родитель a83ee88943
Коммит 6512f1ba68
2 изменённых файлов: 21 добавлений и 6 удалений

Просмотреть файл

@ -531,7 +531,7 @@ nsWebSocketEstablishedConnection::OnStop(nsISupports *aContext,
if (NS_FAILED(aStatusCode)) {
ConsoleError();
if (mOwner && mOwner->mReadyState != nsIMozWebSocket::CONNECTING) {
if (mOwner) {
nsresult rv =
mOwner->CreateAndDispatchSimpleEvent(NS_LITERAL_STRING("error"));
if (NS_FAILED(rv))

Просмотреть файл

@ -104,6 +104,10 @@ function shouldCloseNotCleanly(e)
ok(!e.wasClean, "the ws connection in test " + ws._testNumber + " shouldn't be closed cleanly");
}
function ignoreError(e)
{
}
function CreateTestWS(ws_location, ws_protocol)
{
var ws;
@ -220,11 +224,18 @@ function test2()
function test3()
{
var hasError = false;
var ws = CreateTestWS("ws://this.websocket.server.probably.does.not.exist");
ws.onopen = shouldNotOpen;
ws.onerror = function (e)
{
hasError = true;
}
ws.onclose = function(e)
{
shouldCloseNotCleanly(e);
ok(hasError, "rcvd onerror event");
doTest(4);
};
}
@ -540,6 +551,7 @@ function test18()
{
var ws = CreateTestWS("ws://mochi.test:8888/tests/content/base/test/file_websocket_http_resource.txt");
ws.onopen = shouldNotOpen;
ws.onerror = ignoreError;
ws.onclose = function(e)
{
shouldCloseNotCleanly(e);
@ -551,6 +563,7 @@ function test19()
{
var ws = CreateTestWS("ws://mochi.test:8888/tests/content/base/test/file_websocket", "test-19");
ws.onopen = shouldNotOpen;
ws.onerror = ignoreError;
ws.onclose = function(e)
{
shouldCloseNotCleanly(e);
@ -638,6 +651,7 @@ function test22()
{
var ws = CreateTestWS("ws://mochi.test:8888/tests/content/base/test/file_websocket", "test-22");
ws.onopen = shouldNotOpen;
ws.onerror = ignoreError;
ws.onclose = function(e)
{
shouldCloseNotCleanly(e);
@ -672,11 +686,12 @@ function test25()
var prots=[];
var ws = CreateTestWS("ws://mochi.test:8888/tests/content/base/test/file_websocket", prots);
ws.onopen = function(e)
{
ok(true, "test 25 protocol array open");
ws.close();
};
// This test errors because the server requires a sub-protocol, but
// the test just wants to ensure that the ctor doesn't generate an
// exception
ws.onerror = ignoreError;
ws.onopen = shouldNotOpen;
ws.onclose = function(e)
{