| Index: ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js
|
| diff --git a/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js b/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js
|
| index 9efc3009af607ed53d8c17f68628f3c612d131e5..75a9da8996aaded7af1d15719d440567afe07d7c 100644
|
| --- a/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js
|
| +++ b/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js
|
| @@ -23,6 +23,13 @@ var fileUrls = {};
|
| /** @type {!MockFileSystem} */
|
| var fileSystem;
|
|
|
| +/** @type {!importer.TestImportHistory} */
|
| +var testHistory;
|
| +
|
| +/** @type {function(!FileEntry, !importer.Destination):
|
| + !importer.Disposition} */
|
| +var getDisposition;
|
| +
|
| // Set up string assets.
|
| loadTimeData.data = {
|
| CLOUD_IMPORT_ITEMS_REMAINING: '',
|
| @@ -68,7 +75,12 @@ function setUp() {
|
| }
|
| };
|
|
|
| - duplicateFinder = new importer.DriveDuplicateFinder();
|
| + testHistory = new importer.TestImportHistory();
|
| + var tracker = new TestTracker();
|
| + duplicateFinder = new importer.DriveDuplicateFinder(tracker);
|
| +
|
| + getDisposition = importer.DispositionChecker.createChecker(
|
| + testHistory, tracker);
|
| }
|
|
|
| // Verifies the correct result when a duplicate exists.
|
| @@ -78,7 +90,7 @@ function testCheckDuplicateTrue(callback) {
|
| var files = setupHashes(filePaths, fileHashes);
|
|
|
| reportPromise(
|
| - duplicateFinder.checkDuplicate(files[0])
|
| + duplicateFinder.isDuplicate(files[0])
|
| .then(
|
| function(isDuplicate) {
|
| assertTrue(isDuplicate);
|
| @@ -98,7 +110,7 @@ function testCheckDuplicateFalse(callback) {
|
| var newFile = fileSystem.entries[newFilePath];
|
|
|
| reportPromise(
|
| - duplicateFinder.checkDuplicate(newFile)
|
| + duplicateFinder.isDuplicate(newFile)
|
| .then(
|
| function(isDuplicate) {
|
| assertFalse(isDuplicate);
|
| @@ -106,6 +118,59 @@ function testCheckDuplicateFalse(callback) {
|
| callback);
|
| };
|
|
|
| +function testDispositionChecker_ContentDupe(callback) {
|
| + var filePaths = ['/foo.txt'];
|
| + var fileHashes = ['abc123'];
|
| + var files = setupHashes(filePaths, fileHashes);
|
| +
|
| + reportPromise(
|
| + getDisposition(files[0], importer.Destination.GOOGLE_DRIVE)
|
| + .then(
|
| + function(disposition) {
|
| + assertEquals(
|
| + importer.Disposition.CONTENT_DUPLICATE,
|
| + disposition);
|
| + }),
|
| + callback);
|
| +};
|
| +
|
| +function testDispositionChecker_HistoryDupe(callback) {
|
| + var filePaths = ['/foo.txt'];
|
| + var fileHashes = ['abc123'];
|
| + var files = setupHashes(filePaths, fileHashes);
|
| +
|
| + testHistory.importedPaths['/foo.txt'] =
|
| + [importer.Destination.GOOGLE_DRIVE];
|
| +
|
| + reportPromise(
|
| + getDisposition(files[0], importer.Destination.GOOGLE_DRIVE)
|
| + .then(
|
| + function(disposition) {
|
| + assertEquals(
|
| + importer.Disposition.HISTORY_DUPLICATE,
|
| + disposition);
|
| + }),
|
| + callback);
|
| +};
|
| +
|
| +function testDispositionChecker_Original(callback) {
|
| + var filePaths = ['/foo.txt'];
|
| + var fileHashes = ['abc123'];
|
| + var files = setupHashes(filePaths, fileHashes);
|
| +
|
| + var newFilePath = '/bar.txt';
|
| + fileSystem.populate([newFilePath]);
|
| + var newFile = fileSystem.entries[newFilePath];
|
| +
|
| + reportPromise(
|
| + getDisposition(newFile, importer.Destination.GOOGLE_DRIVE)
|
| + .then(
|
| + function(disposition) {
|
| + assertEquals(importer.Disposition.ORIGINAL, disposition);
|
| + }),
|
| + callback);
|
| +};
|
| +
|
| /**
|
| * @param {!Array.<string>} filePaths
|
| * @param {!Array.<string>} fileHashes
|
|
|