Index: chrome/test/data/extensions/api_test/file_system/save_new/test.js |
diff --git a/chrome/test/data/extensions/api_test/file_system/save_new/test.js b/chrome/test/data/extensions/api_test/file_system/save_new/test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b1b466fed2e92798863768275efbb4f6c145659e |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/file_system/save_new/test.js |
@@ -0,0 +1,48 @@ |
+chrome.test.runTests([ |
+ function saveFile() { |
+ chrome.fileSystem.chooseFile({type: 'saveFile'}, chrome.test.callbackPass( |
+ function(entry) { |
+ chrome.test.assertEq('save_new.txt', entry.name); |
+ // Test that the file can be read but has nothing in it. |
+ entry.file(chrome.test.callback(function(file) { |
+ var reader = new FileReader(); |
+ reader.onloadend = chrome.test.callbackPass(function(e) { |
+ chrome.test.assertEq(reader.result, ""); |
+ // Test that we can write to the file. |
+ entry.createWriter(function(fileWriter) { |
+ fileWriter.onwriteend = chrome.test.callback(function(e) { |
+ if (fileWriter.error) { |
+ chrome.test.fail("Error writing to file: " + |
+ fileWriter.error.toString()); |
+ } else { |
+ // Get a new entry and check the data got to disk. |
+ chrome.fileSystem.chooseFile(chrome.test.callbackPass( |
+ function(readEntry) { |
+ readEntry.file(chrome.test.callback(function(readFile) { |
+ var readReader = new FileReader(); |
+ readReader.onloadend = function(e) { |
+ chrome.test.assertEq(readReader.result.indexOf("HoHoHo!"), |
+ 0); |
+ chrome.test.succeed(); |
+ }; |
+ readReader.onerror = function(e) { |
+ chrome.test.fail('Failed to read file after write.'); |
+ }; |
+ readReader.readAsText(readFile); |
+ })); |
+ })); |
+ } |
+ }); |
+ var bb = new WebKitBlobBuilder(); |
+ bb.append('HoHoHo!'); |
+ fileWriter.write(bb.getBlob('text/plain')); |
+ }); |
+ }); |
+ reader.onerror = chrome.test.callback(function(e) { |
+ chrome.test.fail("Error reading file contents."); |
+ }); |
+ reader.readAsText(file); |
+ })); |
+ })); |
+ } |
+]); |