There are some places where we have a thing which may not even be a node, and
we end up hardcoding the value of DOCUMENT_NODE there, because
"foo.nodeType == foo.DOCUMENT_NODE" will test true if foo is not a node: both
sides will be undefined.
In older builds, task functions were allowed to return generators, which were
automatically wrapped into tasks using Task.jsm. This model is no longer
supported, so to prevent it from passing silently, we should check for and
reject uses of the old pattern.
MozReview-Commit-ID: 4cHo7pEqYJn
The directory service caches certain directory entries, or has them set by
other callers using `.set()`. When we try to override those directories with
custom providers, the cached value still takes precedence.
It might make more sense to just store the directory entry values directly in
the directory service's hash, but this patch just takes the less obtrusive
path of clearing cached values for keys that we override.
This patch also fixes the few instances where add-on manager tests leave files
in the global temporary directory which are now caught by the shutdown
assertions.
MozReview-Commit-ID: Jq92TngLO1L
The xpcshell harness tries to filter out head.js stack frames when reporting
errors. When it fails, it tends to report strange error locations, with the
name of a unit test file, but the line number of a line in a head file. This
changes the filter to match more common head.js files, such as head_addons.js.
MozReview-Commit-ID: FASWNSR0Noc
The xpcshell harness expects to catch the Cr result codes that it throws, but
it often fails when an assertion is used in asynchronous code. That results in
a raw numeric error code being reported, with no location information
available to figure out why or where the test is failing.
Throwing an actual Exception object maintains location information for use
when the error is reported.
MozReview-Commit-ID: InuytWhDxBP
Most of the codebase that needs to create a debugger server
can use a server with all actors registered.
Define an additional method registerAllActors to do that.
By previous implementations, all the call sites that were
using browser: true were indirectly using tab & root: true
as well. So all the call sites using browser: true have been
migrated to registerAllActors and the specific behavior of
the browser: true case has been removed. Passing browser:true
to registerActors now only registers browser specific actors.
MozReview-Commit-ID: F3sx71eGrdG
This adds a global instance that can be used by invoking assertion methods directly on the imported Assert object. The test suites set the global reporter function to the one for the currently running test.
MozReview-Commit-ID: 8dksVc9o7r
This suite already had `add_task.skip(aTask)` and `add_task.only(aTask)`
implemented, which required quite a bit more boilerplate code to get them right.
I removed this API in favor of `add_task(aTask).skip()` and `add_task(aTask).only()`
so that it's the same signature as Mochitest-browser and Mochitest-chrome.
I also noticed that `add_task` was defined twice, right above the other, which
was of course the latest version. I removed the latter.
MozReview-Commit-ID: BSCCXorzSlC
A number of places in JS need to drain the current thread's event queue,
which cannot be done with nsIThreadManager::spinEventLoopUntil, since we
need to not wait for an incoming event when attempting to process one.
Remove the forbiddenURI pref which was removed in bug 1274893 as well
as browser.safebrowsing.enabled which got renamed in bug 1025965.
Set dummy URLs for all of the network endpoints.
MozReview-Commit-ID: Efk2fv6cC3g