Refactoring: Pull all fullscreen code out of Document and into its own helper class
[WebKit-https.git] / LayoutTests / accessibility / file-upload-button-stringvalue.html
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <form id="form">
5     <input id="singleFileUpload" type="file">
6     <input id="multipleFileUpload" type="file" multiple>
7 </form>
8 <p>This tests the value of stringValue for a single file- and multiple files-&lt;input type=&quot;file&quot;&gt; control.</p>
9 <pre id="console"></pre>
10 <script>
11 if (window.testRunner && window.accessibilityController) {
12     testRunner.dumpAsText();
13     runTest();
14 } else
15     log("This test must be run with DumpRenderTree and an implemented AccessibilityController.");
16
17 function runTest()
18 {
19     var elementIds = ["singleFileUpload", "multipleFileUpload"];
20     var form = document.getElementById("form");
21
22     form.reset();
23     log(""); // Add an empty line; make the expected results pretty.
24     log("Default value (no files selected):");
25     for (var i = 0; i < elementIds.length; ++i)
26         logAccessibilityStringValueForElement(elementIds[i]);
27
28     form.reset();
29     log(""); // Add an empty line; make the expected results pretty.
30     log("Drag and drop a single file:");
31     for (var i = 0; i < elementIds.length; ++i) {
32         dragAndDropFauxFilesOnElement(["file1.txt"], elementIds[i]);
33         logAccessibilityStringValueForElement(elementIds[i]);
34     }
35
36     form.reset();
37     log(""); // Add an empty line; make the expected results pretty.
38     log("Drag and drop two files:");
39     for (var i = 0; i < elementIds.length; ++i) {
40         dragAndDropFauxFilesOnElement(["file1.txt", "file2.txt"], elementIds[i]);
41         logAccessibilityStringValueForElement(elementIds[i]);
42     }
43 }
44
45 function log(message)
46 {
47     document.getElementById("console").appendChild(document.createTextNode(message + "\n"));
48 }
49
50 function logAccessibilityStringValueForElement(elementId)
51 {
52     log('accessibilityController.accessibleElementById("' + elementId + '").stringValue: ' + accessibilityController.accessibleElementById(elementId).stringValue);
53 }
54
55 function dragAndDropFauxFilesOnElement(files, elementId)
56 {
57     if (!window.eventSender || !eventSender.beginDragWithFiles)
58         return;
59     var element = document.getElementById(elementId);
60     eventSender.beginDragWithFiles(files);
61     eventSender.mouseMoveTo(element.offsetLeft, element.offsetTop);
62     eventSender.mouseUp();
63 }
64 </script>
65 </body>
66 </html>