4 <script src=
"/js-test-resources/js-test.js"></script>
7 <div id=
"description"></div>
8 <div id=
"console"></div>
9 <script type=
"text/javascript">
10 description("WebSocket: Send a File.");
12 window
.jsTestIsAsync
= true;
14 function startsWith(target
, prefix
)
16 return target
.indexOf(prefix
) === 0;
19 var fileSystemSize
= 1024;
20 var fileName
= "websocket-send-file-blob.txt";
21 var messageToWrite
= "Hello, world!";
25 if (!window
.webkitRequestFileSystem
) {
26 testFailed("window.webkitRequestFileSystem is not available.");
31 webkitRequestFileSystem(TEMPORARY
, fileSystemSize
, didGetFileSystem
, didFail
);
34 function didGetFileSystem(fileSystem
)
36 debug("Got FileSystem object.");
37 fileSystem
.root
.getFile(fileName
, {create
: true}, didCreateFile
, didFail
);
42 function didCreateFile(entry
)
44 debug("File created.");
46 shouldBeTrue("fileEntry.isFile");
47 fileEntry
.createWriter(didGetFileWriter
, didFail
);
50 function didGetFileWriter(writer
)
53 writer
.onerror = function()
55 testFailed("FileWriter operation failed.");
58 writer
.onwrite = function()
60 writer
.write(new Blob([messageToWrite
]));
61 writer
.onwrite
= didWriteFile
;
65 function didWriteFile()
67 debug("Wrote to file.");
68 fileEntry
.file(didGetFile
, didFail
);
73 function didGetFile(file
)
75 debug("Got File object.");
76 var ws
= new WebSocket("ws://127.0.0.1:8880/send-file-blob");
77 ws
.onopen = function()
81 ws
.onmessage = function(event
)
83 var message
= event
.data
;
84 if (startsWith(message
, "PASS"))
89 ws
.onclose = function(event
)
92 shouldBeTrue("closeEvent.wasClean");
97 function didFail(fileError
)
99 testFailed("FileSystem API operation failed: error code = " + fileError
.code
);
106 debug("Deleting the file.");
107 fileEntry
.remove(finishJSTest
, finishJSTest
);