Skip to content

Commit c2e8d4f

Browse files
authored
Improve developerMode updateURL (#431)
- Simplify the tag/suite/suites selection code by always deleting all searchParams first - Don't use tags if there is only one selected suite (previously selecting "React-Stockcharts-SVG" currently sets the "svg" tag which is a bit unexpected) - Compare against defaultParams for "measurementMethod" using the existing method for bool values
1 parent 400a5b8 commit c2e8d4f

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed

resources/developer-mode.mjs

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,10 @@ function updateURL() {
240240
// to comma separate only the selected
241241
const selectedSuites = Suites.filter((suite) => !suite.disabled);
242242

243-
if (!selectedSuites.length) {
244-
url.searchParams.delete("tags");
245-
url.searchParams.delete("suites");
246-
url.searchParams.delete("suite");
247-
} else {
248-
url.searchParams.delete("tags");
249-
url.searchParams.delete("suite");
243+
url.searchParams.delete("tags");
244+
url.searchParams.delete("suites");
245+
url.searchParams.delete("suite");
246+
if (selectedSuites.length) {
250247
// Try finding common tags that would result in the current suite selection.
251248
let commonTags = new Set(selectedSuites[0].tags);
252249
for (const suite of Suites) {
@@ -255,26 +252,18 @@ function updateURL() {
255252
else
256253
commonTags = new Set(suite.tags.filter((tag) => commonTags.has(tag)));
257254
}
258-
if (commonTags.size) {
255+
if (selectedSuites.length > 1 && commonTags.size) {
259256
const tags = [...commonTags][0];
260-
if (tags === "default")
261-
url.searchParams.delete("tags");
262-
else
257+
if (tags !== "default")
263258
url.searchParams.set("tags", tags);
264259
url.searchParams.delete("suites");
265260
} else {
266-
url.searchParams.delete("tags");
267261
url.searchParams.set("suites", selectedSuites.map((suite) => suite.name).join(","));
268262
}
269263
}
270264

271-
if (params.measurementMethod !== "raf")
272-
url.searchParams.set("measurementMethod", "timer");
273-
else
274-
url.searchParams.delete("measurementMethod");
275-
276-
const boolParamKeys = ["iterationCount", "useWarmupSuite", "warmupBeforeSync", "waitBeforeSync"];
277-
for (const paramKey of boolParamKeys) {
265+
const defaultParamKeys = ["measurementMethod", "iterationCount", "useWarmupSuite", "warmupBeforeSync", "waitBeforeSync"];
266+
for (const paramKey of defaultParamKeys) {
278267
if (params[paramKey] !== defaultParams[paramKey])
279268
url.searchParams.set(paramKey, params[paramKey]);
280269
else

0 commit comments

Comments
 (0)