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

Side by Side Diff: chrome/browser/history/thumbnail_database_unittest.cc

Issue 10802066: Adds support for saving favicon size into history database. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changes as requested by Sky and stevenjb Created 8 years, 4 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 | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698