3 <title>Test search in sources.
</title>
4 <script src=
"../inspector-test.js"></script>
5 <script src=
"../isolated-filesystem-test.js"></script>
6 <script src=
"../workspace-test.js"></script>
7 <script src=
"../debugger-test.js"></script>
8 <script src=
"./search-test.js"></script>
12 var scope
= new WebInspector
.SourcesSearchScope();
13 var fs
= new InspectorTest
.TestFileSystem("/var/www");
14 var names
= ["search.html", "search.js", "search.css"];
16 var jsFileSystemUISourceCode
;
17 var jsNetworkUISourceCode
;
20 for (var name
of names
)
21 promises
.push(loadResource(name
));
24 .then(onAllResourcesLoaded
)
25 .catch(onResourceError
);
27 function onResourceError(error
)
29 InspectorTest
.addResult("ERROR while loading resources: " + error
.message
);
30 InspectorTest
.completeTest();
33 function onAllResourcesLoaded()
35 for (var resourceName
in resources
)
36 fs
.root
.addFile(resourceName
, resources
[resourceName
]);
38 WebInspector
.inspectorView
.showViewInDrawer("search");
40 var uiSourceCodes
= InspectorTest
.fileSystemUISourceCodes();
41 for (var i
= 0; i
< uiSourceCodes
.length
; ++i
) {
42 if (uiSourceCodes
[i
].name() === "search.js") {
43 jsFileSystemUISourceCode
= uiSourceCodes
[i
];
48 addNetworkUISourceCode("http://localhost/search.html", resources
["search.html"]);
49 jsNetworkUISourceCode
= addNetworkUISourceCode("http://localhost/search.js", resources
["search.js"]);
50 InspectorTest
.runTestSuite(testSuite
);
53 function loadResource(name
)
55 var urlPrefix
= InspectorTest
.resourceTreeModel
.inspectedPageURL().substr(0, InspectorTest
.resourceTreeModel
.inspectedPageURL().lastIndexOf("/") + 1);
56 var url
= urlPrefix
+ "resources/" + name
;
57 return loadResourcePromise(url
).then(function(text
) {
58 resources
[name
] = text
;
62 function addNetworkUISourceCode(url
, content
)
64 var contentProvider
= new WebInspector
.StaticContentProvider(WebInspector
.resourceTypes
.Script
, content
);
65 var networkProject
= WebInspector
.NetworkProject
.forTarget(WebInspector
.targetManager
.mainTarget());
66 var uiSourceCode
= networkProject
.addFileForURL(url
, contentProvider
, false);
70 InspectorFrontendHost
.searchInPath = function(requestId
, path
, query
)
77 for (var i
= 0; i
< names
.length
; ++i
)
78 paths
.push("/var/www/" + names
[i
]);
79 WebInspector
.fileSystemWorkspaceBinding
._onSearchCompleted({data
: {requestId
: requestId
, fileSystemPath
: path
, files
: paths
}});
84 function testSearch(next
)
86 var query
= "searchTest" + "UniqueString";
87 var searchConfig
= new WebInspector
.SearchConfig(query
, true, false);
88 InspectorTest
.runSearchAndDumpResults(scope
, searchConfig
, false, next
);
91 function testDirtyFiles(next
)
93 jsFileSystemUISourceCode
.setWorkingCopy("FOO " + "searchTest" + "UniqueString" + " BAR");
94 jsNetworkUISourceCode
.setWorkingCopy("FOO " + "searchTest" + "UniqueString" + " BAR");
96 var query
= "searchTest" + "UniqueString";
97 var searchConfig
= new WebInspector
.SearchConfig(query
, true, false);
98 InspectorTest
.runSearchAndDumpResults(scope
, searchConfig
, false, next
);
105 <body onload=
"runTest()">
106 <p>Tests that ScriptSearchScope sorts network and dirty results correctly.
</p>