Bug 1336395 - Disallow same alias in search engines r?jaws draft
authortfe <tfeserver@gmail.com>
Tue, 23 May 2017 16:30:27 +0200
changeset 583014 974076d901f35308cf5c1e7df8229e7cfeb9cf65
parent 583013 b877d2a2a634edde2e07486f8116a37a392eb55f
child 583015 70586f6a915f2f4e0b0c56e74c450f335d638592
push id60263
push userbmo:tfeserver@gmail.com
push dateTue, 23 May 2017 15:03:12 +0000
reviewersjaws
bugs1336395
milestone55.0a1
Bug 1336395 - Disallow same alias in search engines r?jaws MozReview-Commit-ID: 7iVcm5343R5
browser/components/preferences/in-content-old/search.js
browser/components/preferences/in-content/main.js
browser/components/preferences/in-content/tests/browser_engines.js
--- a/browser/components/preferences/in-content-old/search.js
+++ b/browser/components/preferences/in-content-old/search.js
@@ -261,20 +261,20 @@ var gSearchPane = {
       let eduplicate = false;
       let dupName = "";
 
       // Check for duplicates in Places keywords.
       let bduplicate = !!(await PlacesUtils.keywords.fetch(keyword));
 
       // Check for duplicates in changes we haven't committed yet
       let engines = gEngineView._engineStore.engines;
-      let lc_keyword = keyword.toLowerCase();
+      let lc_keyword = keyword.toLocaleLowerCase();
       for (let engine of engines) {
         if (engine.alias &&
-            engine.alias.toLowerCase() == lc_keyword &&
+            engine.alias.toLocaleLowerCase() == lc_keyword &&
             engine.name != aEngine.name) {
           eduplicate = true;
           dupName = engine.name;
           break;
         }
       }
 
       // Notify the user if they have chosen an existing engine/bookmark keyword
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
@@ -1040,20 +1040,20 @@ var gMainPane = {
       let eduplicate = false;
       let dupName = "";
 
       // Check for duplicates in Places keywords.
       let bduplicate = !!(await PlacesUtils.keywords.fetch(keyword));
 
       // Check for duplicates in changes we haven't committed yet
       let engines = gEngineView._engineStore.engines;
-      let lc_keyword = keyword.toLowerCase();
+      let lc_keyword = keyword.toLocaleLowerCase();
       for (let engine of engines) {
         if (engine.alias &&
-            engine.alias.toLowerCase() == lc_keyword &&
+            engine.alias.toLocaleLowerCase() == lc_keyword &&
             engine.name != aEngine.name) {
           eduplicate = true;
           dupName = engine.name;
           break;
         }
       }
 
       // Notify the user if they have chosen an existing engine/bookmark keyword
--- a/browser/components/preferences/in-content/tests/browser_engines.js
+++ b/browser/components/preferences/in-content/tests/browser_engines.js
@@ -1,52 +1,27 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
 // Test Engine list
 add_task(async function() {
   let prefs = await openPreferencesViaOpenPreferencesAPI("general-search", {leaveOpen: true});
   is(prefs.selectedPane, "paneGeneral", "General pane is selected by default");
   let doc = gBrowser.contentDocument;
 
   let tree = doc.querySelector("#engineList");
   ok(!tree.hidden, "The search engine list should be visible when Search is requested");
 
   // Check for default search engines to be displayed in the engineList
   let defaultEngines = Services.search.getDefaultEngines();
   for(let i=0; i<defaultEngines.length; i++) {
       let engine = defaultEngines[i];
-      let cellName = tree.view.getCellText(i,tree.columns.getNamedColumn('engineName'));
-      is(cellName, engine.name,'Default search engine '+engine.name+' displayed correctly');
+      let cellName = tree.view.getCellText(i, tree.columns.getNamedColumn('engineName'));
+      is(cellName, engine.name, 'Default search engine ' + engine.name + ' displayed correctly');
   }
 
   // Avoid duplicated keywords
-  tree.view.setCellText(0,tree.columns.getNamedColumn('engineKeyword'),'keyword');
-  tree.view.setCellText(1,tree.columns.getNamedColumn('engineKeyword'),'keyword');
+  tree.view.setCellText(0,tree.columns.getNamedColumn('engineKeyword'), 'keyword');
+  tree.view.setCellText(1,tree.columns.getNamedColumn('engineKeyword'), 'keyword');
   let cellKeyword = tree.view.getCellText(1,tree.columns.getNamedColumn('engineKeyword'));
-  isnot(cellKeyword, 'keyword','Do not allow duplicated keywords');
+  isnot(cellKeyword, 'keyword', 'Do not allow duplicated keywords');
 
-  // Enable Disable Engines
-  tree.view.setCellValue(0,tree.columns.getNamedColumn('engineShown'), false);
-  is(tree.view.getCellValue(0,tree.columns.getNamedColumn('engineShown')) , 'false', 'Disable engine');
-  tree.view.setCellValue(0,tree.columns.getNamedColumn('engineShown'), true);
-  is(tree.view.getCellValue(0,tree.columns.getNamedColumn('engineShown')) , 'true', 'Enable engine');
 
   await BrowserTestUtils.removeTab(gBrowser.selectedTab);
 });
 
-
-function openPreferencesViaHash(aPane) {
-  return new Promise(resolve => {
-    gBrowser.selectedTab = gBrowser.addTab("about:preferences" + (aPane ? "#" + aPane : ""));
-    let newTabBrowser = gBrowser.selectedBrowser;
-
-    newTabBrowser.addEventListener("Initialized", function() {
-      newTabBrowser.contentWindow.addEventListener("load", function() {
-        let win = gBrowser.contentWindow;
-        let selectedPane = win.history.state;
-        gBrowser.removeCurrentTab();
-        resolve({selectedPane});
-      }, {once: true});
-    }, {capture: true, once: true});
-
-  });
-}