summaryrefslogtreecommitdiffstats
path: root/toolkit/modules/tests/browser/browser_Deprecated.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/modules/tests/browser/browser_Deprecated.js')
-rw-r--r--toolkit/modules/tests/browser/browser_Deprecated.js157
1 files changed, 0 insertions, 157 deletions
diff --git a/toolkit/modules/tests/browser/browser_Deprecated.js b/toolkit/modules/tests/browser/browser_Deprecated.js
deleted file mode 100644
index 3217bdd22..000000000
--- a/toolkit/modules/tests/browser/browser_Deprecated.js
+++ /dev/null
@@ -1,157 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var Ci = Components.interfaces;
-var Cu = Components.utils;
-const PREF_DEPRECATION_WARNINGS = "devtools.errorconsole.deprecation_warnings";
-
-Cu.import("resource://gre/modules/Services.jsm", this);
-Cu.import("resource://gre/modules/Deprecated.jsm", this);
-
-// Using this named functions to test deprecation and the properly logged
-// callstacks.
-function basicDeprecatedFunction () {
- Deprecated.warning("this method is deprecated.", "http://example.com");
- return true;
-}
-
-function deprecationFunctionBogusCallstack () {
- Deprecated.warning("this method is deprecated.", "http://example.com", {
- caller: {}
- });
- return true;
-}
-
-function deprecationFunctionCustomCallstack () {
- // Get the nsIStackFrame that will contain the name of this function.
- function getStack () {
- return Components.stack;
- }
- Deprecated.warning("this method is deprecated.", "http://example.com",
- getStack());
- return true;
-}
-
-var tests = [
-// Test deprecation warning without passing the callstack.
-{
- deprecatedFunction: basicDeprecatedFunction,
- expectedObservation: function (aMessage) {
- testAMessage(aMessage);
- ok(aMessage.errorMessage.indexOf("basicDeprecatedFunction") > 0,
- "Callstack is correctly logged.");
- }
-},
-// Test a reported error when URL to documentation is not passed.
-{
- deprecatedFunction: function () {
- Deprecated.warning("this method is deprecated.");
- return true;
- },
- expectedObservation: function (aMessage) {
- ok(aMessage.errorMessage.indexOf("must provide a URL") > 0,
- "Deprecation warning logged an empty URL argument.");
- }
-},
-// Test deprecation with a bogus callstack passed as an argument (it will be
-// replaced with the current call stack).
-{
- deprecatedFunction: deprecationFunctionBogusCallstack,
- expectedObservation: function (aMessage) {
- testAMessage(aMessage);
- ok(aMessage.errorMessage.indexOf("deprecationFunctionBogusCallstack") > 0,
- "Callstack is correctly logged.");
- }
-},
-// When pref is unset Deprecated.warning should not log anything.
-{
- deprecatedFunction: basicDeprecatedFunction,
- expectedObservation: null,
- // Set pref to false.
- logWarnings: false
-},
-// Test deprecation with a valid custom callstack passed as an argument.
-{
- deprecatedFunction: deprecationFunctionCustomCallstack,
- expectedObservation: function (aMessage) {
- testAMessage(aMessage);
- ok(aMessage.errorMessage.indexOf("deprecationFunctionCustomCallstack") > 0,
- "Callstack is correctly logged.");
- },
- // Set pref to true.
- logWarnings: true
-}];
-
-// Which test are we running now?
-var idx = -1;
-
-function test() {
- waitForExplicitFinish();
-
- // Check if Deprecated is loaded.
- ok(Deprecated, "Deprecated object exists");
-
- nextTest();
-}
-
-// Test Consle Message attributes.
-function testAMessage (aMessage) {
- ok(aMessage.errorMessage.indexOf("DEPRECATION WARNING: " +
- "this method is deprecated.") === 0,
- "Deprecation is correctly logged.");
- ok(aMessage.errorMessage.indexOf("http://example.com") > 0,
- "URL is correctly logged.");
-}
-
-function nextTest() {
- idx++;
-
- if (idx == tests.length) {
- finish();
- return;
- }
-
- info("Running test #" + idx);
- let test = tests[idx];
-
- // Deprecation warnings will be logged only when the preference is set.
- if (typeof test.logWarnings !== "undefined") {
- Services.prefs.setBoolPref(PREF_DEPRECATION_WARNINGS, test.logWarnings);
- }
-
- // Create a console listener.
- let consoleListener = {
- observe: function (aMessage) {
- // Ignore unexpected messages.
- if (!(aMessage instanceof Ci.nsIScriptError)) {
- return;
- }
- if (aMessage.errorMessage.indexOf("DEPRECATION WARNING: ") < 0 &&
- aMessage.errorMessage.indexOf("must provide a URL") < 0) {
- return;
- }
- ok(aMessage instanceof Ci.nsIScriptError,
- "Deprecation log message is an instance of type nsIScriptError.");
-
-
- if (test.expectedObservation === null) {
- ok(false, "Deprecated warning not expected");
- }
- else {
- test.expectedObservation(aMessage);
- }
-
- Services.console.unregisterListener(consoleListener);
- executeSoon(nextTest);
- }
- };
- Services.console.registerListener(consoleListener);
- test.deprecatedFunction();
- if (test.expectedObservation === null) {
- executeSoon(function() {
- Services.console.unregisterListener(consoleListener);
- executeSoon(nextTest);
- });
- }
-}