crypto_module_password_dialog_view_unittest.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright (c) 2012 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#include "chrome/browser/ui/views/crypto_module_password_dialog_view.h" 6 7#include <string> 8 9#include "base/bind.h" 10#include "base/strings/utf_string_conversions.h" 11#include "chrome/browser/ui/crypto_module_password_dialog.h" 12#include "testing/gtest/include/gtest/gtest.h" 13#include "ui/views/controls/textfield/textfield.h" 14 15namespace chrome { 16 17class CryptoModulePasswordDialogViewTest : public testing::Test { 18 public: 19 CryptoModulePasswordDialogViewTest() {} 20 virtual ~CryptoModulePasswordDialogViewTest() {} 21 22 void Capture(const std::string& text) { 23 text_ = text; 24 } 25 26 void CreateCryptoDialog(const CryptoModulePasswordCallback& callback) { 27 dialog_.reset(new CryptoModulePasswordDialogView("slot", 28 kCryptoModulePasswordKeygen, "server", callback)); 29 } 30 31 CryptoModulePasswordCallback* callback_; 32 std::string text_; 33 scoped_ptr<CryptoModulePasswordDialogView> dialog_; 34}; 35 36TEST_F(CryptoModulePasswordDialogViewTest, TestAccept) { 37 CryptoModulePasswordCallback cb( 38 base::Bind(&CryptoModulePasswordDialogViewTest::Capture, 39 base::Unretained(this))); 40 CreateCryptoDialog(cb); 41 EXPECT_EQ(dialog_->password_entry_, dialog_->GetInitiallyFocusedView()); 42 EXPECT_TRUE(dialog_->GetModalType() != ui::MODAL_TYPE_NONE); 43 const std::string kPassword = "diAl0g"; 44 dialog_->password_entry_->SetText(base::ASCIIToUTF16(kPassword)); 45 EXPECT_TRUE(dialog_->Accept()); 46 EXPECT_EQ(kPassword, text_); 47 const base::string16 empty; 48 EXPECT_EQ(empty, dialog_->password_entry_->text()); 49} 50 51} // namespace chrome 52