зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1467712 - Fail if SimpleTest ok() is called with more than 2 arguments;r=Standard8
Depends on D10417 Differential Revision: https://phabricator.services.mozilla.com/D10418 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
b346dbfd69
Коммит
260b1e16a3
|
@ -499,7 +499,7 @@ async function performLargePopupTests(win) {
|
|||
|
||||
// Dragging above the popup scrolls it up.
|
||||
EventUtils.synthesizeMouseAtPoint(popupRect.left + 20, popupRect.top - 20, { type: "mousemove" }, win);
|
||||
ok(selectPopup.scrollBox.scrollTop, scrollPos, "scroll position at drag up from option");
|
||||
is(selectPopup.scrollBox.scrollTop, scrollPos, "scroll position at drag up from option");
|
||||
|
||||
scrollPos = selectPopup.scrollBox.scrollTop;
|
||||
EventUtils.synthesizeMouseAtPoint(popupRect.left + 20, popupRect.bottom + 25, { type: "mouseup" }, win);
|
||||
|
|
|
@ -11,7 +11,7 @@ function test() {
|
|||
BrowserTestUtils.addTab(gBrowser, "data:text/html,<html><head><link href='about:logo' rel='shortcut icon'>");
|
||||
}
|
||||
|
||||
function record(aName) {
|
||||
function recordEvent(aName) {
|
||||
info("got " + aName);
|
||||
if (!actual.includes(aName))
|
||||
actual.push(aName);
|
||||
|
@ -31,20 +31,20 @@ function record(aName) {
|
|||
|
||||
function TabOpen(aEvent) {
|
||||
if (aEvent.target == tab)
|
||||
record("TabOpen");
|
||||
recordEvent("TabOpen");
|
||||
}
|
||||
|
||||
var progressListener = {
|
||||
onLocationChange: function onLocationChange(aBrowser) {
|
||||
if (aBrowser == tab.linkedBrowser)
|
||||
record("onLocationChange");
|
||||
recordEvent("onLocationChange");
|
||||
},
|
||||
onStateChange: function onStateChange(aBrowser) {
|
||||
if (aBrowser == tab.linkedBrowser)
|
||||
record("onStateChange");
|
||||
recordEvent("onStateChange");
|
||||
},
|
||||
onLinkIconAvailable: function onLinkIconAvailable(aBrowser) {
|
||||
if (aBrowser == tab.linkedBrowser)
|
||||
record("onLinkIconAvailable");
|
||||
recordEvent("onLinkIconAvailable");
|
||||
},
|
||||
};
|
||||
|
|
|
@ -38,7 +38,11 @@ function runTest() {
|
|||
seenLocationChange = true;
|
||||
ok(seenLoadStart, 'Location change after load start.');
|
||||
ok(!seenLoadEnd, 'Location change before load end.');
|
||||
ok(e.detail.url, browserElementTestHelpers.emptyPage1, "event's reported location");
|
||||
// XXX: Switched to from ok() to todo_is() in Bug 1467712. Follow up in 1503862
|
||||
// Fails with: event's reported location -
|
||||
// got "http://example.com/tests/dom/browser-element/mochitest/file_browserElement_LoadEvents.html",
|
||||
// expected "http://example.com/tests/dom/browser-element/mochitest/file_empty.html"
|
||||
todo_is(e.detail.url, browserElementTestHelpers.emptyPage1, "event's reported location");
|
||||
}
|
||||
|
||||
function loadend(e) {
|
||||
|
@ -91,7 +95,7 @@ function runTest2() {
|
|||
seenLocationChange = true;
|
||||
ok(seenLoadStart, 'Location change after load start.');
|
||||
ok(!seenLoadEnd, 'Location change before load end.');
|
||||
ok(e.detail.url, browserElementTestHelpers.emptyPage2, "event's reported location");
|
||||
is(e.detail.url, browserElementTestHelpers.emptyPage2, "event's reported location");
|
||||
});
|
||||
|
||||
iframe.addEventListener('mozbrowserloadend', function(e) {
|
||||
|
|
|
@ -33,7 +33,16 @@ SimpleTest._stopOnLoad = true;
|
|||
/**
|
||||
* Something like assert.
|
||||
**/
|
||||
SimpleTest.ok = function (condition, name, diag) {
|
||||
SimpleTest.ok = function (condition, name) {
|
||||
if (arguments.length > 2) {
|
||||
const diag = "Too many arguments passed to `ok(condition, name)`";
|
||||
SimpleTest.record(false, name, diag);
|
||||
} else {
|
||||
SimpleTest.record(condition, name);
|
||||
}
|
||||
}
|
||||
|
||||
SimpleTest.record = function (condition, name, diag) {
|
||||
var test = {'result': !!condition, 'name': name, 'diag': diag || ""};
|
||||
if (SimpleTest._logEnabled)
|
||||
SimpleTest._logResult(test, "TEST-PASS", "TEST-UNEXPECTED-FAIL");
|
||||
|
@ -45,12 +54,12 @@ SimpleTest.ok = function (condition, name, diag) {
|
|||
**/
|
||||
SimpleTest.is = function (a, b, name) {
|
||||
var repr = MochiKit.Base.repr;
|
||||
SimpleTest.ok(a == b, name, "got " + repr(a) + ", expected " + repr(b));
|
||||
SimpleTest.record(a == b, name, "got " + repr(a) + ", expected " + repr(b));
|
||||
};
|
||||
|
||||
SimpleTest.isnot = function (a, b, name) {
|
||||
var repr = MochiKit.Base.repr;
|
||||
SimpleTest.ok(a != b, name, "Didn't expect " + repr(a) + ", but got it.");
|
||||
SimpleTest.record(a != b, name, "Didn't expect " + repr(a) + ", but got it.");
|
||||
};
|
||||
|
||||
// --------------- Test.Builder/Test.More todo() -----------------
|
||||
|
@ -424,11 +433,11 @@ SimpleTest.isa = function (object, clas) {
|
|||
};
|
||||
|
||||
if ( parent.SimpleTest && parent.runAJAXTest ) (function(){
|
||||
var oldOK = SimpleTest.ok;
|
||||
var oldRecord = SimpleTest.record;
|
||||
|
||||
SimpleTest.ok = function(condition, name, diag) {
|
||||
parent.SimpleTest.ok( condition, name, diag );
|
||||
return oldOK( condition, name, diag );
|
||||
SimpleTest.record = function(condition, name, diag, stack) {
|
||||
parent.SimpleTest.record( condition, name, diag, stack );
|
||||
return oldRecord( condition, name, diag, stack );
|
||||
};
|
||||
|
||||
var oldFinish = SimpleTest.finish;
|
||||
|
@ -441,6 +450,7 @@ if ( parent.SimpleTest && parent.runAJAXTest ) (function(){
|
|||
|
||||
// Global symbols:
|
||||
var ok = SimpleTest.ok;
|
||||
var record = SimpleTest.record;
|
||||
var is = SimpleTest.is;
|
||||
var isnot = SimpleTest.isnot;
|
||||
var todo = SimpleTest.todo;
|
||||
|
|
|
@ -113,7 +113,7 @@ var ContentMessageListener = {
|
|||
}
|
||||
} else if (aMessage.name == "content-task:test-result") {
|
||||
let data = aMessage.data;
|
||||
ContentTask._testScope.ok(data.condition, data.name, null, data.stack);
|
||||
ContentTask._testScope.record(data.condition, data.name, null, data.stack);
|
||||
} else if (aMessage.name == "content-task:test-info") {
|
||||
ContentTask._testScope.info(aMessage.data.name);
|
||||
} else if (aMessage.name == "content-task:test-todo") {
|
||||
|
|
|
@ -17,7 +17,7 @@ ChromeUtils.defineModuleGetter(this, "ContentSearch",
|
|||
"resource:///modules/ContentSearch.jsm");
|
||||
|
||||
const SIMPLETEST_OVERRIDES =
|
||||
["ok", "is", "isnot", "todo", "todo_is", "todo_isnot", "info", "expectAssertions", "requestCompleteLog"];
|
||||
["ok", "record", "is", "isnot", "todo", "todo_is", "todo_isnot", "info", "expectAssertions", "requestCompleteLog"];
|
||||
|
||||
setTimeout(testInit, 0);
|
||||
|
||||
|
@ -1289,7 +1289,15 @@ function testScope(aTester, aTest, expected) {
|
|||
aTest.allowFailure = expected == "fail";
|
||||
|
||||
var self = this;
|
||||
this.ok = function test_ok(condition, name, ex, stack) {
|
||||
this.ok = function test_ok(condition, name) {
|
||||
if (arguments.length > 2) {
|
||||
const ex = "Too many arguments passed to ok(condition, name)`.";
|
||||
self.record(false, name, ex);
|
||||
} else {
|
||||
self.record(condition, name);
|
||||
}
|
||||
};
|
||||
this.record = function test_record(condition, name, ex, stack) {
|
||||
aTest.addResult(new testResult({
|
||||
name, pass: condition, ex,
|
||||
stack: stack || Components.stack.caller,
|
||||
|
@ -1297,11 +1305,11 @@ function testScope(aTester, aTest, expected) {
|
|||
}));
|
||||
};
|
||||
this.is = function test_is(a, b, name) {
|
||||
self.ok(a == b, name, "Got " + a + ", expected " + b, false,
|
||||
self.record(a == b, name, "Got " + a + ", expected " + b, false,
|
||||
Components.stack.caller);
|
||||
};
|
||||
this.isnot = function test_isnot(a, b, name) {
|
||||
self.ok(a != b, name, "Didn't expect " + a + ", but got it", false,
|
||||
self.record(a != b, name, "Didn't expect " + a + ", but got it", false,
|
||||
Components.stack.caller);
|
||||
};
|
||||
this.todo = function test_todo(condition, name, ex, stack) {
|
||||
|
|
|
@ -25,7 +25,8 @@ function starttest() {
|
|||
info("Logging some info")
|
||||
|
||||
//basic usage
|
||||
ok(true, "test ok", "This should be true");
|
||||
ok(true, "test ok");
|
||||
SimpleTest.record(true, "test ok", "diagnostic information");
|
||||
is(0, 0, "is() test failed");
|
||||
isnot(0, 1, "isnot() test failed");
|
||||
|
||||
|
|
|
@ -267,8 +267,16 @@ SimpleTest.setExpected();
|
|||
/**
|
||||
* Something like assert.
|
||||
**/
|
||||
SimpleTest.ok = function (condition, name, diag, stack = null) {
|
||||
SimpleTest.ok = function (condition, name) {
|
||||
if (arguments.length > 2) {
|
||||
const diag = "Too many arguments passed to `ok(condition, name)`";
|
||||
SimpleTest.record(false, name, diag);
|
||||
} else {
|
||||
SimpleTest.record(condition, name);
|
||||
}
|
||||
};
|
||||
|
||||
SimpleTest.record = function (condition, name, diag, stack) {
|
||||
var test = {'result': !!condition, 'name': name, 'diag': diag};
|
||||
if (SimpleTest.expected == 'fail') {
|
||||
if (!test.result) {
|
||||
|
@ -309,19 +317,19 @@ SimpleTest.is = function (a, b, name) {
|
|||
// Be lazy and use Object.is til we want to test a browser without it.
|
||||
var pass = Object.is(a, b);
|
||||
var diag = pass ? "" : "got " + repr(a) + ", expected " + repr(b)
|
||||
SimpleTest.ok(pass, name, diag);
|
||||
SimpleTest.record(pass, name, diag);
|
||||
};
|
||||
|
||||
SimpleTest.isfuzzy = function (a, b, epsilon, name) {
|
||||
var pass = (a >= b - epsilon) && (a <= b + epsilon);
|
||||
var diag = pass ? "" : "got " + repr(a) + ", expected " + repr(b) + " epsilon: +/- " + repr(epsilon)
|
||||
SimpleTest.ok(pass, name, diag);
|
||||
SimpleTest.record(pass, name, diag);
|
||||
};
|
||||
|
||||
SimpleTest.isnot = function (a, b, name) {
|
||||
var pass = !Object.is(a, b);
|
||||
var diag = pass ? "" : "didn't expect " + repr(a) + ", but got it";
|
||||
SimpleTest.ok(pass, name, diag);
|
||||
SimpleTest.record(pass, name, diag);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1577,9 +1585,9 @@ SimpleTest.isDeeply = function (it, as, name) {
|
|||
var stack = [{ vals: [it, as] }];
|
||||
var seen = [];
|
||||
if ( SimpleTest._deepCheck(it, as, stack, seen)) {
|
||||
SimpleTest.ok(true, name);
|
||||
SimpleTest.record(true, name);
|
||||
} else {
|
||||
SimpleTest.ok(false, name, SimpleTest._formatStack(stack));
|
||||
SimpleTest.record(false, name, SimpleTest._formatStack(stack));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1602,6 +1610,7 @@ SimpleTest.isa = function (object, clas) {
|
|||
|
||||
// Global symbols:
|
||||
var ok = SimpleTest.ok;
|
||||
var record = SimpleTest.record;
|
||||
var is = SimpleTest.is;
|
||||
var isfuzzy = SimpleTest.isfuzzy;
|
||||
var isnot = SimpleTest.isnot;
|
||||
|
@ -1631,8 +1640,9 @@ window.onerror = function simpletestOnerror(errorMsg, url, lineNumber,
|
|||
}
|
||||
if (!SimpleTest._ignoringAllUncaughtExceptions) {
|
||||
// Don't log if SimpleTest.finish() is already called, it would cause failures
|
||||
if (!SimpleTest._alreadyFinished)
|
||||
SimpleTest.ok(isExpected, message, error);
|
||||
if (!SimpleTest._alreadyFinished) {
|
||||
SimpleTest.record(isExpected, message, error);
|
||||
}
|
||||
SimpleTest._expectingUncaughtException = false;
|
||||
} else {
|
||||
SimpleTest.todo(false, message + ": " + error);
|
||||
|
|
|
@ -43,6 +43,7 @@ module.exports = {
|
|||
"isnot": false,
|
||||
"ok": false,
|
||||
"privateNoteIntentionalCrash": false,
|
||||
"record": false,
|
||||
"registerCleanupFunction": false,
|
||||
"requestLongerTimeout": false,
|
||||
"setExpectedFailuresForSelfTest": false,
|
||||
|
|
Загрузка…
Ссылка в новой задаче