Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / inspector / filesystem / directory-tree.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <script src="../inspector-test.js"></script>
6 <script src="../resources-test.js"></script>
7 <script src="filesystem-test.js"></script>
8 <script>
9 document.addEventListener("DOMContentLoaded", runTest);
10 function test()
11 {
12     var resourcesPanel = WebInspector.panels.resources;
13     var fileSystemListTreeElement = resourcesPanel.fileSystemListTreeElement;
14     if (!fileSystemListTreeElement) {
15         fileSystemListTreeElement = new WebInspector.FileSystemListTreeElement(resourcesPanel);
16         resourcesPanel.fileSystemListTreeElement = fileSystemListTreeElement;
17         resourcesPanel.sidebarTree.appendChild(fileSystemListTreeElement);
18     }
19
20     var fileSystemItem = null;
21     var fileSystemView = null;
22     var directoryTree = null;
23
24     var requestsLeft = 0;
25     var testStep = [
26         function()
27         {
28             InspectorTest.createDirectory("/hoge", testStep.shift());
29         },
30
31         function()
32         {
33             InspectorTest.createDirectory("/hoge/fuga", testStep.shift());
34         },
35
36         function()
37         {
38             InspectorTest.createFile("/hoge/fuga/piyo", testStep.shift());
39         },
40
41         function()
42         {
43             InspectorTest.addSniffer(WebInspector.FileSystemListTreeElement.prototype, "_fileSystemAdded", testStep.shift(), false);
44             fileSystemListTreeElement._refreshFileSystem();
45         },
46
47         function(event)
48         {
49             if (event.data.name !== "filesystem:http://127.0.0.1:8000/temporary")
50                 return;
51
52             fileSystemItem = fileSystemListTreeElement._fileSystemTreeElementByName("filesystem:http://127.0.0.1:8000/temporary");
53
54             InspectorTest.addSniffer(WebInspector.FileSystemModel.prototype, "_directoryContentReceived", testStep.shift(), false);
55             fileSystemItem.select();
56             fileSystemView = fileSystemItem._fileSystemView;
57             directoryTree = fileSystemView._directoryTree;
58         },
59
60         function() {
61             dumpDirectoryTree(directoryTree);
62             InspectorTest.addResult("");
63
64             function requestSent()
65             {
66                 ++requestsLeft;
67             }
68
69             InspectorTest.addSniffer(WebInspector.FileSystemModel.prototype, "_directoryContentReceived", testStep.shift(), true);
70             InspectorTest.addSniffer(WebInspector.FileSystemModel.prototype, "requestDirectoryContent", requestSent, true);
71
72             directoryTree.children[0].expandRecursively();
73         },
74
75         function() {
76             if (--requestsLeft)
77                 return;
78             dumpDirectoryTree(directoryTree);
79
80             InspectorTest.clearFileSystem(testStep.shift());
81         },
82
83         function()
84         {
85             InspectorTest.completeTest();
86         }
87     ];
88
89     InspectorTest.clearFileSystem(testStep.shift());
90
91     function dumpDirectoryTree(treeNode, indent)
92     {
93         indent = indent || "";
94         InspectorTest.addResult(indent + "[directory tree node]");
95         InspectorTest.addResult(indent + "expanded: " + treeNode.expanded);
96         if (treeNode._entry)
97             InspectorTest.addResult(indent + "entry: " + treeNode._entry.url)
98         else
99             InspectorTest.addResult(indent + "entry: (null)")
100         InspectorTest.addResult(indent + "#children: " + treeNode.children.length);
101
102         for (var i = 0; i < treeNode.children.length; ++i)
103             dumpDirectoryTree(treeNode.children[i], indent + "  ");
104     }
105 }
106 </script>
107 </head>
108 <body>
109 <p>Tests directory tree on FileSystemView.</p>
110 </body>
111 </html>