Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Unified Diff: ui/file_manager/file_manager/background/js/duplicate_finder_unittest.js

Issue 980603003: Move content deduplication into the scan process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Respond to review comments. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698