OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "chrome/browser/autofill/autofill_address_model_mac.h" | 5 #import "chrome/browser/autofill/autofill_address_model_mac.h" |
6 #import "chrome/browser/autofill/autofill_address_view_controller_mac.h" | 6 #import "chrome/browser/autofill/autofill_address_view_controller_mac.h" |
7 #import "chrome/browser/autofill/autofill_credit_card_model_mac.h" | 7 #import "chrome/browser/autofill/autofill_credit_card_model_mac.h" |
8 #import "chrome/browser/autofill/autofill_credit_card_view_controller_mac.h" | 8 #import "chrome/browser/autofill/autofill_credit_card_view_controller_mac.h" |
9 #import "chrome/browser/autofill/autofill_dialog_controller_mac.h" | 9 #import "chrome/browser/autofill/autofill_dialog_controller_mac.h" |
10 #include "chrome/browser/autofill/autofill_profile.h" | 10 #include "chrome/browser/autofill/autofill_profile.h" |
11 #include "chrome/browser/cocoa/browser_test_helper.h" | 11 #include "chrome/browser/cocoa/browser_test_helper.h" |
12 #import "chrome/browser/cocoa/cocoa_test_helper.h" | 12 #import "chrome/browser/cocoa/cocoa_test_helper.h" |
| 13 #include "chrome/browser/pref_service.h" |
13 #include "chrome/browser/profile.h" | 14 #include "chrome/browser/profile.h" |
| 15 #include "chrome/common/pref_names.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
15 | 17 |
16 namespace { | 18 namespace { |
17 class AutoFillDialogObserverTester : public AutoFillDialogObserver { | 19 class AutoFillDialogObserverTester : public AutoFillDialogObserver { |
18 public: | 20 public: |
19 AutoFillDialogObserverTester() : hit_(false) {} | 21 AutoFillDialogObserverTester() |
| 22 : hit_(false) {} |
20 virtual ~AutoFillDialogObserverTester() {} | 23 virtual ~AutoFillDialogObserverTester() {} |
21 | 24 |
22 virtual void OnAutoFillDialogApply( | 25 virtual void OnAutoFillDialogApply( |
23 std::vector<AutoFillProfile>* profiles, | 26 std::vector<AutoFillProfile>* profiles, |
24 std::vector<CreditCard>* credit_cards) { | 27 std::vector<CreditCard>* credit_cards) { |
25 hit_ = true; | 28 hit_ = true; |
26 | 29 |
27 std::vector<AutoFillProfile>::iterator i; | 30 std::vector<AutoFillProfile>::iterator i; |
28 profiles_.clear(); | 31 profiles_.clear(); |
29 for (i = profiles->begin(); i != profiles->end(); ++i) | 32 for (i = profiles->begin(); i != profiles->end(); ++i) |
(...skipping 14 matching lines...) Expand all Loading... |
44 }; | 47 }; |
45 | 48 |
46 class AutoFillDialogControllerTest : public CocoaTest { | 49 class AutoFillDialogControllerTest : public CocoaTest { |
47 public: | 50 public: |
48 AutoFillDialogControllerTest() {} | 51 AutoFillDialogControllerTest() {} |
49 | 52 |
50 void LoadDialog() { | 53 void LoadDialog() { |
51 controller_ = [AutoFillDialogController | 54 controller_ = [AutoFillDialogController |
52 controllerWithObserver:&observer_ | 55 controllerWithObserver:&observer_ |
53 autoFillProfiles:profiles_ | 56 autoFillProfiles:profiles_ |
54 creditCards:credit_cards_]; | 57 creditCards:credit_cards_ |
| 58 profile:helper_.profile()]; |
55 [controller_ window]; | 59 [controller_ window]; |
56 } | 60 } |
57 | 61 |
58 BrowserTestHelper helper_; | 62 BrowserTestHelper helper_; |
59 AutoFillDialogObserverTester observer_; | 63 AutoFillDialogObserverTester observer_; |
60 AutoFillDialogController* controller_; // weak reference | 64 AutoFillDialogController* controller_; // weak reference |
61 std::vector<AutoFillProfile*> profiles_; // weak references within vector | 65 std::vector<AutoFillProfile*> profiles_; // weak references within vector |
62 std::vector<CreditCard*> credit_cards_; // weak references within vector | 66 std::vector<CreditCard*> credit_cards_; // weak references within vector |
63 | 67 |
64 private: | 68 private: |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 385 |
382 // Sizes should match be different. New size should be 0. | 386 // Sizes should match be different. New size should be 0. |
383 ASSERT_NE(observer_.credit_cards_.size(), credit_cards_.size()); | 387 ASSERT_NE(observer_.credit_cards_.size(), credit_cards_.size()); |
384 ASSERT_EQ(observer_.credit_cards_.size(), 1UL); | 388 ASSERT_EQ(observer_.credit_cards_.size(), 1UL); |
385 | 389 |
386 // First credit card should match. | 390 // First credit card should match. |
387 credit_cards_[0]->set_unique_id(observer_.credit_cards_[0].unique_id()); | 391 credit_cards_[0]->set_unique_id(observer_.credit_cards_[0].unique_id()); |
388 ASSERT_EQ(observer_.credit_cards_[0], credit_card); | 392 ASSERT_EQ(observer_.credit_cards_[0], credit_card); |
389 } | 393 } |
390 | 394 |
| 395 TEST_F(AutoFillDialogControllerTest, AuxiliaryProfilesFalse) { |
| 396 LoadDialog(); |
| 397 [controller_ save:nil]; |
| 398 |
| 399 // Should hit our observer. |
| 400 ASSERT_TRUE(observer_.hit_); |
| 401 |
| 402 // Auxiliary profiles setting should be unchanged. |
| 403 ASSERT_FALSE(helper_.profile()->GetPrefs()->GetBoolean( |
| 404 prefs::kAutoFillAuxiliaryProfilesEnabled)); |
| 405 } |
| 406 |
| 407 TEST_F(AutoFillDialogControllerTest, AuxiliaryProfilesTrue) { |
| 408 helper_.profile()->GetPrefs()->SetBoolean( |
| 409 prefs::kAutoFillAuxiliaryProfilesEnabled, true); |
| 410 LoadDialog(); |
| 411 [controller_ save:nil]; |
| 412 |
| 413 // Should hit our observer. |
| 414 ASSERT_TRUE(observer_.hit_); |
| 415 |
| 416 // Auxiliary profiles setting should be unchanged. |
| 417 ASSERT_TRUE(helper_.profile()->GetPrefs()->GetBoolean( |
| 418 prefs::kAutoFillAuxiliaryProfilesEnabled)); |
| 419 } |
| 420 |
| 421 TEST_F(AutoFillDialogControllerTest, AuxiliaryProfilesChanged) { |
| 422 helper_.profile()->GetPrefs()->SetBoolean( |
| 423 prefs::kAutoFillAuxiliaryProfilesEnabled, false); |
| 424 LoadDialog(); |
| 425 [controller_ setAuxiliaryEnabled:YES]; |
| 426 [controller_ save:nil]; |
| 427 |
| 428 // Should hit our observer. |
| 429 ASSERT_TRUE(observer_.hit_); |
| 430 |
| 431 // Auxiliary profiles setting should be unchanged. |
| 432 ASSERT_TRUE(helper_.profile()->GetPrefs()->GetBoolean( |
| 433 prefs::kAutoFillAuxiliaryProfilesEnabled)); |
| 434 } |
391 | 435 |
392 } | 436 } |
OLD | NEW |