autofill_details_container_unittest.mm revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#import "chrome/browser/ui/cocoa/autofill/autofill_details_container.h" 6 7#include "base/mac/scoped_nsobject.h" 8#include "base/strings/utf_string_conversions.h" 9#import "chrome/browser/ui/cocoa/autofill/autofill_section_container.h" 10#include "chrome/browser/ui/autofill/mock_autofill_dialog_controller.h" 11#include "testing/gtest/include/gtest/gtest.h" 12#include "testing/platform_test.h" 13#import "ui/base/test/ui_cocoa_test_helper.h" 14 15namespace { 16 17class AutofillDetailsContainerTest : public ui::CocoaTest { 18 public: 19 AutofillDetailsContainerTest() { 20 container_.reset([[AutofillDetailsContainer alloc] initWithController: 21 &controller_]); 22 [[test_window() contentView] addSubview:[container_ view]]; 23 } 24 25 protected: 26 base::scoped_nsobject<AutofillDetailsContainer> container_; 27 testing::NiceMock<autofill::MockAutofillDialogController> controller_; 28}; 29 30} // namespace 31 32TEST_VIEW(AutofillDetailsContainerTest, [container_ view]) 33 34TEST_F(AutofillDetailsContainerTest, BasicProperties) { 35 EXPECT_GT([[[container_ view] subviews] count], 0U); 36 EXPECT_GT(NSHeight([[container_ view] frame]), 0); 37 EXPECT_GT(NSWidth([[container_ view] frame]), 0); 38} 39 40TEST_F(AutofillDetailsContainerTest, ValidateAllSections) { 41 using namespace autofill; 42 using namespace testing; 43 44 DetailOutputMap output; 45 ValidityData validity; 46 47 EXPECT_CALL(controller_, InputsAreValid(_, _, VALIDATE_FINAL)) 48 .Times(4) 49 .WillOnce(Return(validity)) 50 .WillOnce(Return(validity)) 51 .WillOnce(Return(validity)) 52 .WillOnce(Return(validity)); 53 54 EXPECT_TRUE([container_ validate]); 55 56 ValidityData invalid; 57 invalid[ADDRESS_HOME_ZIP] = ASCIIToUTF16("Some error message"); 58 59 EXPECT_CALL(controller_, InputsAreValid(_, _, VALIDATE_FINAL)) 60 .Times(4) 61 .WillOnce(Return(validity)) 62 .WillOnce(Return(validity)) 63 .WillOnce(Return(invalid)) 64 .WillOnce(Return(validity)); 65 66 EXPECT_FALSE([container_ validate]); 67} 68