diff options
author | bryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 14:55:13 +0000 |
---|---|---|
committer | bryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 14:55:13 +0000 |
commit | a9a0417e2b621c778b0f1a8df7b424a32b284041 (patch) | |
tree | 1caeb4d3bf2c6708a8340f29924c8dbe61661973 /views/controls/textfield/native_textfield_views_unittest.cc | |
parent | bda863e986f517e04fbec41cf6034d483fc03f68 (diff) | |
download | chromium_src-a9a0417e2b621c778b0f1a8df7b424a32b284041.zip chromium_src-a9a0417e2b621c778b0f1a8df7b424a32b284041.tar.gz chromium_src-a9a0417e2b621c778b0f1a8df7b424a32b284041.tar.bz2 |
Identify the omnibox as a URL field.
Although the omnibox is not strictly a URL field, for the purposes of
TOUCH_UI, we would prefer to show the URL-friendly keyboard for the
omnibox instead of a plain-text keyboard.
BUG=none
TEST=updated unittest
Review URL: http://codereview.chromium.org/7826039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99737 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/textfield/native_textfield_views_unittest.cc')
-rw-r--r-- | views/controls/textfield/native_textfield_views_unittest.cc | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/views/controls/textfield/native_textfield_views_unittest.cc b/views/controls/textfield/native_textfield_views_unittest.cc index 54844f3..ea8e023 100644 --- a/views/controls/textfield/native_textfield_views_unittest.cc +++ b/views/controls/textfield/native_textfield_views_unittest.cc @@ -225,6 +225,11 @@ class NativeTextfieldViewsTest : public ViewsTestBase, gfx::SelectionModel(cursor_pos), false).x(); } + // Wrap for visibility in test classes. + ui::TextInputType GetTextInputType() { + return textfield_view_->GetTextInputType(); + } + // We need widget to populate wrapper class. Widget* widget_; @@ -399,6 +404,8 @@ TEST_F(NativeTextfieldViewsTest, InsertionDeletionTest) { TEST_F(NativeTextfieldViewsTest, PasswordTest) { InitTextfield(Textfield::STYLE_PASSWORD); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_PASSWORD, GetTextInputType()); + last_contents_.clear(); textfield_->SetText(ASCIIToUTF16("my password")); // Just to make sure the text() and callback returns @@ -407,6 +414,53 @@ TEST_F(NativeTextfieldViewsTest, PasswordTest) { EXPECT_TRUE(last_contents_.empty()); } +TEST_F(NativeTextfieldViewsTest, InputTypeSetsPassword) { + InitTextfield(Textfield::STYLE_DEFAULT); + + // Defaults to TEXT + EXPECT_EQ(ui::TEXT_INPUT_TYPE_TEXT, GetTextInputType()); + + // Setting to passwords also sets password state of textfield. + textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_PASSWORD, GetTextInputType()); + EXPECT_TRUE(textfield_->IsPassword()); +} + +TEST_F(NativeTextfieldViewsTest, PasswordSetsInputType) { + InitTextfield(Textfield::STYLE_DEFAULT); + + // Defaults to TEXT + EXPECT_EQ(ui::TEXT_INPUT_TYPE_TEXT, GetTextInputType()); + + textfield_->SetPassword(true); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_PASSWORD, GetTextInputType()); + + textfield_->SetPassword(false); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_TEXT, GetTextInputType()); +} + +TEST_F(NativeTextfieldViewsTest, TextInputType) { + InitTextfield(Textfield::STYLE_DEFAULT); + + // Defaults to TEXT + EXPECT_EQ(ui::TEXT_INPUT_TYPE_TEXT, GetTextInputType()); + + // And can be set. + textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_URL); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_URL, GetTextInputType()); + + // Readonly textfields have type NONE + textfield_->SetReadOnly(true); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_NONE, GetTextInputType()); + + textfield_->SetReadOnly(false); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_URL, GetTextInputType()); + + // As do disabled textfields + textfield_->SetEnabled(false); + EXPECT_EQ(ui::TEXT_INPUT_TYPE_NONE, GetTextInputType()); +} + TEST_F(NativeTextfieldViewsTest, OnKeyPressReturnValueTest) { InitTextfield(Textfield::STYLE_DEFAULT); |