Chromium Code Reviews| Index: chrome/test/data/extensions/api_test/file_browser/content_checksum_test/test.js |
| diff --git a/chrome/test/data/extensions/api_test/file_browser/content_checksum_test/test.js b/chrome/test/data/extensions/api_test/file_browser/content_checksum_test/test.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..35e08f5221923aaea4a8c14da5c2a2a1e59a7dfc |
| --- /dev/null |
| +++ b/chrome/test/data/extensions/api_test/file_browser/content_checksum_test/test.js |
| @@ -0,0 +1,75 @@ |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
|
mtomasz
2015/01/08 00:38:40
(c) 2013 -> 2014
Ben Kwa
2015/01/08 19:29:14
2015!
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** |
| + * The test file system should be created and populated before running the test |
| + * extension. |
| + * |
| + * The only file used right now is <root>/test_dir/test_file.txt. |
| + */ |
| + |
| +// This is a golden value computed using the md5sum command line tool. |
| +var kExpectedHash = 'a3dfffb5a580272fb8986611a9dbd166'; |
| + |
| +function initTests(callback) { |
|
mtomasz
2015/01/08 00:38:40
I think this can be greatly simplified. If we only
Ben Kwa
2015/01/08 19:29:14
Ah, ok. Thanks for clarifying - I wasn't sure wha
|
| + chrome.fileManagerPrivate.getVolumeMetadataList(function(volumeMetadataList) { |
| + var possibleVolumeTypes = ['testing', 'drive']; |
| + |
| + var sortedVolumeMetadataList = volumeMetadataList.filter(function(volume) { |
| + return possibleVolumeTypes.indexOf(volume.volumeType) != -1; |
| + }).sort(function(volumeA, volumeB) { |
| + return possibleVolumeTypes.indexOf(volumeA.volumeType) > |
| + possibleVolumeTypes.indexOf(volumeB.volumeType); |
| + }); |
| + |
| + if (sortedVolumeMetadataList.length == 0) { |
| + callback(null, 'No volumes available, which could be used for testing.'); |
| + return; |
| + } |
| + |
| + chrome.fileManagerPrivate.requestFileSystem( |
| + sortedVolumeMetadataList[0].volumeId, |
| + function(fileSystem) { |
| + if (!fileSystem) { |
| + callback(null, 'Failed to acquire the testing volume.'); |
| + return; |
| + } |
| + |
| + var testsToRun = collectTestsForVolumeId( |
| + sortedVolumeMetadataList[0].volumeId, fileSystem); |
| + callback(testsToRun, 'Success.'); |
| + }); |
| + }); |
| +} |
| + |
| +function collectTestsForVolumeId(volumeId, fileSystem) { |
| + console.log(volumeId); |
| + var testsToRun = []; |
| + |
| + testsToRun.push(function quickTest() { |
| + fileSystem.root.getFile( |
| + 'test_dir/test_file.txt', |
| + {create: false}, |
| + function(entry) { |
| + chrome.fileManagerPrivate.computeChecksum( |
| + entry.toURL(), |
| + chrome.test.callbackPass(function(result) { |
| + chrome.test.assertEq(kExpectedHash, result); |
| + })); |
| + }, |
| + chrome.test.fail); |
| + }); |
| + |
| + return testsToRun; |
| +} |
| + |
| +// Trigger the tests. |
| +initTests(function(testsToRun, errorMessage) { |
| + if (!testsToRun) { |
| + chrome.test.notifyFail('Failed to initialize tests: ' + errorMessage); |
| + return; |
| + } |
| + |
| + chrome.test.runTests(testsToRun); |
| +}); |