зеркало из https://github.com/mozilla/gecko-dev.git
63 строки
1.7 KiB
JavaScript
63 строки
1.7 KiB
JavaScript
/*
|
|
* WARNING!
|
|
*
|
|
* Do not edit this file directly, it is built from the sources at
|
|
* https://github.com/mozilla/source-map/
|
|
*/
|
|
|
|
Components.utils.import('resource://test/Utils.jsm');
|
|
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
/*
|
|
* Copyright 2011 Mozilla Foundation and contributors
|
|
* Licensed under the New BSD license. See LICENSE or:
|
|
* http://opensource.org/licenses/BSD-3-Clause
|
|
*/
|
|
define("test/source-map/test-binary-search", ["require", "exports", "module"], function (require, exports, module) {
|
|
|
|
var binarySearch = require('source-map/binary-search');
|
|
|
|
function numberCompare(a, b) {
|
|
return a - b;
|
|
}
|
|
|
|
exports['test too high'] = function (assert, util) {
|
|
var needle = 30;
|
|
var haystack = [2,4,6,8,10,12,14,16,18,20];
|
|
|
|
assert.doesNotThrow(function () {
|
|
binarySearch.search(needle, haystack, numberCompare);
|
|
});
|
|
|
|
assert.equal(binarySearch.search(needle, haystack, numberCompare), 20);
|
|
};
|
|
|
|
exports['test too low'] = function (assert, util) {
|
|
var needle = 1;
|
|
var haystack = [2,4,6,8,10,12,14,16,18,20];
|
|
|
|
assert.doesNotThrow(function () {
|
|
binarySearch.search(needle, haystack, numberCompare);
|
|
});
|
|
|
|
assert.equal(binarySearch.search(needle, haystack, numberCompare), null);
|
|
};
|
|
|
|
exports['test exact search'] = function (assert, util) {
|
|
var needle = 4;
|
|
var haystack = [2,4,6,8,10,12,14,16,18,20];
|
|
|
|
assert.equal(binarySearch.search(needle, haystack, numberCompare), 4);
|
|
};
|
|
|
|
exports['test fuzzy search'] = function (assert, util) {
|
|
var needle = 19;
|
|
var haystack = [2,4,6,8,10,12,14,16,18,20];
|
|
|
|
assert.equal(binarySearch.search(needle, haystack, numberCompare), 18);
|
|
};
|
|
|
|
});
|
|
function run_test() {
|
|
runSourceMapTests('test/source-map/test-binary-search', do_throw);
|
|
}
|