Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / crypto_module_password_dialog_view_unittest.cc
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
15 namespace chrome {
16
17 class CryptoModulePasswordDialogViewTest : public testing::Test {
18  public:
19   CryptoModulePasswordDialogViewTest() {}
20   ~CryptoModulePasswordDialogViewTest() override {}
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
36 TEST_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