| Index: chrome/test/data/extensions/api_test/image_writer_private/write_from_file/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/image_writer_private/write_from_file/test.js b/chrome/test/data/extensions/api_test/image_writer_private/write_from_file/test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ba9c23a8a447e6e9b3bfad7d42f1b69d88bcc789
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/image_writer_private/write_from_file/test.js
|
| @@ -0,0 +1,71 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +function assertNotNullOrUndefined(value, message) {
|
| + chrome.test.assertTrue(value !== null, message);
|
| + chrome.test.assertTrue(value !== undefined, message);
|
| +}
|
| +
|
| +function testWriteFromFile() {
|
| + var fileEntry;
|
| + var storageDevice;
|
| + var currentStage = "none";
|
| + var currentProgress = -1;
|
| + var started = true;
|
| +
|
| + function chooseEntryCallback(entry) {
|
| + fileEntry = entry;
|
| +
|
| + chrome.imageWriterPrivate.listRemovableStorageDevices(
|
| + listDevicesCallback);
|
| + }
|
| +
|
| + function listDevicesCallback(deviceList) {
|
| + chrome.test.assertTrue(deviceList.length >= 1);
|
| + storageDevice = deviceList[0];
|
| +
|
| + startWrite();
|
| + }
|
| +
|
| + function startWrite() {
|
| + assertNotNullOrUndefined(fileEntry, "FileEntry should be defined.");
|
| + assertNotNullOrUndefined(
|
| + storageDevice.storageUnitId, "Storage Unit should be defined.");
|
| +
|
| + chrome.imageWriterPrivate.writeFromFile(
|
| + storageDevice.storageUnitId,
|
| + fileEntry,
|
| + startWriteCallback);
|
| + }
|
| +
|
| + function startWriteCallback() {
|
| + started = true;
|
| + }
|
| +
|
| + function writeProgressCallback(progressInfo) {
|
| + currentProgress = progressInfo.percentComplete;
|
| + currentStage = progressInfo.stage;
|
| + }
|
| +
|
| + function writeCompleteCallback() {
|
| + chrome.test.assertTrue(started, "Complete triggered before being started.");
|
| + chrome.test.assertEq(100, currentProgress);
|
| + chrome.test.succeed("Write completed successfully.");
|
| + }
|
| +
|
| + function writeErrorCallback(message) {
|
| + chrome.test.fail("An error occurred during writing.");
|
| + }
|
| +
|
| + chrome.imageWriterPrivate.onWriteProgress.
|
| + addListener(writeProgressCallback);
|
| + chrome.imageWriterPrivate.onWriteComplete.
|
| + addListener(writeCompleteCallback);
|
| + chrome.imageWriterPrivate.onWriteError.
|
| + addListener(writeErrorCallback);
|
| +
|
| + chrome.fileSystem.chooseEntry(chooseEntryCallback);
|
| +}
|
| +
|
| +testWriteFromFile();
|
|
|