summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/migration/head_migration.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/migration/head_migration.js')
-rw-r--r--toolkit/components/places/tests/migration/head_migration.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/migration/head_migration.js b/toolkit/components/places/tests/migration/head_migration.js
new file mode 100644
index 000000000..1ebecd4c0
--- /dev/null
+++ b/toolkit/components/places/tests/migration/head_migration.js
@@ -0,0 +1,46 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict"
+
+var { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components;
+
+Cu.import("resource://gre/modules/Services.jsm");
+
+// Import common head.
+{
+ let commonFile = do_get_file("../head_common.js", false);
+ let uri = Services.io.newFileURI(commonFile);
+ Services.scriptloader.loadSubScript(uri.spec, this);
+}
+
+// Put any other stuff relative to this test folder below.
+
+const DB_FILENAME = "places.sqlite";
+
+/**
+ * Sets the database to use for the given test. This should be the very first
+ * thing in the test, otherwise this database will not be used!
+ *
+ * @param aFileName
+ * The filename of the database to use. This database must exist in
+ * toolkit/components/places/tests/migration!
+ * @return {Promise}
+ */
+var setupPlacesDatabase = Task.async(function* (aFileName) {
+ let currentDir = yield OS.File.getCurrentDirectory();
+
+ let src = OS.Path.join(currentDir, aFileName);
+ Assert.ok((yield OS.File.exists(src)), "Database file found");
+
+ // Ensure that our database doesn't already exist.
+ let dest = OS.Path.join(OS.Constants.Path.profileDir, DB_FILENAME);
+ Assert.ok(!(yield OS.File.exists(dest)), "Database file should not exist yet");
+
+ yield OS.File.copy(src, dest);
+});
+
+// This works provided all tests in this folder use add_task.
+function run_test() {
+ run_next_test();
+}