summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js')
-rw-r--r--toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js119
1 files changed, 0 insertions, 119 deletions
diff --git a/toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js b/toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js
deleted file mode 100644
index 6556a26dc..000000000
--- a/toolkit/components/autocomplete/tests/unit/test_finalCompleteValueSelectedIndex.js
+++ /dev/null
@@ -1,119 +0,0 @@
-function AutoCompleteResult(aResultValues) {
- this._values = aResultValues.map(x => x[0]);
- this._finalCompleteValues = aResultValues.map(x => x[1]);
-}
-AutoCompleteResult.prototype = Object.create(AutoCompleteResultBase.prototype);
-
-var selectByWasCalled = false;
-function AutoCompleteInput(aSearches) {
- this.searches = aSearches;
- this.popup.selectedIndex = 0;
- this.popup.selectBy = function(reverse, page) {
- Assert.equal(selectByWasCalled, false);
- selectByWasCalled = true;
- Assert.equal(reverse, false);
- Assert.equal(page, false);
- this.selectedIndex += (reverse ? -1 : 1) * (page ? 100 : 1);
- };
- this.completeSelectedIndex = true;
-}
-AutoCompleteInput.prototype = Object.create(AutoCompleteInputBase.prototype);
-
-add_test(function test_handleEnter_key() {
- let results = [
- ["mozilla.com", "http://www.mozilla.com"],
- ["mozilla.org", "http://www.mozilla.org"],
- ];
- // First check the case where we do select a value with the keyboard:
- doSearch("moz", results, function(aController) {
- Assert.equal(aController.input.textValue, "moz");
- Assert.equal(aController.getFinalCompleteValueAt(0), "http://www.mozilla.com");
- Assert.equal(aController.getFinalCompleteValueAt(1), "http://www.mozilla.org");
-
- Assert.equal(aController.input.popup.selectedIndex, 0);
- aController.handleKeyNavigation(Ci.nsIDOMKeyEvent.DOM_VK_DOWN);
- Assert.equal(aController.input.popup.selectedIndex, 1);
- // Simulate mouse interaction changing selectedIndex
- // ie NOT keyboard interaction:
- aController.input.popup.selectedIndex = 0;
-
- aController.handleEnter(false);
- // Verify that the keyboard-selected thing got inserted,
- // and not the mouse selection:
- Assert.equal(aController.input.textValue, "http://www.mozilla.org");
- });
-});
-
-add_test(function test_handleEnter_mouse() {
- let results = [
- ["mozilla.com", "http://www.mozilla.com"],
- ["mozilla.org", "http://www.mozilla.org"],
- ];
- // Then the case where we do not:
- doSearch("moz", results, function(aController) {
- Assert.equal(aController.input.textValue, "moz");
- Assert.equal(aController.getFinalCompleteValueAt(0), "http://www.mozilla.com");
- Assert.equal(aController.getFinalCompleteValueAt(1), "http://www.mozilla.org");
-
- Assert.equal(aController.input.popup.selectedIndex, 0);
- aController.input.popupOpen = true;
- // Simulate mouse interaction changing selectedIndex
- // ie NOT keyboard interaction:
- aController.input.popup.selectedIndex = 1;
- Assert.equal(selectByWasCalled, false);
- Assert.equal(aController.input.popup.selectedIndex, 1);
-
- aController.handleEnter(false);
- // Verify that the input stayed the same, because no selection was made
- // with the keyboard:
- Assert.equal(aController.input.textValue, "moz");
- });
-});
-
-add_test(function test_handleEnter_preselected() {
- let results = [
- ["mozilla.com", "http://www.mozilla.com"],
- ["mozilla.org", "http://www.mozilla.org"],
- ];
- // Then test a preselection.
- doSearch("moz", results, function(aController) {
- Assert.equal(aController.input.textValue, "moz");
- Assert.equal(aController.getFinalCompleteValueAt(0), "http://www.mozilla.com");
- Assert.equal(aController.getFinalCompleteValueAt(1), "http://www.mozilla.org");
-
- aController.setInitiallySelectedIndex(0);
-
- aController.handleEnter(false);
- // Verify that the input stayed the same, because no selection was made
- // with the keyboard:
- Assert.equal(aController.input.textValue, "http://www.mozilla.com");
- });
-});
-
-function doSearch(aSearchString, aResults, aOnCompleteCallback) {
- selectByWasCalled = false;
- let search = new AutoCompleteSearchBase(
- "search",
- new AutoCompleteResult(aResults)
- );
- registerAutoCompleteSearch(search);
-
- let controller = Cc["@mozilla.org/autocomplete/controller;1"].
- getService(Ci.nsIAutoCompleteController);
-
- // Make an AutoCompleteInput that uses our searches and confirms results.
- let input = new AutoCompleteInput([ search.name ]);
- input.textValue = aSearchString;
-
- controller.input = input;
- controller.startSearch(aSearchString);
-
- input.onSearchComplete = function onSearchComplete() {
- aOnCompleteCallback(controller);
-
- // Clean up.
- unregisterAutoCompleteSearch(search);
- run_next_test();
- };
-}
-