| Index: LayoutTests/http/tests/inspector/filesystem/async-callstack-filesystem.html
|
| diff --git a/LayoutTests/http/tests/inspector/filesystem/async-callstack-filesystem.html b/LayoutTests/http/tests/inspector/filesystem/async-callstack-filesystem.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8ce9974ffa6f56c9a4fab8d1c9be4b4e49ee64ed
|
| --- /dev/null
|
| +++ b/LayoutTests/http/tests/inspector/filesystem/async-callstack-filesystem.html
|
| @@ -0,0 +1,111 @@
|
| +<html>
|
| +<head>
|
| +<script src="../inspector-test.js"></script>
|
| +<script src="../debugger-test.js"></script>
|
| +<script>
|
| +
|
| +window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
|
| +
|
| +var fileSystem;
|
| +var tmpFileName;
|
| +var fileEntry;
|
| +
|
| +var errorHandler = function(e)
|
| +{
|
| + var msg = "FAIL: Error: " + e;
|
| + console.error(msg);
|
| + if (testRunner)
|
| + testRunner.logToStderr(msg);
|
| + errorHandler = function() { debugger; };
|
| + deleteTmpFile();
|
| +}
|
| +
|
| +function testFunction()
|
| +{
|
| + setTimeout(timeout, 0);
|
| +}
|
| +
|
| +function timeout()
|
| +{
|
| + var wrongType = window.TEMPORARY + window.PERSISTENT + 1234567;
|
| + window.requestFileSystem(wrongType, 1024 /* bytes */, errorHandler, expectError);
|
| +}
|
| +
|
| +function expectError()
|
| +{
|
| + debugger;
|
| + window.requestFileSystem(window.TEMPORARY, 1024 /* bytes */, onInitFileSystem, errorHandler);
|
| +}
|
| +
|
| +function onInitFileSystem(fs)
|
| +{
|
| + fileSystem = fs;
|
| + debugger;
|
| + tmpFileName = "async-callstack-filesystem-tmp-" + Date.now() + ".txt"
|
| + fileSystem.root.getFile(tmpFileName, { create: true, exclusive: true }, onFileCreated, errorHandler);
|
| +}
|
| +
|
| +function onFileCreated(fe)
|
| +{
|
| + fileEntry = fe;
|
| + debugger;
|
| + fileEntry.createWriter(onFileWriterCreated, errorHandler);
|
| +}
|
| +
|
| +function onFileWriterCreated(fileWriter)
|
| +{
|
| + debugger;
|
| + fileWriter.onwriteend = onFileWriteEnd;
|
| + fileWriter.onerror = errorHandler;
|
| + var blob = new Blob(["Lorem Ipsum"], { type: "text/plain" });
|
| + fileWriter.write(blob);
|
| +}
|
| +
|
| +function onFileWriteEnd()
|
| +{
|
| + debugger;
|
| + fileEntry.file(onFileEntryFile, errorHandler);
|
| +}
|
| +
|
| +function onFileEntryFile(file)
|
| +{
|
| + debugger;
|
| + var fileReader = new FileReader();
|
| + fileReader.onloadend = onFileReadEnd;
|
| + fileReader.onerror = errorHandler;
|
| + fileReader.readAsText(file);
|
| +}
|
| +
|
| +function onFileReadEnd()
|
| +{
|
| + var content = this.result;
|
| + debugger;
|
| + deleteTmpFile();
|
| +}
|
| +
|
| +function deleteTmpFile()
|
| +{
|
| + fileEntry.remove(onFileDeleted, errorHandler);
|
| +}
|
| +
|
| +function onFileDeleted()
|
| +{
|
| + debugger;
|
| +}
|
| +
|
| +var test = function()
|
| +{
|
| + var totalDebuggerStatements = 8;
|
| + var maxAsyncCallStackDepth = 4;
|
| + InspectorTest.runAsyncCallStacksTest(totalDebuggerStatements, maxAsyncCallStackDepth);
|
| +}
|
| +
|
| +</script>
|
| +</head>
|
| +
|
| +<body onload="runTest()">
|
| +<p>
|
| +Tests asynchronous call stacks for FileSystem API.
|
| +</p>
|
| +</body>
|
| +</html>
|
|
|