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.
5 #include "chrome/browser/ui/views/crypto_module_password_dialog_view.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"
17 class CryptoModulePasswordDialogViewTest
: public testing::Test
{
19 CryptoModulePasswordDialogViewTest() {}
20 ~CryptoModulePasswordDialogViewTest() override
{}
22 void Capture(const std::string
& text
) {
26 void CreateCryptoDialog(const CryptoModulePasswordCallback
& callback
) {
27 dialog_
.reset(new CryptoModulePasswordDialogView("slot",
28 kCryptoModulePasswordKeygen
, "server", callback
));
32 scoped_ptr
<CryptoModulePasswordDialogView
> dialog_
;
35 TEST_F(CryptoModulePasswordDialogViewTest
, TestAccept
) {
36 CryptoModulePasswordCallback
cb(
37 base::Bind(&CryptoModulePasswordDialogViewTest::Capture
,
38 base::Unretained(this)));
39 CreateCryptoDialog(cb
);
40 EXPECT_EQ(dialog_
->password_entry_
, dialog_
->GetInitiallyFocusedView());
41 EXPECT_TRUE(dialog_
->GetModalType() != ui::MODAL_TYPE_NONE
);
42 const std::string kPassword
= "diAl0g";
43 dialog_
->password_entry_
->SetText(base::ASCIIToUTF16(kPassword
));
44 EXPECT_TRUE(dialog_
->Accept());
45 EXPECT_EQ(kPassword
, text_
);
46 const base::string16 empty
;
47 EXPECT_EQ(empty
, dialog_
->password_entry_
->text());