1 // Copyright 2013 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 "components/autofill/core/browser/autofill_data_model.h" 6 7 #include "base/compiler_specific.h" 8 #include "testing/gtest/include/gtest/gtest.h" 9 10 namespace autofill { 11 12 namespace { 13 14 // Provides concrete implementations for pure virtual methods. 15 class TestAutofillDataModel : public AutofillDataModel { 16 public: TestAutofillDataModel(const std::string & guid,const std::string & origin)17 TestAutofillDataModel(const std::string& guid, const std::string& origin) 18 : AutofillDataModel(guid, origin) {} ~TestAutofillDataModel()19 virtual ~TestAutofillDataModel() {} 20 21 private: GetRawInfo(ServerFieldType type) const22 virtual base::string16 GetRawInfo(ServerFieldType type) const OVERRIDE { 23 return base::string16(); 24 } SetRawInfo(ServerFieldType type,const base::string16 & value)25 virtual void SetRawInfo(ServerFieldType type, 26 const base::string16& value) OVERRIDE {} GetSupportedTypes(ServerFieldTypeSet * supported_types) const27 virtual void GetSupportedTypes( 28 ServerFieldTypeSet* supported_types) const OVERRIDE {} 29 30 DISALLOW_COPY_AND_ASSIGN(TestAutofillDataModel); 31 }; 32 33 } // namespace 34 TEST(AutofillDataModelTest,IsVerified)35TEST(AutofillDataModelTest, IsVerified) { 36 TestAutofillDataModel model("guid", std::string()); 37 EXPECT_FALSE(model.IsVerified()); 38 39 model.set_origin("http://www.example.com"); 40 EXPECT_FALSE(model.IsVerified()); 41 42 model.set_origin("https://www.example.com"); 43 EXPECT_FALSE(model.IsVerified()); 44 45 model.set_origin("file:///tmp/example.txt"); 46 EXPECT_FALSE(model.IsVerified()); 47 48 model.set_origin("data:text/plain;charset=utf-8;base64,ZXhhbXBsZQ=="); 49 EXPECT_FALSE(model.IsVerified()); 50 51 model.set_origin("chrome://settings/autofill"); 52 EXPECT_FALSE(model.IsVerified()); 53 54 model.set_origin("Chrome Settings"); 55 EXPECT_TRUE(model.IsVerified()); 56 57 model.set_origin("Some gibberish string"); 58 EXPECT_TRUE(model.IsVerified()); 59 60 model.set_origin(std::string()); 61 EXPECT_FALSE(model.IsVerified()); 62 } 63 64 } // namespace autofill 65