Files
react-native-devtools-frontend/front_end/legacy_test_runner/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js
T
Sigurd Schneider 9e9a51caf3 Update some test runners after underscore migration
Bug: chromium:1207342
Change-Id: I0ad653fd36421d8e14a013cf8d81cb5c94caffdf
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3104561
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-08-19 13:07:43 +00:00

40 lines
1.2 KiB
JavaScript

// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview using private properties isn't a Closure violation in tests.
*/
self.ElementsTestRunner = self.ElementsTestRunner || {};
ElementsTestRunner.selectReloadAndDump = function(next, node) {
ElementsTestRunner.selectNode(node).then(onSelected);
let reloaded = false;
let selected = false;
function onSelected() {
TestRunner.addSniffer(Elements.ElementsPanel.prototype, 'lastSelectedNodeSelectedForTest', onReSelected);
TestRunner.reloadPage(onReloaded);
}
function onReloaded() {
reloaded = true;
maybeDumpSelectedNode();
}
function onReSelected() {
selected = true;
maybeDumpSelectedNode();
}
function maybeDumpSelectedNode() {
if (!reloaded || !selected) {
return;
}
const selectedElement = ElementsTestRunner.firstElementsTreeOutline().selectedTreeElement;
const nodeName = (selectedElement ? selectedElement.node().nodeNameInCorrectCase() : 'null');
TestRunner.addResult('Selected node: \'' + nodeName + '\'');
next();
}
};