test_image_store.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1// Copyright 2014 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#ifndef COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 6#define COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 7 8#include "components/enhanced_bookmarks/image_store.h" 9 10// The TestImageStore is an implementation of ImageStore that keeps all its 11// data in memory. When deallocated all the associations are lost. 12// Used in tests. 13class TestImageStore : public ImageStore { 14 public: 15 TestImageStore(); 16 virtual bool HasKey(const GURL& page_url) OVERRIDE; 17 virtual void Insert(const GURL& page_url, 18 const GURL& image_url, 19 const gfx::Image& image) OVERRIDE; 20 virtual void Erase(const GURL& page_url) OVERRIDE; 21 virtual std::pair<gfx::Image, GURL> Get(const GURL& page_url) OVERRIDE; 22 virtual gfx::Size GetSize(const GURL& page_url) OVERRIDE; 23 virtual void GetAllPageUrls(std::set<GURL>* urls) OVERRIDE; 24 virtual void ClearAll() OVERRIDE; 25 26 protected: 27 virtual ~TestImageStore(); 28 29 private: 30 typedef std::map<const GURL, std::pair<gfx::Image, const GURL> > ImageMap; 31 ImageMap store_; 32 33 DISALLOW_COPY_AND_ASSIGN(TestImageStore); 34}; 35 36#endif // COMPONENTS_ENHANCED_BOOKMARKS_TEST_IMAGE_STORE_H_ 37