Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(849)

Side by Side Diff: chrome/browser/ui/views/payments/validating_textfield_unittest.cc

Issue 2689363004: [Payments] Add combobox support to editors. (Closed)
Patch Set: re-enable test, addressed comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/payments/validating_textfield.h" 5 #include "chrome/browser/ui/views/payments/validating_textfield.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "chrome/browser/ui/views/payments/validation_delegate.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 #include "ui/views/controls/textfield/textfield.h" 14 #include "ui/views/controls/textfield/textfield.h"
14 15
15 namespace payments { 16 namespace payments {
16 17
17 class ValidatingTextfieldTest : public testing::Test { 18 class ValidatingTextfieldTest : public testing::Test {
18 public: 19 public:
19 ValidatingTextfieldTest() {} 20 ValidatingTextfieldTest() {}
20 ~ValidatingTextfieldTest() override {} 21 ~ValidatingTextfieldTest() override {}
21 22
22 protected: 23 protected:
23 class ValidationDelegate : public ValidatingTextfield::Delegate { 24 class TestValidationDelegate : public ValidationDelegate {
24 public: 25 public:
25 ValidationDelegate() {} 26 TestValidationDelegate() {}
26 ~ValidationDelegate() override {} 27 ~TestValidationDelegate() override {}
27 28
28 // ValidatingTextfield::Delegate 29 // ValidationDelegate:
29 bool ValidateTextfield(views::Textfield* textfield) override { 30 bool ValidateTextfield(views::Textfield* textfield) override {
30 // We really don't like textfields with more than 5 characters in them. 31 // We really don't like textfields with more than 5 characters in them.
31 return textfield->text().size() <= 5u; 32 return textfield->text().size() <= 5u;
32 } 33 }
34 bool ValidateCombobox(views::Combobox* combobox) override { return true; }
33 35
34 private: 36 private:
35 DISALLOW_COPY_AND_ASSIGN(ValidationDelegate); 37 DISALLOW_COPY_AND_ASSIGN(TestValidationDelegate);
36 }; 38 };
37 39
38 private: 40 private:
39 DISALLOW_COPY_AND_ASSIGN(ValidatingTextfieldTest); 41 DISALLOW_COPY_AND_ASSIGN(ValidatingTextfieldTest);
40 }; 42 };
41 43
42 TEST_F(ValidatingTextfieldTest, Validation) { 44 TEST_F(ValidatingTextfieldTest, Validation) {
43 std::unique_ptr<ValidationDelegate> delegate(new ValidationDelegate()); 45 std::unique_ptr<TestValidationDelegate> delegate(
46 new TestValidationDelegate());
44 std::unique_ptr<ValidatingTextfield> textfield( 47 std::unique_ptr<ValidatingTextfield> textfield(
45 new ValidatingTextfield(std::move(delegate))); 48 new ValidatingTextfield(std::move(delegate)));
46 49
47 // Set an invalid string (>5 characters). 50 // Set an invalid string (>5 characters).
48 textfield->SetText(base::ASCIIToUTF16("evilstring")); 51 textfield->SetText(base::ASCIIToUTF16("evilstring"));
49 // This should be called on new contents by the textfield controller. 52 // This should be called on new contents by the textfield controller.
50 textfield->OnContentsChanged(); 53 textfield->OnContentsChanged();
51 54
52 // Not marked as invalid. 55 // Not marked as invalid.
53 EXPECT_FALSE(textfield->invalid()); 56 EXPECT_FALSE(textfield->invalid());
54 57
55 // On blur though, there is a first validation. 58 // On blur though, there is a first validation.
56 textfield->OnBlur(); 59 textfield->OnBlur();
57 EXPECT_TRUE(textfield->invalid()); 60 EXPECT_TRUE(textfield->invalid());
58 61
59 // On further text adjustements, the validation runs now. Set a valid string 62 // On further text adjustements, the validation runs now. Set a valid string
60 // (<=5 characters). 63 // (<=5 characters).
61 textfield->SetText(base::ASCIIToUTF16("good")); 64 textfield->SetText(base::ASCIIToUTF16("good"));
62 textfield->OnContentsChanged(); 65 textfield->OnContentsChanged();
63 66
64 // No longer invalid. 67 // No longer invalid.
65 EXPECT_FALSE(textfield->invalid()); 68 EXPECT_FALSE(textfield->invalid());
66 } 69 }
67 70
68 } // namespace payments 71 } // namespace payments
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/payments/validating_textfield.cc ('k') | chrome/browser/ui/views/payments/validation_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698