summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js')
-rw-r--r--devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js b/devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js
new file mode 100644
index 0000000000..66ead70094
--- /dev/null
+++ b/devtools/client/performance-new/test/browser/browser_aboutprofiling-presets.js
@@ -0,0 +1,54 @@
+/* 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/. */
+
+"use strict";
+
+add_task(async function test() {
+ info("Test that about:profiling presets configure the profiler");
+
+ if (!Services.profiler.GetFeatures().includes("stackwalk")) {
+ ok(true, "This platform does not support stackwalking, skip this test.");
+ return;
+ }
+ // This test assumes that the Web Developer preset is set by default, which is
+ // not the case on Nightly and custom builds.
+ BackgroundJSM.changePreset(
+ "aboutprofiling",
+ "web-developer",
+ Services.profiler.GetFeatures()
+ );
+
+ await withAboutProfiling(async document => {
+ const webdev = await getNearestInputFromText(document, "Web Developer");
+ ok(webdev.checked, "By default the Web Developer preset is selected.");
+
+ ok(
+ !activeConfigurationHasFeature("stackwalk"),
+ "Stackwalking is not enabled for the Web Developer workflow"
+ );
+
+ const graphics = await getNearestInputFromText(document, "Graphics");
+
+ ok(!graphics.checked, "The Graphics preset is not checked.");
+ graphics.click();
+ ok(
+ graphics.checked,
+ "After clicking the input, the Graphics preset is now checked."
+ );
+
+ ok(
+ activeConfigurationHasFeature("stackwalk"),
+ "The graphics preset uses stackwalking."
+ );
+
+ const media = await getNearestInputFromText(document, "Media");
+
+ ok(!media.checked, "The media preset is not checked.");
+ media.click();
+ ok(
+ media.checked,
+ "After clicking the input, the Media preset is now checked."
+ );
+ });
+});