| Index: chrome/browser/ui/cocoa/autofill/autofill_section_container_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/autofill/autofill_section_container_unittest.mm b/chrome/browser/ui/cocoa/autofill/autofill_section_container_unittest.mm
|
| deleted file mode 100644
|
| index bed1b6b78237a096b983a7c3536a329c49be2c3f..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/cocoa/autofill/autofill_section_container_unittest.mm
|
| +++ /dev/null
|
| @@ -1,252 +0,0 @@
|
| -// Copyright (c) 2013 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.
|
| -
|
| -#import "chrome/browser/ui/cocoa/autofill/autofill_section_container.h"
|
| -
|
| -#include "base/mac/foundation_util.h"
|
| -#include "base/mac/scoped_nsobject.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/ui/autofill/autofill_dialog_models.h"
|
| -#include "chrome/browser/ui/autofill/mock_autofill_dialog_view_delegate.h"
|
| -#import "chrome/browser/ui/cocoa/autofill/autofill_input_field.h"
|
| -#import "chrome/browser/ui/cocoa/autofill/layout_view.h"
|
| -#import "chrome/browser/ui/cocoa/menu_button.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "testing/gtest_mac.h"
|
| -#include "testing/platform_test.h"
|
| -#include "ui/base/models/combobox_model.h"
|
| -#include "ui/base/models/simple_menu_model.h"
|
| -#import "ui/gfx/test/ui_cocoa_test_helper.h"
|
| -
|
| -using base::ASCIIToUTF16;
|
| -
|
| -namespace {
|
| -
|
| -class AutofillSectionContainerTest : public ui::CocoaTest {
|
| - public:
|
| - AutofillSectionContainerTest() : section_(autofill::SECTION_BILLING) {}
|
| - virtual void SetUp() {
|
| - CocoaTest::SetUp();
|
| - ResetContainer();
|
| - }
|
| -
|
| - void ResetContainer() {
|
| - container_.reset(
|
| - [[AutofillSectionContainer alloc]
|
| - initWithDelegate:&delegate_
|
| - forSection:section_]);
|
| - [[test_window() contentView] setSubviews:@[ [container_ view] ]];
|
| - }
|
| -
|
| - protected:
|
| - base::scoped_nsobject<AutofillSectionContainer> container_;
|
| - testing::NiceMock<autofill::MockAutofillDialogViewDelegate> delegate_;
|
| - autofill::DialogSection section_;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -TEST_VIEW(AutofillSectionContainerTest, [container_ view])
|
| -
|
| -TEST_F(AutofillSectionContainerTest, HasSubviews) {
|
| - bool hasLayoutView = false;
|
| - bool hasTextField = false;
|
| - bool hasSuggestButton = false;
|
| - bool hasSuggestionView = false;
|
| -
|
| - ASSERT_EQ(4U, [[[container_ view] subviews] count]);
|
| - for (NSView* view in [[container_ view] subviews]) {
|
| - if ([view isKindOfClass:[NSTextField class]]) {
|
| - hasTextField = true;
|
| - } else if ([view isKindOfClass:[LayoutView class]]) {
|
| - hasLayoutView = true;
|
| - } else if ([view isKindOfClass:[MenuButton class]]) {
|
| - hasSuggestButton = true;
|
| - } else if ([view isKindOfClass:[NSView class]]) {
|
| - hasSuggestionView = true;
|
| - }
|
| - }
|
| -
|
| - EXPECT_TRUE(hasSuggestButton);
|
| - EXPECT_TRUE(hasLayoutView);
|
| - EXPECT_TRUE(hasTextField);
|
| - EXPECT_TRUE(hasSuggestionView);
|
| -}
|
| -
|
| -TEST_F(AutofillSectionContainerTest, ModelsPopulateComboboxes) {
|
| - using namespace autofill;
|
| - using namespace testing;
|
| -
|
| - const DetailInput kTestInputs[] = {
|
| - { DetailInput::SHORT, CREDIT_CARD_EXP_MONTH },
|
| - { DetailInput::SHORT, CREDIT_CARD_EXP_4_DIGIT_YEAR },
|
| - };
|
| -
|
| - DetailInputs inputs;
|
| - inputs.push_back(kTestInputs[0]);
|
| - inputs.push_back(kTestInputs[1]);
|
| -
|
| - autofill::MonthComboboxModel monthComboModel;
|
| - autofill::YearComboboxModel yearComboModel;
|
| - EXPECT_CALL(delegate_, RequestedFieldsForSection(section_))
|
| - .WillOnce(ReturnRef(inputs));
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(CREDIT_CARD_EXP_MONTH))
|
| - .WillRepeatedly(Return(&monthComboModel));
|
| - EXPECT_CALL(
|
| - delegate_, ComboboxModelForAutofillType(CREDIT_CARD_EXP_4_DIGIT_YEAR))
|
| - .WillRepeatedly(Return(&yearComboModel));
|
| - ResetContainer();
|
| -
|
| - NSPopUpButton* popup = base::mac::ObjCCastStrict<NSPopUpButton>(
|
| - [container_ getField:CREDIT_CARD_EXP_MONTH]);
|
| - EXPECT_EQ(13, [popup numberOfItems]);
|
| - EXPECT_NSEQ(@"Month", [popup itemTitleAtIndex:0]);
|
| - EXPECT_NSEQ(@"01", [popup itemTitleAtIndex:1]);
|
| - EXPECT_NSEQ(@"02", [popup itemTitleAtIndex:2]);
|
| - EXPECT_NSEQ(@"03", [popup itemTitleAtIndex:3]);
|
| - EXPECT_NSEQ(@"12", [popup itemTitleAtIndex:12]);
|
| -
|
| - NSPopUpButton* yearPopup = base::mac::ObjCCastStrict<NSPopUpButton>(
|
| - [container_ getField:CREDIT_CARD_EXP_4_DIGIT_YEAR]);
|
| - EXPECT_EQ(11, [yearPopup numberOfItems]);
|
| - EXPECT_NSEQ(@"Year", [yearPopup itemTitleAtIndex:0]);
|
| -};
|
| -
|
| -TEST_F(AutofillSectionContainerTest, OutputMatchesDefinition) {
|
| - using namespace autofill;
|
| - using namespace testing;
|
| -
|
| - const DetailInput kTestInputs[] = {
|
| - { DetailInput::LONG, EMAIL_ADDRESS },
|
| - { DetailInput::SHORT, CREDIT_CARD_EXP_MONTH },
|
| - };
|
| - autofill::MonthComboboxModel comboModel;
|
| - DetailInputs inputs;
|
| - inputs.push_back(kTestInputs[0]);
|
| - inputs.push_back(kTestInputs[1]);
|
| -
|
| - EXPECT_CALL(delegate_, RequestedFieldsForSection(section_))
|
| - .WillOnce(ReturnRef(inputs));
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(EMAIL_ADDRESS))
|
| - .WillRepeatedly(ReturnNull());
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(CREDIT_CARD_EXP_MONTH))
|
| - .WillRepeatedly(Return(&comboModel));
|
| -
|
| - ResetContainer();
|
| -
|
| - NSPopUpButton* popup = base::mac::ObjCCastStrict<NSPopUpButton>(
|
| - [container_ getField:CREDIT_CARD_EXP_MONTH]);
|
| - [popup selectItemWithTitle:@"02"];
|
| - [[container_ getField:EMAIL_ADDRESS] setStringValue:@"magic@example.org"];
|
| -
|
| - autofill::FieldValueMap output;
|
| - [container_ getInputs:&output];
|
| -
|
| - ASSERT_EQ(inputs.size(), output.size());
|
| - EXPECT_EQ(ASCIIToUTF16("magic@example.org"), output[inputs[0].type]);
|
| - EXPECT_EQ(ASCIIToUTF16("02"), output[inputs[1].type]);
|
| -}
|
| -
|
| -TEST_F(AutofillSectionContainerTest, SuggestionsPopulatedByController) {
|
| - ui::SimpleMenuModel model(NULL);
|
| - model.AddItem(10, ASCIIToUTF16("a"));
|
| - model.AddItem(11, ASCIIToUTF16("b"));
|
| -
|
| - using namespace autofill;
|
| - using namespace testing;
|
| -
|
| - EXPECT_CALL(delegate_, MenuModelForSection(section_))
|
| - .WillOnce(Return(&model));
|
| -
|
| - ResetContainer();
|
| - MenuButton* button = nil;
|
| - for (id item in [[container_ view] subviews]) {
|
| - if ([item isKindOfClass:[MenuButton class]]) {
|
| - button = item;
|
| - break;
|
| - }
|
| - }
|
| -
|
| - NSMenu* menu = [button attachedMenu];
|
| - // Expect _three_ items - popup menus need an empty first item.
|
| - ASSERT_EQ(3, [menu numberOfItems]);
|
| -
|
| - EXPECT_NSEQ(@"a", [[menu itemAtIndex:1] title]);
|
| - EXPECT_NSEQ(@"b", [[menu itemAtIndex:2] title]);
|
| -}
|
| -
|
| -TEST_F(AutofillSectionContainerTest, FieldsAreInitiallyValid) {
|
| - using namespace autofill;
|
| - using namespace testing;
|
| -
|
| - const DetailInput kTestInputs[] = {
|
| - { DetailInput::LONG, EMAIL_ADDRESS },
|
| - { DetailInput::SHORT, CREDIT_CARD_EXP_MONTH },
|
| - };
|
| -
|
| - MonthComboboxModel comboModel;
|
| - DetailInputs inputs;
|
| - inputs.push_back(kTestInputs[0]);
|
| - inputs.push_back(kTestInputs[1]);
|
| -
|
| - EXPECT_CALL(delegate_, RequestedFieldsForSection(section_))
|
| - .WillOnce(ReturnRef(inputs));
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(EMAIL_ADDRESS))
|
| - .WillRepeatedly(ReturnNull());
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(CREDIT_CARD_EXP_MONTH))
|
| - .WillRepeatedly(Return(&comboModel));
|
| -
|
| - ResetContainer();
|
| - NSControl<AutofillInputField>* field = [container_ getField:EMAIL_ADDRESS];
|
| - EXPECT_FALSE([field invalid]);
|
| - field = [container_ getField:CREDIT_CARD_EXP_MONTH];
|
| - EXPECT_FALSE([field invalid]);
|
| -}
|
| -
|
| -TEST_F(AutofillSectionContainerTest, ControllerInformsValidity) {
|
| - using namespace autofill;
|
| - using namespace testing;
|
| -
|
| - const DetailInput kTestInputs[] = {
|
| - { DetailInput::LONG, EMAIL_ADDRESS },
|
| - { DetailInput::SHORT, CREDIT_CARD_EXP_MONTH },
|
| - };
|
| -
|
| - MonthComboboxModel comboModel;
|
| - DetailInputs inputs;
|
| - inputs.push_back(kTestInputs[0]);
|
| - inputs.push_back(kTestInputs[1]);
|
| -
|
| - ValidityMessages validity, validity2;
|
| -
|
| - validity.Set(EMAIL_ADDRESS,
|
| - ValidityMessage(ASCIIToUTF16("Some error message"), false));
|
| - validity2.Set(CREDIT_CARD_EXP_MONTH,
|
| - ValidityMessage(ASCIIToUTF16("Some other error message"), false));
|
| - EXPECT_CALL(delegate_, RequestedFieldsForSection(section_))
|
| - .WillOnce(ReturnRef(inputs));
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(EMAIL_ADDRESS))
|
| - .WillRepeatedly(ReturnNull());
|
| - EXPECT_CALL(delegate_, ComboboxModelForAutofillType(CREDIT_CARD_EXP_MONTH))
|
| - .WillRepeatedly(Return(&comboModel));
|
| -
|
| - ResetContainer();
|
| - autofill::FieldValueMap output;
|
| - [container_ getInputs:&output];
|
| - EXPECT_CALL(delegate_, InputsAreValid(section_, output))
|
| - .WillOnce(Return(validity))
|
| - .WillOnce(Return(validity2));
|
| -
|
| - [container_ validateFor:VALIDATE_FINAL];
|
| - NSControl<AutofillInputField>* field = [container_ getField:EMAIL_ADDRESS];
|
| - EXPECT_TRUE([field invalid]);
|
| - field = [container_ getField:CREDIT_CARD_EXP_MONTH];
|
| - EXPECT_FALSE([field invalid]);
|
| -
|
| - [container_ validateFor:VALIDATE_FINAL];
|
| - field = [container_ getField:EMAIL_ADDRESS];
|
| - EXPECT_FALSE([field invalid]);
|
| - field = [container_ getField:CREDIT_CARD_EXP_MONTH];
|
| - EXPECT_TRUE([field invalid]);
|
| -}
|
|
|