Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: asan
- Manifest: devtools/client/debugger/test/mochitest/browser_kz.toml
/* 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
// Check that switching between different previews doesn't release the underlying object actors
"use strict";
add_task(async function () {
const dbg = await initDebugger("doc-preview.html", "preview.js");
info(
"Check that switching between different previews doesn't release the underlying object actors"
);
invokeInTab("classPreview");
await waitForPaused(dbg);
const fooTokenEl = await getTokenFromPosition(dbg, { line: 50, column: 44 });
const privateStaticTokenEl = await getTokenFromPosition(dbg, {
line: 50,
column: 48,
});
hoverToken(fooTokenEl);
await waitForPreviewWithResult(dbg, "class Foo");
// We want the ObjectInspector component to be updated with new roots rather than destroyed and recreated.
// This is hard to trigger reliably so we switch between different previews multiple times with different delays.
info("Switch between different previews multiple times");
for (let i = 0; i < 5; i++) {
await waitForTime(i * 5);
hoverToken(privateStaticTokenEl);
await waitForPreviewWithResult(dbg, "Object");
hoverToken(fooTokenEl);
await waitForPreviewWithResult(dbg, "class Foo");
}
info("Try to expand a property");
await toggleExpanded(dbg, 3);
await waitForTime(1000);
ok(true, "The property was expanded");
});