Files
sousa-gecko/devtools/client/webconsole/test/browser/browser_webconsole_longstring_getter.js
T
Alexandre Poirot 27ee6fdd0f Bug 1906125 - [devtools] Unify VirtualizedTree and Tree CSS and move SourcesTree specifics to Tree. r=devtools-reviewers,nchevobbe
- make them both use .theme-twisty to show an arrow icon.
- move some specifics stylings of SourcesTree to the base class.
- make SourcesTree use the arrow React component provided by Tree class.
- use .theme-twisty instead of .arrow (which already implements rotation and colors on expand). But it uses "open" instead of "expanded" classname.
  (VirtualizedTree was already using theme-twisty)

This impacts the Source Tree, ObjectInspector (console, debugger), Watch Expressions, memory panel (dominator view).

Differential Revision: https://phabricator.services.mozilla.com/D215637
2024-07-10 21:25:46 +00:00

49 lines
1.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// Test that getter properties that return long strings can be expanded. See Bug 1481833.
"use strict";
const LONGSTRING = "a ".repeat(10000);
const TEST_URI = `data:text/html,<!DOCTYPE html>Test expanding longString getter property
<svg>
<image xlink:href="data:image/png;base64,${LONGSTRING}"></image>
</svg>
<script>
console.dir("Test message", document.querySelector("svg image").href);
</script>`;
add_task(async function () {
const hud = await openNewTabAndConsole(TEST_URI);
// Retrieve the logged message.
const message = await waitFor(() =>
findConsoleAPIMessage(hud, "Test message")
);
// Wait until the SVGAnimatedString is expanded.
await waitFor(() => message.querySelectorAll(".theme-twisty").length > 1);
const arrow = message.querySelectorAll(".theme-twisty")[1];
ok(arrow, "longString expand arrow is shown");
info("wait for long string expansion");
const onLongStringFullTextDisplayed = waitFor(() =>
findConsoleAPIMessage(hud, LONGSTRING)
);
arrow.click();
await onLongStringFullTextDisplayed;
ok(true, "The full text of the longString is displayed");
info("wait for long string collapse");
const onLongStringCollapsed = waitFor(
() => !findConsoleAPIMessage(hud, LONGSTRING)
);
arrow.click();
await onLongStringCollapsed;
ok(true, "The longString can be collapsed");
});