Files
react-native-devtools-frontend/front_end/application_test_runner/ResourceTreeTestRunner.js
T
Paul Lewis 0a7c6b6b7e [Global] Update refs to UI.inspectorView
Bug: 1006759
Change-Id: I2770dd011ec47c98fb79fa6a48e306be3ad3fe4e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2017143
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
2020-01-23 16:37:10 +00:00

100 lines
2.8 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.
* @suppress {accessControls}
*/
ApplicationTestRunner.dumpResources = function(formatter) {
const results = [];
function formatterWrapper(resource) {
if (formatter) {
results.push({resource: resource, text: formatter(resource)});
} else {
results.push({resource: resource, text: resource.url});
}
}
TestRunner.resourceTreeModel.forAllResources(formatterWrapper);
function comparator(result1, result2) {
return result1.resource.url.localeCompare(result2.resource.url);
}
results.sort(comparator);
for (let i = 0; i < results.length; ++i) {
TestRunner.addResult(results[i].text);
}
};
ApplicationTestRunner.dumpResourcesURLMap = function() {
const results = [];
TestRunner.resourceTreeModel.forAllResources(collect);
function collect(resource) {
results.push({url: resource.url, resource: TestRunner.resourceTreeModel.resourceForURL(resource.url)});
}
function comparator(result1, result2) {
if (result1.url > result2.url) {
return 1;
}
if (result2.url > result1.url) {
return -1;
}
return 0;
}
results.sort(comparator);
for (let i = 0; i < results.length; ++i) {
TestRunner.addResult(results[i].url + ' == ' + results[i].resource.url);
}
};
ApplicationTestRunner.dumpResourcesTree = function() {
function dump(treeItem, prefix) {
if (typeof treeItem._resetBubble === 'function') {
treeItem._resetBubble();
}
TestRunner.addResult(prefix + treeItem.listItemElement.textContent);
treeItem.expand();
const children = treeItem.children();
for (let i = 0; children && i < children.length; ++i) {
dump(children[i], prefix + ' ');
}
}
dump(UI.panels.resources._sidebar._resourcesSection._treeElement, '');
if (!ApplicationTestRunner._testSourceNavigator) {
ApplicationTestRunner._testSourceNavigator = new Sources.NetworkNavigatorView();
ApplicationTestRunner._testSourceNavigator.show(self.UI.inspectorView.element);
}
SourcesTestRunner.dumpNavigatorViewInAllModes(ApplicationTestRunner._testSourceNavigator);
};
ApplicationTestRunner.dumpResourceTreeEverything = function() {
function format(resource) {
return resource.resourceType().name() + ' ' + resource.url;
}
TestRunner.addResult('Resources:');
ApplicationTestRunner.dumpResources(format);
TestRunner.addResult('');
TestRunner.addResult('Resources URL Map:');
ApplicationTestRunner.dumpResourcesURLMap();
TestRunner.addResult('');
TestRunner.addResult('Resources Tree:');
ApplicationTestRunner.dumpResourcesTree();
};