autofill_data_model_unittest.cc revision 3240926e260ce088908e02ac07a6cf7b0c0cbf44
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 10namespace autofill { 11 12namespace { 13 14// Provides concrete implementations for pure virtual methods. 15class TestAutofillDataModel : public AutofillDataModel { 16 public: 17 TestAutofillDataModel(const std::string& guid, const std::string& origin) 18 : AutofillDataModel(guid, origin) {} 19 virtual ~TestAutofillDataModel() {} 20 21 private: 22 virtual base::string16 GetRawInfo(ServerFieldType type) const OVERRIDE { 23 return base::string16(); 24 } 25 virtual void SetRawInfo(ServerFieldType type, 26 const base::string16& value) OVERRIDE {} 27 virtual void GetSupportedTypes( 28 ServerFieldTypeSet* supported_types) const OVERRIDE {} 29 virtual void FillFormField(const AutofillField& field, 30 size_t variant, 31 const std::string& app_locale, 32 FormFieldData* field_data) const OVERRIDE {} 33 34 DISALLOW_COPY_AND_ASSIGN(TestAutofillDataModel); 35}; 36 37} // namespace 38 39TEST(AutofillDataModelTest, IsVerified) { 40 TestAutofillDataModel model("guid", std::string()); 41 EXPECT_FALSE(model.IsVerified()); 42 43 model.set_origin("http://www.example.com"); 44 EXPECT_FALSE(model.IsVerified()); 45 46 model.set_origin("https://www.example.com"); 47 EXPECT_FALSE(model.IsVerified()); 48 49 model.set_origin("file:///tmp/example.txt"); 50 EXPECT_FALSE(model.IsVerified()); 51 52 model.set_origin("data:text/plain;charset=utf-8;base64,ZXhhbXBsZQ=="); 53 EXPECT_FALSE(model.IsVerified()); 54 55 model.set_origin("chrome://settings/autofill"); 56 EXPECT_FALSE(model.IsVerified()); 57 58 model.set_origin("Chrome Settings"); 59 EXPECT_TRUE(model.IsVerified()); 60 61 model.set_origin("Some gibberish string"); 62 EXPECT_TRUE(model.IsVerified()); 63 64 model.set_origin(std::string()); 65 EXPECT_FALSE(model.IsVerified()); 66} 67 68} // namespace autofill 69