diff options
Diffstat (limited to 'devtools/client/commandline/test/browser_gcli_spell.js')
-rw-r--r-- | devtools/client/commandline/test/browser_gcli_spell.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/devtools/client/commandline/test/browser_gcli_spell.js b/devtools/client/commandline/test/browser_gcli_spell.js new file mode 100644 index 000000000..0448ed39b --- /dev/null +++ b/devtools/client/commandline/test/browser_gcli_spell.js @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2009 Panagiotis Astithas + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +"use strict"; + +// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT +// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT + +const exports = {}; + +function test() { + helpers.runTestModule(exports, "browser_gcli_spell.js"); +} + +// var assert = require('../testharness/assert'); +var spell = require("gcli/util/spell"); + +exports.testSpellerSimple = function (options) { + var alternatives = [ + "window", "document", "InstallTrigger", "requirejs", "require", "define", + "console", "location", "constructor", "getInterface", "external", "sidebar" + ]; + + assert.is(spell.correct("document", alternatives), "document"); + assert.is(spell.correct("documen", alternatives), "document"); + assert.is(spell.correct("ocument", alternatives), "document"); + assert.is(spell.correct("odcument", alternatives), "document"); + + assert.is(spell.correct("=========", alternatives), undefined); +}; + +exports.testRank = function (options) { + var distances = spell.rank("fred", [ "banana", "fred", "ed", "red", "FRED" ]); + + assert.is(distances.length, 5, "rank length"); + + assert.is(distances[0].name, "fred", "fred name #0"); + assert.is(distances[1].name, "FRED", "FRED name #1"); + assert.is(distances[2].name, "red", "red name #2"); + assert.is(distances[3].name, "ed", "ed name #3"); + assert.is(distances[4].name, "banana", "banana name #4"); + + assert.is(distances[0].dist, 0, "fred dist 0"); + assert.is(distances[1].dist, 4, "FRED dist 4"); + assert.is(distances[2].dist, 10, "red dist 10"); + assert.is(distances[3].dist, 20, "ed dist 20"); + assert.is(distances[4].dist, 100, "banana dist 100"); +}; + +exports.testRank2 = function (options) { + var distances = spell.rank("caps", [ "CAPS", "false" ]); + assert.is(JSON.stringify(distances), + '[{"name":"CAPS","dist":4},{"name":"false","dist":50}]', + 'spell.rank("caps", [ "CAPS", "false" ]'); +}; + +exports.testDistancePrefix = function (options) { + assert.is(spell.distancePrefix("fred", "freddy"), 0, "distancePrefix fred"); + assert.is(spell.distancePrefix("FRED", "freddy"), 4, "distancePrefix FRED"); +}; |