diff options
Diffstat (limited to 'toolkit/modules/tests/xpcshell/test_BinarySearch.js')
-rw-r--r-- | toolkit/modules/tests/xpcshell/test_BinarySearch.js | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/toolkit/modules/tests/xpcshell/test_BinarySearch.js b/toolkit/modules/tests/xpcshell/test_BinarySearch.js deleted file mode 100644 index f48b0bccf..000000000 --- a/toolkit/modules/tests/xpcshell/test_BinarySearch.js +++ /dev/null @@ -1,81 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -Components.utils.import("resource://gre/modules/BinarySearch.jsm"); - -function run_test() { - // empty array - ok([], 1, false, 0); - - // one-element array - ok([2], 2, true, 0); - ok([2], 1, false, 0); - ok([2], 3, false, 1); - - // two-element array - ok([2, 4], 2, true, 0); - ok([2, 4], 4, true, 1); - ok([2, 4], 1, false, 0); - ok([2, 4], 3, false, 1); - ok([2, 4], 5, false, 2); - - // three-element array - ok([2, 4, 6], 2, true, 0); - ok([2, 4, 6], 4, true, 1); - ok([2, 4, 6], 6, true, 2); - ok([2, 4, 6], 1, false, 0); - ok([2, 4, 6], 3, false, 1); - ok([2, 4, 6], 5, false, 2); - ok([2, 4, 6], 7, false, 3); - - // duplicates - ok([2, 2], 2, true, 0); - ok([2, 2], 1, false, 0); - ok([2, 2], 3, false, 2); - - // duplicates on the left - ok([2, 2, 4], 2, true, 1); - ok([2, 2, 4], 4, true, 2); - ok([2, 2, 4], 1, false, 0); - ok([2, 2, 4], 3, false, 2); - ok([2, 2, 4], 5, false, 3); - - // duplicates on the right - ok([2, 4, 4], 2, true, 0); - ok([2, 4, 4], 4, true, 1); - ok([2, 4, 4], 1, false, 0); - ok([2, 4, 4], 3, false, 1); - ok([2, 4, 4], 5, false, 3); - - // duplicates in the middle - ok([2, 4, 4, 6], 2, true, 0); - ok([2, 4, 4, 6], 4, true, 1); - ok([2, 4, 4, 6], 6, true, 3); - ok([2, 4, 4, 6], 1, false, 0); - ok([2, 4, 4, 6], 3, false, 1); - ok([2, 4, 4, 6], 5, false, 3); - ok([2, 4, 4, 6], 7, false, 4); - - // duplicates all around - ok([2, 2, 4, 4, 6, 6], 2, true, 0); - ok([2, 2, 4, 4, 6, 6], 4, true, 2); - ok([2, 2, 4, 4, 6, 6], 6, true, 4); - ok([2, 2, 4, 4, 6, 6], 1, false, 0); - ok([2, 2, 4, 4, 6, 6], 3, false, 2); - ok([2, 2, 4, 4, 6, 6], 5, false, 4); - ok([2, 2, 4, 4, 6, 6], 7, false, 6); -} - -function ok(array, target, expectedFound, expectedIdx) { - let [found, idx] = BinarySearch.search(cmp, array, target); - do_check_eq(found, expectedFound); - do_check_eq(idx, expectedIdx); - - idx = expectedFound ? expectedIdx : -1; - do_check_eq(BinarySearch.indexOf(cmp, array, target), idx); - do_check_eq(BinarySearch.insertionIndexOf(cmp, array, target), expectedIdx); -} - -function cmp(num1, num2) { - return num1 - num2; -} |