diff options
Diffstat (limited to 'toolkit/components/places/tests/unit/test_utils_backups_create.js')
-rw-r--r-- | toolkit/components/places/tests/unit/test_utils_backups_create.js | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/toolkit/components/places/tests/unit/test_utils_backups_create.js b/toolkit/components/places/tests/unit/test_utils_backups_create.js deleted file mode 100644 index a30589c44..000000000 --- a/toolkit/components/places/tests/unit/test_utils_backups_create.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - /** - * Check for correct functionality of bookmarks backups - */ - -const NUMBER_OF_BACKUPS = 10; - -function run_test() { - run_next_test(); -} - -add_task(function* () { - // Generate random dates. - let dateObj = new Date(); - let dates = []; - while (dates.length < NUMBER_OF_BACKUPS) { - // Use last year to ensure today's backup is the newest. - let randomDate = new Date(dateObj.getFullYear() - 1, - Math.floor(12 * Math.random()), - Math.floor(28 * Math.random())); - if (!dates.includes(randomDate.getTime())) - dates.push(randomDate.getTime()); - } - // Sort dates from oldest to newest. - dates.sort(); - - // Get and cleanup the backups folder. - let backupFolderPath = yield PlacesBackups.getBackupFolder(); - let bookmarksBackupDir = new FileUtils.File(backupFolderPath); - - // Fake backups are created backwards to ensure we won't consider file - // creation time. - // Create fake backups for the newest dates. - for (let i = dates.length - 1; i >= 0; i--) { - let backupFilename = PlacesBackups.getFilenameForDate(new Date(dates[i])); - let backupFile = bookmarksBackupDir.clone(); - backupFile.append(backupFilename); - backupFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("0666", 8)); - do_print("Creating fake backup " + backupFile.leafName); - if (!backupFile.exists()) - do_throw("Unable to create fake backup " + backupFile.leafName); - } - - yield PlacesBackups.create(NUMBER_OF_BACKUPS); - // Add today's backup. - dates.push(dateObj.getTime()); - - // Check backups. We have 11 dates but we the max number is 10 so the - // oldest backup should have been removed. - for (let i = 0; i < dates.length; i++) { - let backupFilename; - let shouldExist; - let backupFile; - if (i > 0) { - let files = bookmarksBackupDir.directoryEntries; - while (files.hasMoreElements()) { - let entry = files.getNext().QueryInterface(Ci.nsIFile); - if (PlacesBackups.filenamesRegex.test(entry.leafName)) { - backupFilename = entry.leafName; - backupFile = entry; - break; - } - } - shouldExist = true; - } - else { - backupFilename = PlacesBackups.getFilenameForDate(new Date(dates[i])); - backupFile = bookmarksBackupDir.clone(); - backupFile.append(backupFilename); - shouldExist = false; - } - if (backupFile.exists() != shouldExist) - do_throw("Backup should " + (shouldExist ? "" : "not") + " exist: " + backupFilename); - } - - // Cleanup backups folder. - // XXX: Can't use bookmarksBackupDir.remove(true) because file lock happens - // on WIN XP. - let files = bookmarksBackupDir.directoryEntries; - while (files.hasMoreElements()) { - let entry = files.getNext().QueryInterface(Ci.nsIFile); - entry.remove(false); - } - do_check_false(bookmarksBackupDir.directoryEntries.hasMoreElements()); -}); |