blob: 7eadebc1eb26e2c9f8ec37924938aa8bdf5eee11 [file] [log] [blame]
// 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.
(async function() {
TestRunner.addResult(
`Tests that valid parsed script notifications are received by front-end.`);
await TestRunner.loadModule('sources_test_runner');
await TestRunner.showPanel('sources');
await TestRunner.navigatePromise('resources/debugger-scripts.html');
var scripts = [];
SourcesTestRunner.startDebuggerTest(step1);
function step1() {
SourcesTestRunner.queryScripts(function(script) {
step2({data: script});
});
TestRunner.debuggerModel.addEventListener(
SDK.DebuggerModel.Events.ParsedScriptSource, step2);
}
function step2(event) {
var script = event.data;
if (script.sourceURL !== TestRunner.mainTarget.inspectedURL())
return;
scripts.push(script);
if (scripts.length === 4)
step3();
}
function step3() {
scripts.sort(function(x, y) {
return x.lineOffset - y.lineOffset;
});
for (var i = 0; i < scripts.length; ++i) {
TestRunner.addResult('script ' + (i + 1) + ':');
TestRunner.addResult(
' start: ' + scripts[i].lineOffset + ':' +
scripts[i].columnOffset);
TestRunner.addResult(
' end: ' + scripts[i].endLine + ':' + scripts[i].endColumn);
}
SourcesTestRunner.completeDebuggerTest();
}
})();