michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: "use strict"; michael@0: michael@0: const Profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler); michael@0: michael@0: function check_actors(expect) { michael@0: do_check_eq(expect, DebuggerServer.tabActorFactories.hasOwnProperty("registeredActor1")); michael@0: do_check_eq(expect, DebuggerServer.tabActorFactories.hasOwnProperty("registeredActor2")); michael@0: michael@0: do_check_eq(expect, DebuggerServer.globalActorFactories.hasOwnProperty("registeredActor2")); michael@0: do_check_eq(expect, DebuggerServer.globalActorFactories.hasOwnProperty("registeredActor1")); michael@0: } michael@0: michael@0: function run_test() michael@0: { michael@0: DebuggerServer.init(function () { return true; }); michael@0: // The xpcshell-test/ path maps to resource://test/ michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-01"); michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-02"); michael@0: michael@0: check_actors(true); michael@0: michael@0: check_except(() => { michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-01"); michael@0: }); michael@0: check_except(() => { michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-02"); michael@0: }); michael@0: michael@0: DebuggerServer.unregisterModule("xpcshell-test/registertestactors-01"); michael@0: DebuggerServer.unregisterModule("xpcshell-test/registertestactors-02"); michael@0: check_actors(false); michael@0: michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-01"); michael@0: DebuggerServer.registerModule("xpcshell-test/registertestactors-02"); michael@0: check_actors(true); michael@0: michael@0: DebuggerServer.destroy(); michael@0: check_actors(false); michael@0: } michael@0: