| <html> |
| <head> |
| <script src="../http/tests/inspector/inspector-test.js"></script> |
| <script> |
| function test() |
| { |
| var paths = { |
| FOO: "/home/username/projects/foo", |
| BAR: "/home/username/projects/bar", |
| SITE1: "/www/site1" |
| }; |
| |
| function addFileSystem(fileSystemMapping, path) |
| { |
| InspectorTest.addResult("Adding file system " + path); |
| fileSystemMapping.addFileSystemMapping(path); |
| } |
| |
| function removeFileSystem(fileSystemMapping, path) |
| { |
| InspectorTest.addResult("Removing file system " + path); |
| fileSystemMapping.removeFileSystemMapping(path); |
| } |
| |
| function checkAndDumpFileSystemMapping(fileSystemMapping) |
| { |
| var fileSystemPaths = fileSystemMapping.fileSystemPaths(); |
| InspectorTest.addResult("Testing file system mapping."); |
| InspectorTest.addResult(" file system paths:"); |
| for (var i = 0; i < fileSystemPaths.length; ++i) |
| InspectorTest.addResult(" - " + fileSystemPaths[i]); |
| InspectorTest.addResult(" fileSystemPathForPrefix:"); |
| // Call fileSystemPathForPrefix twice for each path prefix to check caching. |
| for (var i = 0; i < 2; ++i) { |
| for (pathId in paths) { |
| var pathPrefix = paths[pathId]; |
| var fileSystemPath = fileSystemMapping.fileSystemPathForPrefix(pathPrefix + "/"); |
| if (!fileSystemPath) |
| continue; |
| InspectorTest.addResult(" " + pathPrefix + " => " + fileSystemPath); |
| } |
| } |
| InspectorTest.addResult(""); |
| } |
| |
| // At first create file system mapping and clear it. |
| var fileSystemMapping = new WebInspector.FileSystemMappingImpl(); |
| var fileSystemPaths = fileSystemMapping.fileSystemPaths(); |
| for (var i = 0; i < fileSystemPaths.length; ++i) |
| fileSystemMapping.removeFileSystemMapping(fileSystemPaths[i]); |
| |
| // Now fill it with file systems and test. |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| addFileSystem(fileSystemMapping, paths.FOO) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| addFileSystem(fileSystemMapping, paths.BAR) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| addFileSystem(fileSystemMapping, paths.SITE1) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| |
| // Then create another file mapping to make sure it is correctly restored from the settings. |
| InspectorTest.addResult("Creating another file system mapping."); |
| var fileSystemMapping = new WebInspector.FileSystemMappingImpl(); |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| |
| // Now remove file systems and test. |
| removeFileSystem(fileSystemMapping, paths.SITE1) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| removeFileSystem(fileSystemMapping, paths.FOO) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| removeFileSystem(fileSystemMapping, paths.BAR) |
| checkAndDumpFileSystemMapping(fileSystemMapping); |
| |
| InspectorTest.completeTest(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests FileSystemMapping</p> |
| </body> |
| </html> |