Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Unified Diff: LayoutTests/http/tests/inspector/compiler-script-mapping.html

Issue 299443016: DevTools: Decouple debugger model from UI entities (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Merge DebuggerScriptMapping into DebuggerWorkspaceBinding Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/http/tests/inspector/compiler-script-mapping.html
diff --git a/LayoutTests/http/tests/inspector/compiler-script-mapping.html b/LayoutTests/http/tests/inspector/compiler-script-mapping.html
index ac3016a4601f1a64ab96e89e665e5f24438d7eab..68fe21997870d3f25f838921286082ea28c329bc 100644
--- a/LayoutTests/http/tests/inspector/compiler-script-mapping.html
+++ b/LayoutTests/http/tests/inspector/compiler-script-mapping.html
@@ -3,21 +3,47 @@
<script src="inspector-test.js"></script>
<script src="debugger-test.js"></script>
<script src="workspace-test.js"></script>
+<script src="breakpoint-manager-test.js"></script>
<script>
-function test()
-{
- var defaultScriptMapping;
- var resourceScriptMapping;
- var target = WebInspector.debuggerModel.target();
- function createCompilerScriptMapping()
+function test() {
+ var mockTargetId = 1;
+ var MockTarget = function(name, connection, callback)
+ {
+ WebInspector.Target.call(this, name, connection, callback);
+ }
+ MockTarget.prototype = {
+ _loadedWithCapabilities: function(callback)
+ {
+ this.debuggerModel = new WebInspector.DebuggerModel(this);
+ this.resourceTreeModel = WebInspector.targetManager.mainTarget().resourceTreeModel;
vsevik 2014/08/04 09:05:14 Is this redundant?
apavlov 2014/08/04 10:04:34 Nope
+ if (callback)
+ callback();
+ },
+
+ __proto__: WebInspector.Target.prototype
+ }
+
+ function createMockTarget(userCallback)
+ {
+ var target = new MockTarget("mock-target-" + (mockTargetId++), new InspectorBackendClass.StubConnection(), callback);
+ function callback()
+ {
+ InspectorTest.testTargetManager.addTarget(target);
+ userCallback(target);
+ }
+ }
+
+ function createWorkspaceWithTarget(userCallback)
{
InspectorTest.createWorkspace();
- var compilerScriptMapping = new WebInspector.CompilerScriptMapping(WebInspector.debuggerModel, InspectorTest.testWorkspace, InspectorTest.testNetworkWorkspaceBinding);
- resourceScriptMapping = new WebInspector.ResourceScriptMapping(WebInspector.debuggerModel, InspectorTest.testWorkspace);
- defaultScriptMapping = new WebInspector.DefaultScriptMapping(WebInspector.debuggerModel, InspectorTest.testWorkspace);
- return compilerScriptMapping;
+ createMockTarget(callback);
+ function callback(target)
+ {
+ target.resourceTreeModel = WebInspector.targetManager.mainTarget().resourceTreeModel;
vsevik 2014/08/04 09:05:14 Or this?
apavlov 2014/08/04 10:04:34 Yep
+ userCallback(target);
+ }
}
function checkMapping(compiledLineNumber, compiledColumnNumber, sourceURL, sourceLineNumber, sourceColumnNumber, mapping)
@@ -38,12 +64,13 @@ function test()
function uiLocation(script, line, column)
{
var location = script.target().debuggerModel.createRawLocation(script, line, column);
- return WebInspector.debuggerWorkspaceBinding.rawLocationToUILocation(location);
+ return InspectorTest.testDebuggerWorkspaceBinding.rawLocationToUILocation(location);
}
function resetModels()
{
- WebInspector.debuggerModel._reset();
+ target.debuggerModel._reset();
+ InspectorTest.testDebuggerWorkspaceBinding._reset(target);
}
InspectorTest.runTestSuite([
@@ -204,201 +231,200 @@ function test()
function testCompilerScriptMapping(next)
{
var script;
- resetModels();
- var mapping = createCompilerScriptMapping();
- var originalUISourceCode;
- step1();
+ createWorkspaceWithTarget(function(target) {
vsevik 2014/08/04 09:05:14 Let's use a name function instead, so that we need
apavlov 2014/08/04 10:04:34 Done.
+ var originalUISourceCode;
+ step1();
- function step1()
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
- script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "");
- script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json";
- defaultScriptMapping.addScript(script);
- resourceScriptMapping.addScript(script);
- mapping.addScript(script);
- }
+ function step1()
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
+ script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "", target, function(script) {
+ script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json";
+ });
+ InspectorTest.testDebuggerWorkspaceBinding._targetToData.get(target)._parsedScriptSource({ data: script });
+ }
- function originalUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalResourceUISourceCodeAdded);
- InspectorTest.addMockUISourceCodeToWorkspace("compiled.js", WebInspector.resourceTypes.Script, "");
- }
+ function originalUISourceCodeAdded(uiSourceCode)
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalResourceUISourceCodeAdded);
+ InspectorTest.addMockUISourceCodeToWorkspace("compiled.js", WebInspector.resourceTypes.Script, "");
+ }
- function originalResourceUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(firstUISourceCodeAdded);
- originalUISourceCode = uiSourceCode;
- }
+ function originalResourceUISourceCodeAdded(uiSourceCode)
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(firstUISourceCodeAdded);
+ originalUISourceCode = uiSourceCode;
+ }
- function firstUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(secondUISourceCodeAdded);
- }
+ function firstUISourceCodeAdded(uiSourceCode)
+ {
+ if (!uiSourceCode.url) {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(firstUISourceCodeAdded);
+ return;
+ }
- function secondUISourceCodeAdded(uiSourceCode)
- {
- afterScriptAdded();
- }
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(secondUISourceCodeAdded);
+ }
- function afterScriptAdded(uiSourceCode)
- {
- var uiSourceCode1 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source1.js");
- var uiSourceCode2 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source2.js");
+ function secondUISourceCodeAdded(uiSourceCode)
+ {
+ if (!uiSourceCode.url) {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(secondUISourceCodeAdded);
+ return;
+ }
+ afterScriptAdded();
+ }
- InspectorTest.checkUILocation(uiSourceCode1, 4, 4, uiLocation(script, 0, 81));
- InspectorTest.checkUILocation(uiSourceCode1, 5, 4, uiLocation(script, 0, 93));
- InspectorTest.checkUILocation(uiSourceCode2, 7, 4, uiLocation(script, 1, 151));
- InspectorTest.checkUILocation(originalUISourceCode, 1, 200, uiLocation(script, 1, 200));
+ function afterScriptAdded(uiSourceCode)
+ {
+ var uiSourceCode1 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source1.js");
+ var uiSourceCode2 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source2.js");
- InspectorTest.checkRawLocation(script, 0, 42, uiSourceCode1.uiLocationToRawLocation(target, 3, 10));
- InspectorTest.checkRawLocation(script, 1, 85, uiSourceCode2.uiLocationToRawLocation(target, 0, 0));
- InspectorTest.checkRawLocation(script, 1, 110, uiSourceCode2.uiLocationToRawLocation(target, 5, 2));
+ InspectorTest.checkUILocation(uiSourceCode1, 4, 4, uiLocation(script, 0, 81));
+ InspectorTest.checkUILocation(uiSourceCode1, 5, 4, uiLocation(script, 0, 93));
+ InspectorTest.checkUILocation(uiSourceCode2, 7, 4, uiLocation(script, 1, 151));
+ InspectorTest.checkUILocation(originalUISourceCode, 1, 200, uiLocation(script, 1, 200));
- uiSourceCode1.requestContent(didRequestContent1);
+ InspectorTest.checkRawLocation(script, 0, 42, uiSourceCode1.uiLocationToRawLocation(target, 3, 10));
+ InspectorTest.checkRawLocation(script, 1, 85, uiSourceCode2.uiLocationToRawLocation(target, 0, 0));
+ InspectorTest.checkRawLocation(script, 1, 110, uiSourceCode2.uiLocationToRawLocation(target, 5, 2));
- function didRequestContent1(content, contentEncoded, mimeType)
- {
- InspectorTest.assertEquals(0, content.indexOf("window.addEventListener"));
- uiSourceCode2.requestContent(didRequestContent2);
- }
+ uiSourceCode1.requestContent(didRequestContent1);
- function didRequestContent2(content, contentEncoded, mimeType)
- {
- InspectorTest.assertEquals(0, content.indexOf("function ClickHandler()"));
- next();
+ function didRequestContent1(content, contentEncoded, mimeType)
+ {
+ InspectorTest.assertEquals(0, content.indexOf("window.addEventListener"));
+ uiSourceCode2.requestContent(didRequestContent2);
+ }
+
+ function didRequestContent2(content, contentEncoded, mimeType)
+ {
+ InspectorTest.assertEquals(0, content.indexOf("function ClickHandler()"));
+ next();
+ }
}
- }
+ });
},
function testCompilerScriptMappingWhenResourceWasLoadedAfterSource(next)
{
var script;
- resetModels();
- var mapping = createCompilerScriptMapping();
var originalUISourceCode;
- step1();
-
- function step1()
- {
+ createWorkspaceWithTarget(function(target) {
vsevik 2014/08/04 09:05:14 ditto
apavlov 2014/08/04 10:04:34 Done.
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(function() { });
- script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "");
- script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json";
- defaultScriptMapping.addScript(script);
- resourceScriptMapping.addScript(script);
- mapping.addScript(script);
+ script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "", target, function(script) {
+ script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json";
+ });
+ InspectorTest.testDebuggerWorkspaceBinding._targetToData.get(target)._parsedScriptSource({ data: script });
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalResourceUISourceCodeAdded);
InspectorTest.addMockUISourceCodeToWorkspace("compiled.js", WebInspector.resourceTypes.Script, "");
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(firstUISourceCodeAdded);
- }
- function originalResourceUISourceCodeAdded(uiSourceCode)
- {
- originalUISourceCode = uiSourceCode;
- }
+ function originalResourceUISourceCodeAdded(uiSourceCode)
+ {
+ originalUISourceCode = uiSourceCode;
+ }
- function firstUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(secondUISourceCodeAdded);
- }
+ function firstUISourceCodeAdded(uiSourceCode)
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(secondUISourceCodeAdded);
+ }
- function secondUISourceCodeAdded(uiSourceCode)
- {
- afterScriptAdded();
- }
+ function secondUISourceCodeAdded(uiSourceCode)
+ {
+ afterScriptAdded();
+ }
- function afterScriptAdded(uiSourceCode)
- {
- var uiSourceCode1 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source1.js");
- var uiSourceCode2 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source2.js");
+ function afterScriptAdded(uiSourceCode)
+ {
+ var uiSourceCode1 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source1.js");
+ var uiSourceCode2 = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://localhost:8000/inspector/resources/source2.js");
- InspectorTest.checkUILocation(uiSourceCode1, 4, 4, uiLocation(script, 0, 81));
- InspectorTest.checkUILocation(uiSourceCode1, 5, 4, uiLocation(script, 0, 93));
- InspectorTest.checkUILocation(uiSourceCode2, 7, 4, uiLocation(script, 1, 151));
- InspectorTest.checkUILocation(originalUISourceCode, 1, 200, uiLocation(script, 1, 200));
+ InspectorTest.checkUILocation(uiSourceCode1, 4, 4, uiLocation(script, 0, 81));
+ InspectorTest.checkUILocation(uiSourceCode1, 5, 4, uiLocation(script, 0, 93));
+ InspectorTest.checkUILocation(uiSourceCode2, 7, 4, uiLocation(script, 1, 151));
+ InspectorTest.checkUILocation(originalUISourceCode, 1, 200, uiLocation(script, 1, 200));
- InspectorTest.checkRawLocation(script, 0, 42, uiSourceCode1.uiLocationToRawLocation(target, 3, 10));
- InspectorTest.checkRawLocation(script, 1, 85, uiSourceCode2.uiLocationToRawLocation(target, 0, 0));
- InspectorTest.checkRawLocation(script, 1, 110, uiSourceCode2.uiLocationToRawLocation(target, 5, 2));
+ InspectorTest.checkRawLocation(script, 0, 42, uiSourceCode1.uiLocationToRawLocation(target, 3, 10));
+ InspectorTest.checkRawLocation(script, 1, 85, uiSourceCode2.uiLocationToRawLocation(target, 0, 0));
+ InspectorTest.checkRawLocation(script, 1, 110, uiSourceCode2.uiLocationToRawLocation(target, 5, 2));
- uiSourceCode1.requestContent(didRequestContent1);
+ uiSourceCode1.requestContent(didRequestContent1);
- function didRequestContent1(content, contentEncoded, mimeType)
- {
- InspectorTest.assertEquals(0, content.indexOf("window.addEventListener"));
- uiSourceCode2.requestContent(didRequestContent2);
- }
+ function didRequestContent1(content, contentEncoded, mimeType)
+ {
+ InspectorTest.assertEquals(0, content.indexOf("window.addEventListener"));
+ uiSourceCode2.requestContent(didRequestContent2);
+ }
- function didRequestContent2(content, contentEncoded, mimeType)
- {
- InspectorTest.assertEquals(0, content.indexOf("function ClickHandler()"));
- next();
+ function didRequestContent2(content, contentEncoded, mimeType)
+ {
+ InspectorTest.assertEquals(0, content.indexOf("function ClickHandler()"));
+ next();
+ }
}
- }
+ });
},
function testInlinedSourceMap(next)
{
- resetModels();
- var mapping = createCompilerScriptMapping();
- var script = InspectorTest.createScriptMock("http://example.com/compiled.js", 0, 0, true, "");
- var sourceMap = {
- "file":"compiled.js",
- "mappings":"AAASA,QAAAA,IAAG,CAACC,CAAD,CAAaC,CAAb,CACZ,CACI,MAAOD,EAAP,CAAoBC,CADxB,CAIA,IAAIC,OAAS;",
- "sources":["source.js"],
- "sourcesContent":["<source content>"]
- };
- script.sourceMapURL = "data:application/json;base64," + btoa(JSON.stringify(sourceMap));
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(compiledUISourceCodeAdded);
- defaultScriptMapping.addScript(script);
- resourceScriptMapping.addScript(script);
- mapping.addScript(script);
-
- function compiledUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
- }
+ createWorkspaceWithTarget(function(target) {
vsevik 2014/08/04 09:05:14 ditto
apavlov 2014/08/04 10:04:34 Done.
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(compiledUISourceCodeAdded);
+ var script = InspectorTest.createScriptMock("http://example.com/compiled.js", 0, 0, true, "", target, function(script) {
+ var sourceMap = {
+ "file":"compiled.js",
+ "mappings":"AAASA,QAAAA,IAAG,CAACC,CAAD,CAAaC,CAAb,CACZ,CACI,MAAOD,EAAP,CAAoBC,CADxB,CAIA,IAAIC,OAAS;",
+ "sources":["source.js"],
+ "sourcesContent":["<source content>"]
+ };
+ script.sourceMapURL = "data:application/json;base64," + btoa(JSON.stringify(sourceMap));
+ });
+ InspectorTest.testDebuggerWorkspaceBinding._targetToData.get(target)._parsedScriptSource({ data: script });
+
+ function compiledUISourceCodeAdded(uiSourceCode)
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
+ }
- function originalUISourceCodeAdded(uiSourceCode)
- {
- var uiSourceCode = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://example.com/source.js");
+ function originalUISourceCodeAdded(uiSourceCode)
+ {
+ var uiSourceCode = InspectorTest.testWorkspace.uiSourceCodeForOriginURL("http://example.com/source.js");
- InspectorTest.checkUILocation(uiSourceCode, 2, 4, mapping.rawLocationToUILocation(WebInspector.debuggerModel.createRawLocation(script, 0, 18)));
- InspectorTest.checkRawLocation(script, 0, 18, mapping.uiLocationToRawLocation(uiSourceCode, 2, 4));
+ InspectorTest.checkUILocation(uiSourceCode, 2, 4, uiLocation(script, 0, 18));
+ InspectorTest.checkRawLocation(script, 0, 18, InspectorTest.testDebuggerWorkspaceBinding.uiLocationToRawLocation(target, uiSourceCode, 2, 4));
- uiSourceCode.requestContent(didRequestContent);
+ uiSourceCode.requestContent(didRequestContent);
- function didRequestContent(content, contentEncoded, mimeType)
- {
- InspectorTest.addResult("<source content> === " + content);
- next();
+ function didRequestContent(content, contentEncoded, mimeType)
+ {
+ InspectorTest.addResult("<source content> === " + content);
+ next();
+ }
}
- }
+ });
},
function testSourceMapCouldNotBeLoaded(next)
{
WebInspector.settings.jsSourceMapsEnabled.get = function() { return true; }
- resetModels();
- InspectorTest.createWorkspace();
- var debuggerScriptMapping = new WebInspector.DebuggerScriptMapping(WebInspector.debuggerModel, InspectorTest.testWorkspace, InspectorTest.testNetworkWorkspaceBinding);
-
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(compiledUISourceCodeAdded);
- var script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "");
+ createWorkspaceWithTarget(function(target) {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(compiledUISourceCodeAdded);
+ var script = InspectorTest.createScriptMock("compiled.js", 0, 0, true, "", target);
- function compiledUISourceCodeAdded(uiSourceCode)
- {
- InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
- }
+ function compiledUISourceCodeAdded(uiSourceCode)
+ {
+ InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(originalUISourceCodeAdded);
+ }
- function originalUISourceCodeAdded(uiSourceCode) { }
+ function originalUISourceCodeAdded(uiSourceCode) { }
- script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json_";
- console.error = function() {}; // Error message is platform dependent.
- debuggerScriptMapping._parsedScriptSource({data:script});
- var location = uiLocation(script, 0, 0);
- InspectorTest.addResult(location.uiSourceCode.originURL());
- next();
+ script.sourceMapURL = "http://localhost:8000/inspector/resources/source-map.json_";
+ console.error = function() {}; // Error message is platform dependent.
+ InspectorTest.testDebuggerWorkspaceBinding._targetToData.get(target)._parsedScriptSource({ data: script });
+ var location = uiLocation(script, 0, 0);
+ InspectorTest.addResult(location.uiSourceCode.originURL());
+ next();
+ });
},
function testSourceRoot(next)

Powered by Google App Engine
This is Rietveld 408576698