summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/xpcshell/registertestactors-lazy.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/xpcshell/registertestactors-lazy.js')
-rw-r--r--devtools/server/tests/xpcshell/registertestactors-lazy.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/devtools/server/tests/xpcshell/registertestactors-lazy.js b/devtools/server/tests/xpcshell/registertestactors-lazy.js
new file mode 100644
index 0000000000..ef04e7a8d2
--- /dev/null
+++ b/devtools/server/tests/xpcshell/registertestactors-lazy.js
@@ -0,0 +1,43 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+var {
+ RetVal,
+ Actor,
+ FrontClassWithSpec,
+ generateActorSpec,
+} = require("resource://devtools/shared/protocol.js");
+
+const lazySpec = generateActorSpec({
+ typeName: "lazy",
+
+ methods: {
+ hello: {
+ response: { str: RetVal("string") },
+ },
+ },
+});
+
+class LazyActor extends Actor {
+ constructor(conn, id) {
+ super(conn, lazySpec);
+
+ Services.obs.notifyObservers(null, "actor", "instantiated");
+ }
+
+ hello(str) {
+ return "world";
+ }
+}
+exports.LazyActor = LazyActor;
+
+Services.obs.notifyObservers(null, "actor", "loaded");
+
+class LazyFront extends FrontClassWithSpec(lazySpec) {
+ constructor(client) {
+ super(client);
+ }
+}
+exports.LazyFront = LazyFront;