summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js')
-rw-r--r--toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js107
1 files changed, 0 insertions, 107 deletions
diff --git a/toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js b/toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js
deleted file mode 100644
index 4942e7a9f..000000000
--- a/toolkit/components/autocomplete/tests/unit/test_finalCompleteValue_defaultIndex.js
+++ /dev/null
@@ -1,107 +0,0 @@
-function AutoCompleteResult(aResultValues) {
- this.defaultIndex = 0;
- this._values = aResultValues.map(x => x[0]);
- this._finalCompleteValues = aResultValues.map(x => x[1]);
-}
-AutoCompleteResult.prototype = Object.create(AutoCompleteResultBase.prototype);
-
-function AutoCompleteInput(aSearches) {
- this.searches = aSearches;
- this.popup.selectedIndex = 0;
- this.completeSelectedIndex = true;
- this.completeDefaultIndex = true;
-}
-AutoCompleteInput.prototype = Object.create(AutoCompleteInputBase.prototype);
-
-add_test(function test_handleEnter() {
- let results = [
- ["mozilla.com", "https://www.mozilla.com"],
- ["gomozilla.org", "http://www.gomozilla.org"],
- ];
- doSearch("moz", results, { selectedIndex: 0 }, controller => {
- let input = controller.input;
- Assert.equal(input.textValue, "mozilla.com");
- Assert.equal(controller.getFinalCompleteValueAt(0), results[0][1]);
- Assert.equal(controller.getFinalCompleteValueAt(1), results[1][1]);
- Assert.equal(input.popup.selectedIndex, 0);
-
- controller.handleEnter(false);
- // Verify that the keyboard-selected thing got inserted,
- // and not the mouse selection:
- Assert.equal(controller.input.textValue, "https://www.mozilla.com");
- });
-});
-
-add_test(function test_handleEnter_otherSelected() {
- // The popup selection may not coincide with what is filled into the input
- // field, for example if the user changed it with the mouse and then pressed
- // Enter. In such a case we should still use the inputField value and not the
- // popup selected value.
- let results = [
- ["mozilla.com", "https://www.mozilla.com"],
- ["gomozilla.org", "http://www.gomozilla.org"],
- ];
- doSearch("moz", results, { selectedIndex: 1 }, controller => {
- let input = controller.input;
- Assert.equal(input.textValue, "mozilla.com");
- Assert.equal(controller.getFinalCompleteValueAt(0), results[0][1]);
- Assert.equal(controller.getFinalCompleteValueAt(1), results[1][1]);
- Assert.equal(input.popup.selectedIndex, 1);
-
- controller.handleEnter(false);
- // Verify that the keyboard-selected thing got inserted,
- // and not the mouse selection:
- Assert.equal(controller.input.textValue, "https://www.mozilla.com");
- });
-});
-
-add_test(function test_handleEnter_otherSelected_nocompleteselectedindex() {
- let results = [
- ["mozilla.com", "https://www.mozilla.com"],
- ["gomozilla.org", "http://www.gomozilla.org"],
- ];
- doSearch("moz", results, { selectedIndex: 1,
- completeSelectedIndex: false }, controller => {
- let input = controller.input;
- Assert.equal(input.textValue, "mozilla.com");
- Assert.equal(controller.getFinalCompleteValueAt(0), results[0][1]);
- Assert.equal(controller.getFinalCompleteValueAt(1), results[1][1]);
- Assert.equal(input.popup.selectedIndex, 1);
-
- controller.handleEnter(false);
- // Verify that the keyboard-selected result is inserted, not the
- // defaultComplete.
- Assert.equal(controller.input.textValue, "http://www.gomozilla.org");
- });
-});
-
-function doSearch(aSearchString, aResults, aOptions, aOnCompleteCallback) {
- let search = new AutoCompleteSearchBase(
- "search",
- new AutoCompleteResult(aResults)
- );
- registerAutoCompleteSearch(search);
-
- let input = new AutoCompleteInput([ search.name ]);
- input.textValue = aSearchString;
- if ("selectedIndex" in aOptions) {
- input.popup.selectedIndex = aOptions.selectedIndex;
- }
- if ("completeSelectedIndex" in aOptions) {
- input.completeSelectedIndex = aOptions.completeSelectedIndex;
- }
- // Needed for defaultIndex completion.
- input.selectTextRange(aSearchString.length, aSearchString.length);
-
- let controller = Cc["@mozilla.org/autocomplete/controller;1"].
- getService(Ci.nsIAutoCompleteController);
- controller.input = input;
- controller.startSearch(aSearchString);
-
- input.onSearchComplete = function onSearchComplete() {
- aOnCompleteCallback(controller);
-
- unregisterAutoCompleteSearch(search);
- run_next_test();
- };
-}