summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/unit/test_sql_guid_functions.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/unit/test_sql_guid_functions.js')
-rw-r--r--toolkit/components/places/tests/unit/test_sql_guid_functions.js106
1 files changed, 0 insertions, 106 deletions
diff --git a/toolkit/components/places/tests/unit/test_sql_guid_functions.js b/toolkit/components/places/tests/unit/test_sql_guid_functions.js
deleted file mode 100644
index 41e6bab9e..000000000
--- a/toolkit/components/places/tests/unit/test_sql_guid_functions.js
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-/**
- * This file tests that the guid function generates a guid of the proper length,
- * with no invalid characters.
- */
-
-/**
- * Checks all our invariants about our guids for a given result.
- *
- * @param aGuid
- * The guid to check.
- */
-function check_invariants(aGuid)
-{
- do_print("Checking guid '" + aGuid + "'");
-
- do_check_valid_places_guid(aGuid);
-}
-
-// Test Functions
-
-function test_guid_invariants()
-{
- const kExpectedChars = 64;
- const kAllowedChars =
- "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"
- do_check_eq(kAllowedChars.length, kExpectedChars);
- const kGuidLength = 12;
-
- let checkedChars = [];
- for (let i = 0; i < kGuidLength; i++) {
- checkedChars[i] = {};
- for (let j = 0; j < kAllowedChars; j++) {
- checkedChars[i][kAllowedChars[j]] = false;
- }
- }
-
- // We run this until we've seen every character that we expect to see in every
- // position.
- let seenChars = 0;
- let stmt = DBConn().createStatement("SELECT GENERATE_GUID()");
- while (seenChars != (kExpectedChars * kGuidLength)) {
- do_check_true(stmt.executeStep());
- let guid = stmt.getString(0);
- check_invariants(guid);
-
- for (let i = 0; i < guid.length; i++) {
- let character = guid[i];
- if (!checkedChars[i][character]) {
- checkedChars[i][character] = true;
- seenChars++;
- }
- }
- stmt.reset();
- }
- stmt.finalize();
-
- // One last reality check - make sure all of our characters were seen.
- for (let i = 0; i < kGuidLength; i++) {
- for (let j = 0; j < kAllowedChars; j++) {
- do_check_true(checkedChars[i][kAllowedChars[j]]);
- }
- }
-
- run_next_test();
-}
-
-function test_guid_on_background()
-{
- // We should not assert if we execute this asynchronously.
- let stmt = DBConn().createAsyncStatement("SELECT GENERATE_GUID()");
- let checked = false;
- stmt.executeAsync({
- handleResult: function(aResult) {
- try {
- let row = aResult.getNextRow();
- check_invariants(row.getResultByIndex(0));
- do_check_eq(aResult.getNextRow(), null);
- checked = true;
- }
- catch (e) {
- do_throw(e);
- }
- },
- handleCompletion: function(aReason) {
- do_check_eq(aReason, Ci.mozIStorageStatementCallback.REASON_FINISHED);
- do_check_true(checked);
- run_next_test();
- }
- });
- stmt.finalize();
-}
-
-// Test Runner
-
-[
- test_guid_invariants,
- test_guid_on_background,
-].forEach(add_test);
-
-function run_test()
-{
- run_next_test();
-}