| Index: chrome/browser/ui/cocoa/search_engine_list_model_unittest.mm | 
| =================================================================== | 
| --- chrome/browser/ui/cocoa/search_engine_list_model_unittest.mm	(revision 71447) | 
| +++ chrome/browser/ui/cocoa/search_engine_list_model_unittest.mm	(working copy) | 
| @@ -1,152 +0,0 @@ | 
| -// Copyright (c) 2009 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#include "base/scoped_nsobject.h" | 
| -#include "chrome/browser/profiles/profile.h" | 
| -#include "chrome/browser/search_engines/template_url.h" | 
| -#include "chrome/browser/search_engines/template_url_model.h" | 
| -#include "chrome/browser/ui/cocoa/browser_test_helper.h" | 
| -#import "chrome/browser/ui/cocoa/search_engine_list_model.h" | 
| -#include "testing/gtest/include/gtest/gtest.h" | 
| -#import "testing/gtest_mac.h" | 
| -#include "testing/platform_test.h" | 
| - | 
| -// A helper for NSNotifications. Makes a note that it's been called back. | 
| -@interface SearchEngineListHelper : NSObject { | 
| - @public | 
| -  BOOL sawNotification_; | 
| -} | 
| -@end | 
| - | 
| -@implementation SearchEngineListHelper | 
| -- (void)entryChanged:(NSNotification*)notify { | 
| -  sawNotification_ = YES; | 
| -} | 
| -@end | 
| - | 
| -class SearchEngineListModelTest : public PlatformTest { | 
| - public: | 
| -  SearchEngineListModelTest() { | 
| -    // Build a fake set of template urls. | 
| -    template_model_.reset(new TemplateURLModel(helper_.profile())); | 
| -    TemplateURL* t_url = new TemplateURL(); | 
| -    t_url->SetURL("http://www.google.com/?q={searchTerms}", 0, 0); | 
| -    t_url->set_keyword(L"keyword"); | 
| -    t_url->set_short_name(L"google"); | 
| -    t_url->set_show_in_default_list(true); | 
| -    template_model_->Add(t_url); | 
| -    t_url = new TemplateURL(); | 
| -    t_url->SetURL("http://www.google2.com/?q={searchTerms}", 0, 0); | 
| -    t_url->set_keyword(L"keyword2"); | 
| -    t_url->set_short_name(L"google2"); | 
| -    t_url->set_show_in_default_list(true); | 
| -    template_model_->Add(t_url); | 
| -    EXPECT_EQ(template_model_->GetTemplateURLs().size(), 2U); | 
| - | 
| -    model_.reset([[SearchEngineListModel alloc] | 
| -                    initWithModel:template_model_.get()]); | 
| -    notification_helper_.reset([[SearchEngineListHelper alloc] init]); | 
| -    [[NSNotificationCenter defaultCenter] | 
| -        addObserver:notification_helper_.get() | 
| -           selector:@selector(entryChanged:) | 
| -              name:kSearchEngineListModelChangedNotification | 
| -            object:nil]; | 
| -   } | 
| -  ~SearchEngineListModelTest() { | 
| -    [[NSNotificationCenter defaultCenter] | 
| -        removeObserver:notification_helper_.get()]; | 
| -  } | 
| - | 
| -  BrowserTestHelper helper_; | 
| -  scoped_ptr<TemplateURLModel> template_model_; | 
| -  scoped_nsobject<SearchEngineListModel> model_; | 
| -  scoped_nsobject<SearchEngineListHelper> notification_helper_; | 
| -}; | 
| - | 
| -TEST_F(SearchEngineListModelTest, Init) { | 
| -  scoped_nsobject<SearchEngineListModel> model( | 
| -      [[SearchEngineListModel alloc] initWithModel:template_model_.get()]); | 
| -} | 
| - | 
| -TEST_F(SearchEngineListModelTest, Engines) { | 
| -  NSArray* engines = [model_ searchEngines]; | 
| -  EXPECT_EQ([engines count], 2U); | 
| -} | 
| - | 
| -TEST_F(SearchEngineListModelTest, Default) { | 
| -  EXPECT_EQ([model_ defaultIndex], -1); | 
| - | 
| -  [model_ setDefaultIndex:1]; | 
| -  EXPECT_EQ([model_ defaultIndex], 1); | 
| - | 
| -  // Add two more URLs, neither of which are shown in the default list. | 
| -  TemplateURL* t_url = new TemplateURL(); | 
| -  t_url->SetURL("http://www.google3.com/?q={searchTerms}", 0, 0); | 
| -  t_url->set_keyword(L"keyword3"); | 
| -  t_url->set_short_name(L"google3 not eligible"); | 
| -  t_url->set_show_in_default_list(false); | 
| -  template_model_->Add(t_url); | 
| -  t_url = new TemplateURL(); | 
| -  t_url->SetURL("http://www.google4.com/?q={searchTerms}", 0, 0); | 
| -  t_url->set_keyword(L"keyword4"); | 
| -  t_url->set_short_name(L"google4"); | 
| -  t_url->set_show_in_default_list(false); | 
| -  template_model_->Add(t_url); | 
| - | 
| -  // Still should only have 2 engines and not these newly added ones. | 
| -  EXPECT_EQ([[model_ searchEngines] count], 2U); | 
| - | 
| -  // Since keyword3 is not in the default list, the 2nd index in the default | 
| -  // keyword list should be keyword4. Test for http://crbug.com/21898. | 
| -  template_model_->SetDefaultSearchProvider(t_url); | 
| -  EXPECT_EQ([[model_ searchEngines] count], 3U); | 
| -  EXPECT_EQ([model_ defaultIndex], 2); | 
| - | 
| -  NSString* defaultString = [[model_ searchEngines] objectAtIndex:2]; | 
| -  EXPECT_NSEQ(@"google4", defaultString); | 
| -} | 
| - | 
| -TEST_F(SearchEngineListModelTest, DefaultChosenFromUI) { | 
| -  EXPECT_EQ([model_ defaultIndex], -1); | 
| - | 
| -  [model_ setDefaultIndex:1]; | 
| -  EXPECT_EQ([model_ defaultIndex], 1); | 
| - | 
| -  // Add two more URLs, the first one not shown in the default list. | 
| -  TemplateURL* t_url = new TemplateURL(); | 
| -  t_url->SetURL("http://www.google3.com/?q={searchTerms}", 0, 0); | 
| -  t_url->set_keyword(L"keyword3"); | 
| -  t_url->set_short_name(L"google3 not eligible"); | 
| -  t_url->set_show_in_default_list(false); | 
| -  template_model_->Add(t_url); | 
| -  t_url = new TemplateURL(); | 
| -  t_url->SetURL("http://www.google4.com/?q={searchTerms}", 0, 0); | 
| -  t_url->set_keyword(L"keyword4"); | 
| -  t_url->set_short_name(L"google4"); | 
| -  t_url->set_show_in_default_list(true); | 
| -  template_model_->Add(t_url); | 
| - | 
| -  // We should have 3 engines. | 
| -  EXPECT_EQ([[model_ searchEngines] count], 3U); | 
| - | 
| -  // Simulate the UI setting the default to the third entry. | 
| -  [model_ setDefaultIndex:2]; | 
| -  EXPECT_EQ([model_ defaultIndex], 2); | 
| - | 
| -  // The default search provider should be google4. | 
| -  EXPECT_EQ(template_model_->GetDefaultSearchProvider(), t_url); | 
| -} | 
| - | 
| -// Make sure that when the back-end model changes that we get a notification. | 
| -TEST_F(SearchEngineListModelTest, Notification) { | 
| -  // Add one more item to force a notification. | 
| -  TemplateURL* t_url = new TemplateURL(); | 
| -  t_url->SetURL("http://www.google3.com/foo/bar", 0, 0); | 
| -  t_url->set_keyword(L"keyword3"); | 
| -  t_url->set_short_name(L"google3"); | 
| -  t_url->set_show_in_default_list(true); | 
| -  template_model_->Add(t_url); | 
| - | 
| -  EXPECT_TRUE(notification_helper_.get()->sawNotification_); | 
| -} | 
|  |