summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js')
-rw-r--r--devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js b/devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js
new file mode 100644
index 000000000..a36577320
--- /dev/null
+++ b/devtools/server/tests/unit/test_profiler_getsharedlibraryinformation.js
@@ -0,0 +1,45 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Tests whether the profiler responds to "getSharedLibraryInformation" adequately.
+ */
+
+const Profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
+
+function run_test()
+{
+ get_chrome_actors((client, form) => {
+ let actor = form.profilerActor;
+ test_getsharedlibraryinformation(client, actor, () => {
+ client.close().then(() => {
+ do_test_finished();
+ });
+ });
+ });
+
+ do_test_pending();
+}
+
+function test_getsharedlibraryinformation(client, actor, callback)
+{
+ client.request({ to: actor, type: "getSharedLibraryInformation" }, response => {
+ do_check_eq(typeof response.sharedLibraryInformation, "string");
+ let libs = [];
+ try {
+ libs = JSON.parse(response.sharedLibraryInformation);
+ } catch (e) {
+ do_check_true(false);
+ }
+ do_check_eq(typeof libs, "object");
+ do_check_true(libs.length >= 1);
+ do_check_eq(typeof libs[0], "object");
+ do_check_eq(typeof libs[0].name, "string");
+ do_check_eq(typeof libs[0].start, "number");
+ do_check_eq(typeof libs[0].end, "number");
+ do_check_true(libs[0].start <= libs[0].end);
+ callback();
+ });
+}