OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <algorithm> | 5 #include <algorithm> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 EXPECT_EQ(FAVICON, icon_type_out); | 144 EXPECT_EQ(FAVICON, icon_type_out); |
145 EXPECT_STREQ(kSizesSmallAndLarge.c_str(), sizes_out.c_str()); | 145 EXPECT_STREQ(kSizesSmallAndLarge.c_str(), sizes_out.c_str()); |
146 | 146 |
147 std::vector<FaviconBitmap> favicon_bitmaps_out; | 147 std::vector<FaviconBitmap> favicon_bitmaps_out; |
148 EXPECT_TRUE(db.GetFaviconBitmaps(icon_id, &favicon_bitmaps_out)); | 148 EXPECT_TRUE(db.GetFaviconBitmaps(icon_id, &favicon_bitmaps_out)); |
149 EXPECT_EQ(2u, favicon_bitmaps_out.size()); | 149 EXPECT_EQ(2u, favicon_bitmaps_out.size()); |
150 | 150 |
151 FaviconBitmap favicon_bitmap1 = favicon_bitmaps_out[0]; | 151 FaviconBitmap favicon_bitmap1 = favicon_bitmaps_out[0]; |
152 FaviconBitmap favicon_bitmap2 = favicon_bitmaps_out[1]; | 152 FaviconBitmap favicon_bitmap2 = favicon_bitmaps_out[1]; |
153 | 153 |
154 // Bitmaps do not need to be in particular order. | 154 // Favicon bitmaps do not need to be in particular order. |
155 if (favicon_bitmap1.bitmap_id == bitmap2_id) { | 155 if (favicon_bitmap1.bitmap_id == bitmap2_id) { |
156 FaviconBitmap tmp_favicon_bitmap = favicon_bitmap1; | 156 FaviconBitmap tmp_favicon_bitmap = favicon_bitmap1; |
157 favicon_bitmap1 = favicon_bitmap2; | 157 favicon_bitmap1 = favicon_bitmap2; |
158 favicon_bitmap2 = tmp_favicon_bitmap; | 158 favicon_bitmap2 = tmp_favicon_bitmap; |
159 } | 159 } |
160 | 160 |
161 EXPECT_EQ(bitmap1_id, favicon_bitmap1.bitmap_id); | 161 EXPECT_EQ(bitmap1_id, favicon_bitmap1.bitmap_id); |
162 EXPECT_EQ(icon_id, favicon_bitmap1.icon_id); | 162 EXPECT_EQ(icon_id, favicon_bitmap1.icon_id); |
163 EXPECT_EQ(time.ToTimeT(), favicon_bitmap1.last_updated.ToTimeT()); | 163 EXPECT_EQ(time.ToTimeT(), favicon_bitmap1.last_updated.ToTimeT()); |
164 EXPECT_EQ(data.size(), favicon_bitmap1.bitmap_data->size()); | 164 EXPECT_EQ(data.size(), favicon_bitmap1.bitmap_data->size()); |
(...skipping 20 matching lines...) Expand all Loading... |
185 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); | 185 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
186 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 186 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
187 | 187 |
188 GURL url("http://google.com"); | 188 GURL url("http://google.com"); |
189 FaviconID id = db.AddFavicon(url, TOUCH_ICON); | 189 FaviconID id = db.AddFavicon(url, TOUCH_ICON); |
190 EXPECT_NE(0, id); | 190 EXPECT_NE(0, id); |
191 base::Time time = base::Time::Now(); | 191 base::Time time = base::Time::Now(); |
192 db.AddFaviconBitmap(id, favicon, time, gfx::Size()); | 192 db.AddFaviconBitmap(id, favicon, time, gfx::Size()); |
193 | 193 |
194 EXPECT_NE(0, db.AddIconMapping(url, id)); | 194 EXPECT_NE(0, db.AddIconMapping(url, id)); |
195 std::vector<IconMapping> icon_mapping; | 195 std::vector<IconMapping> icon_mappings; |
196 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); | 196 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); |
197 EXPECT_EQ(1u, icon_mapping.size()); | 197 EXPECT_EQ(1u, icon_mappings.size()); |
198 EXPECT_EQ(url, icon_mapping.front().page_url); | 198 EXPECT_EQ(url, icon_mappings.front().page_url); |
199 EXPECT_EQ(id, icon_mapping.front().icon_id); | 199 EXPECT_EQ(id, icon_mappings.front().icon_id); |
200 } | 200 } |
201 | 201 |
202 TEST_F(ThumbnailDatabaseTest, UpdateIconMapping) { | 202 TEST_F(ThumbnailDatabaseTest, UpdateIconMapping) { |
203 ThumbnailDatabase db; | 203 ThumbnailDatabase db; |
204 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); | 204 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
205 db.BeginTransaction(); | 205 db.BeginTransaction(); |
206 | 206 |
207 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); | 207 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
208 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 208 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
209 | 209 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 | 247 |
248 FaviconID id2 = db.AddFavicon(url, FAVICON); | 248 FaviconID id2 = db.AddFavicon(url, FAVICON); |
249 db.AddFaviconBitmap(id2, favicon, time, gfx::Size()); | 249 db.AddFaviconBitmap(id2, favicon, time, gfx::Size()); |
250 EXPECT_TRUE(0 < db.AddIconMapping(url, id2)); | 250 EXPECT_TRUE(0 < db.AddIconMapping(url, id2)); |
251 ASSERT_NE(id, id2); | 251 ASSERT_NE(id, id2); |
252 | 252 |
253 std::vector<IconMapping> icon_mapping; | 253 std::vector<IconMapping> icon_mapping; |
254 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); | 254 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); |
255 ASSERT_EQ(2u, icon_mapping.size()); | 255 ASSERT_EQ(2u, icon_mapping.size()); |
256 EXPECT_EQ(icon_mapping.front().icon_type, TOUCH_ICON); | 256 EXPECT_EQ(icon_mapping.front().icon_type, TOUCH_ICON); |
257 EXPECT_TRUE(db.GetIconMappingForPageURL(url, FAVICON, NULL)); | 257 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, FAVICON, NULL)); |
258 | 258 |
259 db.DeleteIconMappings(url); | 259 db.DeleteIconMappings(url); |
260 | 260 |
261 EXPECT_FALSE(db.GetIconMappingsForPageURL(url, NULL)); | 261 EXPECT_FALSE(db.GetIconMappingsForPageURL(url, NULL)); |
262 EXPECT_FALSE(db.GetIconMappingForPageURL(url, FAVICON, NULL)); | 262 EXPECT_FALSE(db.GetIconMappingsForPageURL(url, FAVICON, NULL)); |
263 } | 263 } |
264 | 264 |
265 TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURL) { | 265 TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURL) { |
266 ThumbnailDatabase db; | 266 ThumbnailDatabase db; |
267 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); | 267 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
268 db.BeginTransaction(); | 268 db.BeginTransaction(); |
269 | 269 |
270 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); | 270 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
271 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 271 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
272 | 272 |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 db.AddIconMapping(page_url, kept_id); | 449 db.AddIconMapping(page_url, kept_id); |
450 | 450 |
451 FaviconID new_favicon_id = | 451 FaviconID new_favicon_id = |
452 db.CopyFaviconAndFaviconBitmapsToTemporaryTables(kept_id); | 452 db.CopyFaviconAndFaviconBitmapsToTemporaryTables(kept_id); |
453 EXPECT_NE(0, new_favicon_id); | 453 EXPECT_NE(0, new_favicon_id); |
454 EXPECT_TRUE(db.AddToTemporaryIconMappingTable(page_url, new_favicon_id)); | 454 EXPECT_TRUE(db.AddToTemporaryIconMappingTable(page_url, new_favicon_id)); |
455 | 455 |
456 EXPECT_TRUE(db.CommitTemporaryTables()); | 456 EXPECT_TRUE(db.CommitTemporaryTables()); |
457 | 457 |
458 // Only copied data should be left. | 458 // Only copied data should be left. |
459 IconMapping icon_mapping; | 459 std::vector<IconMapping> icon_mappings; |
460 EXPECT_TRUE(db.GetIconMappingForPageURL(page_url, FAVICON, &icon_mapping)); | 460 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url, FAVICON, &icon_mappings)); |
461 EXPECT_EQ(new_favicon_id, icon_mapping.icon_id); | 461 EXPECT_EQ(1u, icon_mappings.size()); |
462 EXPECT_EQ(page_url, icon_mapping.page_url); | 462 EXPECT_EQ(new_favicon_id, icon_mappings[0].icon_id); |
| 463 EXPECT_EQ(page_url, icon_mappings[0].page_url); |
463 | 464 |
464 std::vector<FaviconBitmap> favicon_bitmaps; | 465 std::vector<FaviconBitmap> favicon_bitmaps; |
465 EXPECT_TRUE(db.GetFaviconBitmaps(icon_mapping.icon_id, &favicon_bitmaps)); | 466 EXPECT_TRUE(db.GetFaviconBitmaps(icon_mappings[0].icon_id, &favicon_bitmaps)); |
466 EXPECT_EQ(1u, favicon_bitmaps.size()); | 467 EXPECT_EQ(1u, favicon_bitmaps.size()); |
467 EXPECT_EQ(kLargeSize, favicon_bitmaps[0].pixel_size); | 468 EXPECT_EQ(kLargeSize, favicon_bitmaps[0].pixel_size); |
468 | 469 |
469 EXPECT_FALSE(db.GetFaviconIDForFaviconURL(unkept_url, false, NULL)); | 470 EXPECT_FALSE(db.GetFaviconIDForFaviconURL(unkept_url, false)); |
470 } | 471 } |
471 | 472 |
472 TEST_F(ThumbnailDatabaseTest, DeleteFavicon) { | 473 TEST_F(ThumbnailDatabaseTest, DeleteFavicon) { |
473 ThumbnailDatabase db; | 474 ThumbnailDatabase db; |
474 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); | 475 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
475 db.BeginTransaction(); | 476 db.BeginTransaction(); |
476 | 477 |
477 std::vector<unsigned char> data1(blob1, blob1 + sizeof(blob1)); | 478 std::vector<unsigned char> data1(blob1, blob1 + sizeof(blob1)); |
478 scoped_refptr<base::RefCountedBytes> favicon1( | 479 scoped_refptr<base::RefCountedBytes> favicon1( |
479 new base::RefCountedBytes(data1)); | 480 new base::RefCountedBytes(data1)); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 | 666 |
666 // Migration should be done. | 667 // Migration should be done. |
667 // Test one icon_mapping. | 668 // Test one icon_mapping. |
668 GURL page_url1 = GURL("http://google.com/"); | 669 GURL page_url1 = GURL("http://google.com/"); |
669 std::vector<IconMapping> icon_mappings; | 670 std::vector<IconMapping> icon_mappings; |
670 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url1, &icon_mappings)); | 671 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url1, &icon_mappings)); |
671 ASSERT_EQ(1u, icon_mappings.size()); | 672 ASSERT_EQ(1u, icon_mappings.size()); |
672 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); | 673 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); |
673 EXPECT_EQ(page_url1, icon_mappings[0].page_url); | 674 EXPECT_EQ(page_url1, icon_mappings[0].page_url); |
674 EXPECT_EQ(1, icon_mappings[0].icon_id); | 675 EXPECT_EQ(1, icon_mappings[0].icon_id); |
675 base::Time time; | 676 EXPECT_EQ(icon1, icon_mappings[0].icon_url); |
676 scoped_refptr<base::RefCountedMemory> out_data; | |
677 GURL out_icon_url; | |
678 ASSERT_TRUE(db.GetFavicon( | |
679 icon_mappings[0].icon_id, &time, &out_data, &out_icon_url, NULL)); | |
680 EXPECT_EQ(icon1, out_icon_url); | |
681 | 677 |
682 // Test a page which has the same icon. | 678 // Test a page which has the same icon. |
683 GURL page_url3 = GURL("http://www.google.com/"); | 679 GURL page_url3 = GURL("http://www.google.com/"); |
684 icon_mappings.clear(); | 680 icon_mappings.clear(); |
685 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url3, &icon_mappings)); | 681 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url3, &icon_mappings)); |
686 ASSERT_EQ(1u, icon_mappings.size()); | 682 ASSERT_EQ(1u, icon_mappings.size()); |
687 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); | 683 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); |
688 EXPECT_EQ(page_url3, icon_mappings[0].page_url); | 684 EXPECT_EQ(page_url3, icon_mappings[0].page_url); |
689 EXPECT_EQ(1, icon_mappings[0].icon_id); | 685 EXPECT_EQ(1, icon_mappings[0].icon_id); |
| 686 EXPECT_EQ(icon1, icon_mappings[0].icon_url); |
690 | 687 |
691 // Test a icon_mapping with different IconID. | 688 // Test a icon_mapping with different IconID. |
692 GURL page_url2 = GURL("http://yahoo.com/"); | 689 GURL page_url2 = GURL("http://yahoo.com/"); |
693 icon_mappings.clear(); | 690 icon_mappings.clear(); |
694 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url2, &icon_mappings)); | 691 EXPECT_TRUE(db.GetIconMappingsForPageURL(page_url2, &icon_mappings)); |
695 ASSERT_EQ(1u, icon_mappings.size()); | 692 ASSERT_EQ(1u, icon_mappings.size()); |
696 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); | 693 EXPECT_EQ(FAVICON, icon_mappings[0].icon_type); |
697 EXPECT_EQ(page_url2, icon_mappings[0].page_url); | 694 EXPECT_EQ(page_url2, icon_mappings[0].page_url); |
698 EXPECT_EQ(2, icon_mappings[0].icon_id); | 695 EXPECT_EQ(2, icon_mappings[0].icon_id); |
699 ASSERT_TRUE(db.GetFavicon( | 696 EXPECT_EQ(icon2, icon_mappings[0].icon_url); |
700 icon_mappings[0].icon_id, &time, &out_data, &out_icon_url, NULL)); | |
701 EXPECT_EQ(icon2, out_icon_url); | |
702 | 697 |
703 // Test a page without icon | 698 // Test a page without icon |
704 GURL page_url4 = GURL("http://www.google.com/blank.html"); | 699 GURL page_url4 = GURL("http://www.google.com/blank.html"); |
705 EXPECT_FALSE(db.GetIconMappingsForPageURL(page_url4, NULL)); | 700 EXPECT_FALSE(db.GetIconMappingsForPageURL(page_url4, NULL)); |
706 } | 701 } |
707 | 702 |
708 TEST_F(ThumbnailDatabaseTest, IconMappingEnumerator) { | 703 TEST_F(ThumbnailDatabaseTest, IconMappingEnumerator) { |
709 ThumbnailDatabase db; | 704 ThumbnailDatabase db; |
710 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); | 705 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
711 db.BeginTransaction(); | 706 db.BeginTransaction(); |
712 | 707 |
713 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); | 708 std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
714 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 709 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
715 | 710 |
716 GURL url("http://google.com"); | 711 GURL url("http://google.com"); |
717 FaviconID touch_icon_id1 = db.AddFavicon(url, TOUCH_ICON); | 712 GURL icon_url("http://google.com/favicon.ico"); |
| 713 FaviconID touch_icon_id1 = db.AddFavicon(icon_url, TOUCH_ICON, |
| 714 kSizesSmallAndLarge, favicon, base::Time::Now(), kSmallSize); |
718 ASSERT_NE(0, touch_icon_id1); | 715 ASSERT_NE(0, touch_icon_id1); |
719 ASSERT_TRUE(db.AddFaviconBitmap(touch_icon_id1, favicon, base::Time::Now(), | |
720 gfx::Size())); | |
721 IconMappingID touch_mapping_id1 = db.AddIconMapping(url, touch_icon_id1); | 716 IconMappingID touch_mapping_id1 = db.AddIconMapping(url, touch_icon_id1); |
722 ASSERT_NE(0, touch_mapping_id1); | 717 ASSERT_NE(0, touch_mapping_id1); |
723 | 718 |
724 FaviconID favicon_id1 = db.AddFavicon(url, FAVICON); | 719 FaviconID favicon_id1 = db.AddFavicon(icon_url, FAVICON, kSizesSmallAndLarge, |
| 720 favicon, base::Time::Now(), kSmallSize); |
725 ASSERT_NE(0, favicon_id1); | 721 ASSERT_NE(0, favicon_id1); |
726 ASSERT_TRUE(db.AddFaviconBitmap(favicon_id1, favicon, base::Time::Now(), | |
727 gfx::Size())); | |
728 IconMappingID favicon_mapping_id1 = db.AddIconMapping(url, favicon_id1); | 722 IconMappingID favicon_mapping_id1 = db.AddIconMapping(url, favicon_id1); |
729 ASSERT_NE(0, favicon_mapping_id1); | 723 ASSERT_NE(0, favicon_mapping_id1); |
730 | 724 |
731 GURL url2("http://chromium.org"); | 725 GURL url2("http://chromium.org"); |
732 FaviconID favicon_id2 = db.AddFavicon(url2, FAVICON); | 726 GURL icon_url2("http://chromium.org/favicon.ico"); |
| 727 FaviconID favicon_id2 = db.AddFavicon(icon_url2, FAVICON, kSizesSmallAndLarge, |
| 728 favicon, base::Time::Now(), kSmallSize); |
733 ASSERT_NE(0, favicon_id2); | 729 ASSERT_NE(0, favicon_id2); |
734 ASSERT_TRUE(db.AddFaviconBitmap(favicon_id2, favicon, base::Time::Now(), | |
735 gfx::Size())); | |
736 IconMappingID favicon_mapping_id2 = db.AddIconMapping(url2, favicon_id2); | 730 IconMappingID favicon_mapping_id2 = db.AddIconMapping(url2, favicon_id2); |
737 ASSERT_NE(0, favicon_mapping_id2); | 731 ASSERT_NE(0, favicon_mapping_id2); |
738 | 732 |
739 IconMapping icon_mapping; | 733 IconMapping icon_mapping; |
740 ThumbnailDatabase::IconMappingEnumerator enumerator1; | 734 ThumbnailDatabase::IconMappingEnumerator enumerator1; |
741 ASSERT_TRUE(db.InitIconMappingEnumerator(FAVICON, &enumerator1)); | 735 ASSERT_TRUE(db.InitIconMappingEnumerator(FAVICON, &enumerator1)); |
742 // There are 2 favicon mappings. | 736 // There are 2 favicon mappings. |
743 bool has_favicon_mapping1 = false; | 737 bool has_favicon_mapping1 = false; |
744 bool has_favicon_mapping2 = false; | 738 bool has_favicon_mapping2 = false; |
745 int mapping_count = 0; | 739 int mapping_count = 0; |
746 while (enumerator1.GetNextIconMapping(&icon_mapping)) { | 740 while (enumerator1.GetNextIconMapping(&icon_mapping)) { |
747 mapping_count++; | 741 mapping_count++; |
748 if (favicon_mapping_id1 == icon_mapping.mapping_id) { | 742 if (favicon_mapping_id1 == icon_mapping.mapping_id) { |
749 has_favicon_mapping1 = true; | 743 has_favicon_mapping1 = true; |
750 EXPECT_EQ(url, icon_mapping.page_url); | 744 EXPECT_EQ(url, icon_mapping.page_url); |
751 EXPECT_EQ(favicon_id1, icon_mapping.icon_id); | 745 EXPECT_EQ(favicon_id1, icon_mapping.icon_id); |
| 746 EXPECT_EQ(icon_url, icon_mapping.icon_url); |
752 EXPECT_EQ(FAVICON, icon_mapping.icon_type); | 747 EXPECT_EQ(FAVICON, icon_mapping.icon_type); |
753 } else if (favicon_mapping_id2 == icon_mapping.mapping_id) { | 748 } else if (favicon_mapping_id2 == icon_mapping.mapping_id) { |
754 has_favicon_mapping2 = true; | 749 has_favicon_mapping2 = true; |
755 EXPECT_EQ(url2, icon_mapping.page_url); | 750 EXPECT_EQ(url2, icon_mapping.page_url); |
756 EXPECT_EQ(favicon_id2, icon_mapping.icon_id); | 751 EXPECT_EQ(favicon_id2, icon_mapping.icon_id); |
| 752 EXPECT_EQ(icon_url2, icon_mapping.icon_url); |
757 EXPECT_EQ(FAVICON, icon_mapping.icon_type); | 753 EXPECT_EQ(FAVICON, icon_mapping.icon_type); |
758 } | 754 } |
759 } | 755 } |
760 EXPECT_EQ(2, mapping_count); | 756 EXPECT_EQ(2, mapping_count); |
761 EXPECT_TRUE(has_favicon_mapping1); | 757 EXPECT_TRUE(has_favicon_mapping1); |
762 EXPECT_TRUE(has_favicon_mapping2); | 758 EXPECT_TRUE(has_favicon_mapping2); |
763 | 759 |
764 ThumbnailDatabase::IconMappingEnumerator enumerator2; | 760 ThumbnailDatabase::IconMappingEnumerator enumerator2; |
765 ASSERT_TRUE(db.InitIconMappingEnumerator(TOUCH_ICON, &enumerator2)); | 761 ASSERT_TRUE(db.InitIconMappingEnumerator(TOUCH_ICON, &enumerator2)); |
766 ASSERT_TRUE(enumerator2.GetNextIconMapping(&icon_mapping)); | 762 ASSERT_TRUE(enumerator2.GetNextIconMapping(&icon_mapping)); |
767 EXPECT_EQ(touch_mapping_id1, icon_mapping.mapping_id); | 763 EXPECT_EQ(touch_mapping_id1, icon_mapping.mapping_id); |
768 EXPECT_EQ(url, icon_mapping.page_url); | 764 EXPECT_EQ(url, icon_mapping.page_url); |
769 EXPECT_EQ(touch_icon_id1, icon_mapping.icon_id); | 765 EXPECT_EQ(touch_icon_id1, icon_mapping.icon_id); |
| 766 EXPECT_EQ(icon_url, icon_mapping.icon_url); |
770 EXPECT_EQ(TOUCH_ICON, icon_mapping.icon_type); | 767 EXPECT_EQ(TOUCH_ICON, icon_mapping.icon_type); |
771 | 768 |
772 EXPECT_FALSE(enumerator2.GetNextIconMapping(&icon_mapping)); | 769 EXPECT_FALSE(enumerator2.GetNextIconMapping(&icon_mapping)); |
773 } | 770 } |
774 | 771 |
775 } // namespace history | 772 } // namespace history |
OLD | NEW |