2016-01-25 22:19:39 +03:00
|
|
|
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
|
|
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
2016-01-27 20:55:00 +03:00
|
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
2013-04-11 16:27:49 +04:00
|
|
|
|
|
|
|
// Test that very long strings do not hang the browser.
|
|
|
|
|
2015-06-29 18:37:00 +03:00
|
|
|
"use strict";
|
|
|
|
|
2015-09-21 20:07:31 +03:00
|
|
|
const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
|
2015-06-29 18:37:00 +03:00
|
|
|
"test/test-bug-859170-longstring-hang.html";
|
2014-08-09 21:20:20 +04:00
|
|
|
|
2015-12-23 02:06:35 +03:00
|
|
|
add_task(function* () {
|
2014-08-09 21:20:20 +04:00
|
|
|
yield loadTab(TEST_URI);
|
|
|
|
|
|
|
|
let hud = yield openConsole();
|
|
|
|
|
|
|
|
info("wait for the initial long string");
|
|
|
|
|
|
|
|
let results = yield waitForMessages({
|
|
|
|
webconsole: hud,
|
|
|
|
messages: [
|
|
|
|
{
|
|
|
|
name: "find 'foobar', no 'foobaz', in long string output",
|
|
|
|
text: "foobar",
|
|
|
|
noText: "foobaz",
|
|
|
|
category: CATEGORY_WEBDEV,
|
|
|
|
longString: true,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
|
|
|
|
let clickable = results[0].longStrings[0];
|
|
|
|
ok(clickable, "long string ellipsis is shown");
|
|
|
|
clickable.scrollIntoView(false);
|
|
|
|
|
|
|
|
EventUtils.synthesizeMouse(clickable, 2, 2, {}, hud.iframeWindow);
|
|
|
|
|
|
|
|
info("wait for long string expansion");
|
|
|
|
|
|
|
|
yield waitForMessages({
|
|
|
|
webconsole: hud,
|
|
|
|
messages: [
|
|
|
|
{
|
|
|
|
name: "find 'foobaz' after expand, but no 'boom!' at the end",
|
|
|
|
text: "foobaz",
|
|
|
|
noText: "boom!",
|
|
|
|
category: CATEGORY_WEBDEV,
|
|
|
|
longString: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
text: "too long to be displayed",
|
|
|
|
longString: false,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
});
|