| Index: chrome/test/data/extensions/api_test/search_engines_private/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/search_engines_private/test.js b/chrome/test/data/extensions/api_test/search_engines_private/test.js
|
| index 4e52b7e5462f15c469aa93b8f577240c3d334853..548727cd707d8003a6bb129c2da68c0cddd8f1ab 100644
|
| --- a/chrome/test/data/extensions/api_test/search_engines_private/test.js
|
| +++ b/chrome/test/data/extensions/api_test/search_engines_private/test.js
|
| @@ -15,27 +15,92 @@ function callbackResult(result) {
|
|
|
| var availableTests = [
|
| function setSelectedSearchEngine() {
|
| - chrome.searchEnginesPrivate.getDefaultSearchEngines(function(engines) {
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + 'name1', 'search1.com', 'http://search1.com');
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
|
| chrome.searchEnginesPrivate.setSelectedSearchEngine(
|
| engines[engines.length - 1].guid);
|
| - chrome.searchEnginesPrivate.getDefaultSearchEngines(function(newEngines) {
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(newEngines) {
|
| chrome.test.assertTrue(newEngines[newEngines.length - 1].isSelected);
|
| chrome.test.succeed();
|
| });
|
| });
|
| },
|
|
|
| - function onDefaultSearchEnginesChanged() {
|
| - chrome.searchEnginesPrivate.onDefaultSearchEnginesChanged.addListener(
|
| + function onSearchEnginesChanged() {
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + 'name1', 'search1.com', 'http://search1.com/%s');
|
| + chrome.searchEnginesPrivate.onSearchEnginesChanged.addListener(
|
| function(engines) {
|
| - chrome.test.assertTrue(engines[1].isSelected,
|
| - 'Engine 1 should be selected');
|
| - chrome.test.succeed();
|
| + for (var i = 0; i < engines.length; i++) {
|
| + if (engines[i].name == 'name1') {
|
| + chrome.test.assertTrue(engines[engines.length - 1].isSelected);
|
| + chrome.test.succeed();
|
| + return;
|
| + }
|
| + }
|
| + chrome.test.fail();
|
| });
|
| - chrome.searchEnginesPrivate.getDefaultSearchEngines(function(engines) {
|
| - chrome.searchEnginesPrivate.setSelectedSearchEngine(engines[1].guid);
|
| +
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
|
| + // Setting an 'other' search engine as default should cause the
|
| + // onSearchEnginesChanged event to fire.
|
| + chrome.searchEnginesPrivate.setSelectedSearchEngine(
|
| + engines[engines.length - 1].guid);
|
| + });
|
| + },
|
| +
|
| + function addNewSearchEngine() {
|
| + var testName = 'name';
|
| + var testKeyword = 'search.com';
|
| + var testUrl = 'http://search.com';
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + testName, testKeyword, testUrl);
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
|
| + for (var i = 0; i < engines.length; i++) {
|
| + if (engines[i].name == testName) {
|
| + chrome.test.assertEq(testKeyword, engines[i].keyword);
|
| + chrome.test.assertEq(testUrl, engines[i].url);
|
| + chrome.test.succeed();
|
| + return;
|
| + }
|
| + }
|
| + chrome.test.fail();
|
| + });
|
| + },
|
| +
|
| + function updateSearchEngine() {
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + 'name1', 'search1.com', 'http://search1.com');
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
|
| + chrome.searchEnginesPrivate.updateSearchEngine(
|
| + engines[0].guid, 'name2', 'search2.com', 'http://search2.com');
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(newEngines) {
|
| + chrome.test.assertEq('name2', newEngines[0].name);
|
| + chrome.test.assertEq('search2.com', newEngines[0].keyword);
|
| + chrome.test.assertEq('http://search2.com', newEngines[0].url);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function removeSearchEngine() {
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + 'name1', 'search1.com', 'http://search1.com');
|
| + chrome.searchEnginesPrivate.addOtherSearchEngine(
|
| + 'name2', 'search2.com', 'http://search2.com');
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(engines) {
|
| + var engine1Guid = engines[1].guid;
|
| + chrome.searchEnginesPrivate.removeSearchEngine(engine1Guid);
|
| +
|
| + chrome.searchEnginesPrivate.getSearchEngines(function(newEngines) {
|
| + for (var i = 0; i < newEngines.length; i++) {
|
| + chrome.test.assertFalse(newEngines[i].guid == engine1Guid);
|
| + }
|
| + chrome.test.succeed();
|
| + });
|
| });
|
| - }
|
| + },
|
| ];
|
|
|
| var testToRun = window.location.search.substring(1);
|
|
|