OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 void SetUpVersion79Database(sql::Connection* connection); | 69 void SetUpVersion79Database(sql::Connection* connection); |
70 void SetUpVersion80Database(sql::Connection* connection); | 70 void SetUpVersion80Database(sql::Connection* connection); |
71 void SetUpVersion81Database(sql::Connection* connection); | 71 void SetUpVersion81Database(sql::Connection* connection); |
72 void SetUpVersion82Database(sql::Connection* connection); | 72 void SetUpVersion82Database(sql::Connection* connection); |
73 void SetUpVersion83Database(sql::Connection* connection); | 73 void SetUpVersion83Database(sql::Connection* connection); |
74 void SetUpVersion84Database(sql::Connection* connection); | 74 void SetUpVersion84Database(sql::Connection* connection); |
75 void SetUpVersion85Database(sql::Connection* connection); | 75 void SetUpVersion85Database(sql::Connection* connection); |
76 void SetUpVersion86Database(sql::Connection* connection); | 76 void SetUpVersion86Database(sql::Connection* connection); |
77 void SetUpVersion87Database(sql::Connection* connection); | 77 void SetUpVersion87Database(sql::Connection* connection); |
78 void SetUpVersion88Database(sql::Connection* connection); | 78 void SetUpVersion88Database(sql::Connection* connection); |
| 79 void SetUpVersion89Database(sql::Connection* connection); |
79 | 80 |
80 void SetUpCurrentDatabaseAndCheckVersion(sql::Connection* connection) { | 81 void SetUpCurrentDatabaseAndCheckVersion(sql::Connection* connection) { |
81 SetUpVersion88Database(connection); // Prepopulates data. | 82 SetUpVersion89Database(connection); // Prepopulates data. |
82 scoped_ptr<TestDirectoryBackingStore> dbs( | 83 scoped_ptr<TestDirectoryBackingStore> dbs( |
83 new TestDirectoryBackingStore(GetUsername(), connection)); | 84 new TestDirectoryBackingStore(GetUsername(), connection)); |
84 ASSERT_EQ(kCurrentDBVersion, dbs->GetVersion()); | 85 ASSERT_EQ(kCurrentDBVersion, dbs->GetVersion()); |
85 | 86 |
86 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); | 87 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); |
87 ASSERT_FALSE(dbs->needs_column_refresh_); | 88 ASSERT_FALSE(dbs->needs_column_refresh_); |
88 } | 89 } |
89 | 90 |
90 private: | 91 private: |
91 base::ScopedTempDir temp_dir_; | 92 base::ScopedTempDir temp_dir_; |
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2759 ",attachment_metadata blob);" | 2760 ",attachment_metadata blob);" |
2760 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birthda" | 2761 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birthda" |
2761 "y TEXT, db_create_version TEXT, db_create_time INT, next_id INT defau" | 2762 "y TEXT, db_create_version TEXT, db_create_time INT, next_id INT defau" |
2762 "lt -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB);" | 2763 "lt -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB);" |
2763 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.org'," | 2764 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.org'," |
2764 "'c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-131078,'" | 2765 "'c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-131078,'" |
2765 "9010788312004066376x-6609234393368420856x',NULL,NULL);")); | 2766 "9010788312004066376x-6609234393368420856x',NULL,NULL);")); |
2766 ASSERT_TRUE(connection->CommitTransaction()); | 2767 ASSERT_TRUE(connection->CommitTransaction()); |
2767 } | 2768 } |
2768 | 2769 |
| 2770 |
| 2771 void MigrationTest::SetUpVersion89Database(sql::Connection* connection) { |
| 2772 ASSERT_TRUE(connection->is_open()); |
| 2773 ASSERT_TRUE(connection->BeginTransaction()); |
| 2774 ASSERT_TRUE(connection->Execute( |
| 2775 "CREATE TABLE share_version (id VARCHAR(128) primary key, data INT);" |
| 2776 "INSERT INTO 'share_version' VALUES('nick@chromium.org',89);" |
| 2777 "CREATE TABLE models (model_id BLOB primary key, progress_marker BLOB, tr" |
| 2778 "ansaction_version BIGINT default 0, context BLOB);" |
| 2779 "INSERT INTO 'models' VALUES(X'C2881000',X'0888810218B605',1,NULL);" |
| 2780 "CREATE TABLE 'metas'(metahandle bigint primary key ON CONFLICT FAIL,base" |
| 2781 "_version bigint default -1,server_version bigint default 0,local_exte" |
| 2782 "rnal_id bigint default 0,transaction_version bigint default 0,mtime b" |
| 2783 "igint default 0,server_mtime bigint default 0,ctime bigint default 0," |
| 2784 "server_ctime bigint default 0,id varchar(255) default 'r',parent_id v" |
| 2785 "archar(255) default 'r',server_parent_id varchar(255) default 'r',is_" |
| 2786 "unsynced bit default 0,is_unapplied_update bit default 0,is_del bit d" |
| 2787 "efault 0,is_dir bit default 0,server_is_dir bit default 0,server_is_d" |
| 2788 "el bit default 0,non_unique_name varchar,server_non_unique_name varch" |
| 2789 "ar(255),unique_server_tag varchar,unique_client_tag varchar,unique_bo" |
| 2790 "okmark_tag varchar,specifics blob,server_specifics blob,base_server_s" |
| 2791 "pecifics blob,server_unique_position blob,unique_position blob,attach" |
| 2792 "ment_metadata blob,server_attachment_metadata blob);" |
| 2793 "INSERT INTO 'metas' VALUES(1,-1,0,0,0," |
| 2794 META_PROTO_TIMES_VALS(1) |
| 2795 ",'r','r','r',0,0,0,1,0,0,NULL,NULL,NULL,NULL,X'',X'',X'',NULL,X'2200'" |
| 2796 ",X'2200',NULL,NULL);" |
| 2797 "INSERT INTO 'metas' VALUES(6,694,694,6,0," |
| 2798 META_PROTO_TIMES_VALS(6) |
| 2799 ",'s_ID_6','s_ID_9','s_ID_9',0,0,0,1,1,0,'The Internet','The Internet'" |
| 2800 ",NULL,NULL,X'6754307476346749735A5734654D653273625336557753582F77673D" |
| 2801 "',X'C2881000',X'C2881000',NULL,X'22247FFFFFFFFFC000006754307476346749" |
| 2802 "735A5734654D653273625336557753582F77673D',X'22247FFFFFFFFFC0000067543" |
| 2803 "07476346749735A5734654D653273625336557753582F77673D',NULL,NULL);" |
| 2804 "INSERT INTO 'metas' VALUES(7,663,663,0,0," |
| 2805 META_PROTO_TIMES_VALS(7) |
| 2806 ",'s_ID_7','r','r',0,0,0,1,1,0,'Google Chrome','Google Chrome','google" |
| 2807 "_chrome',NULL,X'',NULL,NULL,NULL,X'2200',X'2200',NULL,NULL);" |
| 2808 "INSERT INTO 'metas' VALUES(8,664,664,0,0," |
| 2809 META_PROTO_TIMES_VALS(8) |
| 2810 ",'s_ID_8','s_ID_7','s_ID_7',0,0,0,1,1,0,'Bookmarks','Bookmarks','goog" |
| 2811 "le_chrome_bookmarks',NULL,X'',X'C2881000',X'C2881000',NULL,X'2200',X'" |
| 2812 "2200',NULL,NULL);" |
| 2813 "INSERT INTO 'metas' VALUES(9,665,665,1,0," |
| 2814 META_PROTO_TIMES_VALS(9) |
| 2815 ",'s_ID_9','s_ID_8','s_ID_8',0,0,0,1,1,0,'Bookmark Bar','Bookmark Bar'" |
| 2816 ",'bookmark_bar',NULL,X'',X'C2881000',X'C2881000',NULL,X'2200',X'2200'" |
| 2817 ",NULL,NULL);" |
| 2818 "INSERT INTO 'metas' VALUES(10,666,666,2,0," |
| 2819 META_PROTO_TIMES_VALS(10) |
| 2820 ",'s_ID_10','s_ID_8','s_ID_8',0,0,0,1,1,0,'Other Bookmarks','Other Boo" |
| 2821 "kmarks','other_bookmarks',NULL,X'',X'C2881000',X'C2881000',NULL,X'220" |
| 2822 "0',X'2200',NULL,NULL);" |
| 2823 "INSERT INTO 'metas' VALUES(11,683,683,8,0," |
| 2824 META_PROTO_TIMES_VALS(11) |
| 2825 ",'s_ID_11','s_ID_6','s_ID_6',0,0,0,0,0,0,'Home (The Chromium Projects" |
| 2826 ")','Home (The Chromium Projects)',NULL,NULL,X'50514C784A456D623579366" |
| 2827 "267644237646A7A2B62314130346E493D',X'C28810220A18687474703A2F2F646576" |
| 2828 "2E6368726F6D69756D2E6F72672F1206414741545741',X'C28810290A1D687474703" |
| 2829 "A2F2F6465762E6368726F6D69756D2E6F72672F6F7468657212084146414756415346" |
| 2830 "',NULL,X'22247FFFFFFFFFF0000050514C784A456D623579366267644237646A7A2B" |
| 2831 "62314130346E493D',X'22247FFFFFFFFFF0000050514C784A456D623579366267644" |
| 2832 "237646A7A2B62314130346E493D',NULL,NULL);" |
| 2833 "INSERT INTO 'metas' VALUES(12,685,685,9,0," |
| 2834 META_PROTO_TIMES_VALS(12) |
| 2835 ",'s_ID_12','s_ID_6','s_ID_6',0,0,0,1,1,0,'Extra Bookmarks','Extra Boo" |
| 2836 "kmarks',NULL,NULL,X'7867626A704A646134635A6F616C376A49513338734B46324" |
| 2837 "837773D',X'C2881000',X'C2881000',NULL,X'222480000000000000007867626A7" |
| 2838 "04A646134635A6F616C376A49513338734B46324837773D',X'222480000000000000" |
| 2839 "007867626A704A646134635A6F616C376A49513338734B46324837773D',NULL,NULL" |
| 2840 ");" |
| 2841 "INSERT INTO 'metas' VALUES(13,687,687,10,0," |
| 2842 META_PROTO_TIMES_VALS(13) |
| 2843 ",'s_ID_13','s_ID_6','s_ID_6',0,0,0,0,0,0,'ICANN | Internet Corporatio" |
| 2844 "n for Assigned Names and Numbers','ICANN | Internet Corporation for A" |
| 2845 "ssigned Names and Numbers',NULL,NULL,X'3142756B572F774176695650417967" |
| 2846 "2B304A614A514B3452384A413D',X'C28810240A15687474703A2F2F7777772E69636" |
| 2847 "16E6E2E636F6D2F120B504E474158463041414646',X'C28810200A15687474703A2F" |
| 2848 "2F7777772E6963616E6E2E636F6D2F120744414146415346',NULL,X'22247FFFFFFF" |
| 2849 "FFF200003142756B572F7741766956504179672B304A614A514B3452384A413D',X'2" |
| 2850 "2247FFFFFFFFFF200003142756B572F7741766956504179672B304A614A514B345238" |
| 2851 "4A413D',NULL,NULL);" |
| 2852 "INSERT INTO 'metas' VALUES(14,692,692,11,0," |
| 2853 META_PROTO_TIMES_VALS(14) |
| 2854 ",'s_ID_14','s_ID_6','s_ID_6',0,0,0,0,0,0,'The WebKit Open Source Proj" |
| 2855 "ect','The WebKit Open Source Project',NULL,NULL,X'5A5678314E797636457" |
| 2856 "9524D3177494F7236563159552F6E644C553D',X'C288101A0A12687474703A2F2F77" |
| 2857 "65626B69742E6F72672F1204504E4758',X'C288101C0A13687474703A2F2F7765626" |
| 2858 "B69742E6F72672F781205504E473259',NULL,X'222480000000001000005A5678314" |
| 2859 "E7976364579524D3177494F7236563159552F6E644C553D',X'222480000000001000" |
| 2860 "005A5678314E7976364579524D3177494F7236563159552F6E644C553D',NULL,NULL" |
| 2861 ");" |
| 2862 "CREATE TABLE deleted_metas (metahandle bigint primary key ON CONFLICT FA" |
| 2863 "IL,base_version bigint default -1,server_version bigint default 0,loc" |
| 2864 "al_external_id bigint default 0,transaction_version bigint default 0," |
| 2865 "mtime bigint default 0,server_mtime bigint default 0,ctime bigint def" |
| 2866 "ault 0,server_ctime bigint default 0,id varchar(255) default 'r',pare" |
| 2867 "nt_id varchar(255) default 'r',server_parent_id varchar(255) default " |
| 2868 "'r',is_unsynced bit default 0,is_unapplied_update bit default 0,is_de" |
| 2869 "l bit default 0,is_dir bit default 0,server_is_dir bit default 0,serv" |
| 2870 "er_is_del bit default 0,non_unique_name varchar,server_non_unique_nam" |
| 2871 "e varchar(255),unique_server_tag varchar,unique_client_tag varchar,un" |
| 2872 "ique_bookmark_tag varchar,specifics blob,server_specifics blob,base_s" |
| 2873 "erver_specifics blob,server_unique_position blob,unique_position blob" |
| 2874 ",attachment_metadata blob,server_attachment_metadata blob);" |
| 2875 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birthda" |
| 2876 "y TEXT, db_create_version TEXT, db_create_time INT, next_id INT defau" |
| 2877 "lt -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB);" |
| 2878 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.org'," |
| 2879 "'c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-131078,'" |
| 2880 "9010788312004066376x-6609234393368420856x',NULL,NULL);")); |
| 2881 ASSERT_TRUE(connection->CommitTransaction()); |
| 2882 } |
| 2883 |
| 2884 |
2769 TEST_F(DirectoryBackingStoreTest, MigrateVersion67To68) { | 2885 TEST_F(DirectoryBackingStoreTest, MigrateVersion67To68) { |
2770 sql::Connection connection; | 2886 sql::Connection connection; |
2771 ASSERT_TRUE(connection.OpenInMemory()); | 2887 ASSERT_TRUE(connection.OpenInMemory()); |
2772 | 2888 |
2773 SetUpVersion67Database(&connection); | 2889 SetUpVersion67Database(&connection); |
2774 | 2890 |
2775 // Columns existing before version 67. | 2891 // Columns existing before version 67. |
2776 ASSERT_TRUE(connection.DoesColumnExist("metas", "name")); | 2892 ASSERT_TRUE(connection.DoesColumnExist("metas", "name")); |
2777 ASSERT_TRUE(connection.DoesColumnExist("metas", "unsanitized_name")); | 2893 ASSERT_TRUE(connection.DoesColumnExist("metas", "unsanitized_name")); |
2778 ASSERT_TRUE(connection.DoesColumnExist("metas", "server_name")); | 2894 ASSERT_TRUE(connection.DoesColumnExist("metas", "server_name")); |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3249 ASSERT_TRUE(connection.OpenInMemory()); | 3365 ASSERT_TRUE(connection.OpenInMemory()); |
3250 SetUpVersion87Database(&connection); | 3366 SetUpVersion87Database(&connection); |
3251 | 3367 |
3252 scoped_ptr<TestDirectoryBackingStore> dbs( | 3368 scoped_ptr<TestDirectoryBackingStore> dbs( |
3253 new TestDirectoryBackingStore(GetUsername(), &connection)); | 3369 new TestDirectoryBackingStore(GetUsername(), &connection)); |
3254 ASSERT_TRUE(dbs->MigrateVersion87To88()); | 3370 ASSERT_TRUE(dbs->MigrateVersion87To88()); |
3255 ASSERT_EQ(88, dbs->GetVersion()); | 3371 ASSERT_EQ(88, dbs->GetVersion()); |
3256 ASSERT_TRUE(connection.DoesColumnExist("models", "context")); | 3372 ASSERT_TRUE(connection.DoesColumnExist("models", "context")); |
3257 } | 3373 } |
3258 | 3374 |
| 3375 TEST_F(DirectoryBackingStoreTest, MigrateVersion88To89) { |
| 3376 sql::Connection connection; |
| 3377 ASSERT_TRUE(connection.OpenInMemory()); |
| 3378 SetUpVersion88Database(&connection); |
| 3379 ASSERT_FALSE( |
| 3380 connection.DoesColumnExist("metas", "server_attachment_metadata")); |
| 3381 |
| 3382 scoped_ptr<TestDirectoryBackingStore> dbs( |
| 3383 new TestDirectoryBackingStore(GetUsername(), &connection)); |
| 3384 ASSERT_TRUE(dbs->MigrateVersion88To89()); |
| 3385 ASSERT_EQ(89, dbs->GetVersion()); |
| 3386 EXPECT_TRUE( |
| 3387 connection.DoesColumnExist("metas", "server_attachment_metadata")); |
| 3388 EXPECT_TRUE(dbs->needs_column_refresh_); |
| 3389 } |
| 3390 |
3259 // The purpose of this test case is to make it easier to get a dump of the | 3391 // The purpose of this test case is to make it easier to get a dump of the |
3260 // database so you can implement a SetUpVersionYDatabase method. Here's what | 3392 // database so you can implement a SetUpVersionYDatabase method. Here's what |
3261 // you should do: | 3393 // you should do: |
3262 // | 3394 // |
3263 // 1. Say you're going from version X to version Y. Write the migration | 3395 // 1. Say you're going from version X to version Y. Write the migration |
3264 // method MigrateVersionXToY. | 3396 // method MigrateVersionXToY. |
3265 // 2. Update the test below to call SetUpVersionXDatabase and then | 3397 // 2. Update the test below to call SetUpVersionXDatabase and then |
3266 // MigrateVersionXToY. You now have a database at version Y. Let's dump it. | 3398 // MigrateVersionXToY. You now have a database at version Y. Let's dump it. |
3267 // 3. Set a breakpoint to stop execution just after the connection is | 3399 // 3. Set a breakpoint to stop execution just after the connection is |
3268 // destroyed. Examine temp_dir_ to find the version Y database that was | 3400 // destroyed. Examine temp_dir_ to find the version Y database that was |
3269 // created on disk. E.g. (gdb) p temp_dir_.path().value().c_str() | 3401 // created on disk. E.g. (gdb) p temp_dir_.path().value().c_str() |
3270 // 4. Dump the database using the sqlite3 command line tool: | 3402 // 4. Dump the database using the sqlite3 command line tool: |
3271 // > .output foo_dump.sql | 3403 // > .output foo_dump.sql |
3272 // > .dump | 3404 // > .dump |
3273 // 5. Replace the timestamp columns with META_PROTO_TIMES(x) (or | 3405 // 5. Replace the timestamp columns with META_PROTO_TIMES(x) (or |
3274 // LEGACY_META_PROTO_TIMES(x) if before Version 77). Use this dump to write | 3406 // LEGACY_META_PROTO_TIMES(x) if before Version 77). Use this dump to write |
3275 // a SetupVersionYDatabase method. | 3407 // a SetupVersionYDatabase method. |
3276 TEST_F(DirectoryBackingStoreTest, MigrateToLatestAndDump) { | 3408 TEST_F(DirectoryBackingStoreTest, MigrateToLatestAndDump) { |
3277 { | 3409 { |
3278 sql::Connection connection; | 3410 sql::Connection connection; |
3279 ASSERT_TRUE(connection.Open(GetDatabasePath())); | 3411 ASSERT_TRUE(connection.Open(GetDatabasePath())); |
3280 SetUpVersion87Database(&connection); // Update this. | 3412 SetUpVersion88Database(&connection); // Update this. |
3281 | 3413 |
3282 scoped_ptr<TestDirectoryBackingStore> dbs( | 3414 scoped_ptr<TestDirectoryBackingStore> dbs( |
3283 new TestDirectoryBackingStore(GetUsername(), &connection)); | 3415 new TestDirectoryBackingStore(GetUsername(), &connection)); |
3284 ASSERT_TRUE(dbs->MigrateVersion87To88()); // Update this. | 3416 ASSERT_TRUE(dbs->MigrateVersion88To89()); // Update this. |
3285 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); | 3417 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); |
3286 EXPECT_EQ(88, dbs->GetVersion()); // Update this. | 3418 EXPECT_EQ(89, dbs->GetVersion()); // Update this. |
3287 ASSERT_FALSE(dbs->needs_column_refresh_); | 3419 ASSERT_FALSE(dbs->needs_column_refresh_); |
3288 } | 3420 } |
3289 // Set breakpoint here. | 3421 // Set breakpoint here. |
3290 } | 3422 } |
3291 | 3423 |
3292 TEST_F(DirectoryBackingStoreTest, DetectInvalidPosition) { | 3424 TEST_F(DirectoryBackingStoreTest, DetectInvalidPosition) { |
3293 sql::Connection connection; | 3425 sql::Connection connection; |
3294 ASSERT_TRUE(connection.OpenInMemory()); | 3426 ASSERT_TRUE(connection.OpenInMemory()); |
3295 SetUpVersion86Database(&connection); | 3427 SetUpVersion86Database(&connection); |
3296 | 3428 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3378 break; | 3510 break; |
3379 case 86: | 3511 case 86: |
3380 SetUpVersion86Database(&connection); | 3512 SetUpVersion86Database(&connection); |
3381 break; | 3513 break; |
3382 case 87: | 3514 case 87: |
3383 SetUpVersion87Database(&connection); | 3515 SetUpVersion87Database(&connection); |
3384 break; | 3516 break; |
3385 case 88: | 3517 case 88: |
3386 SetUpVersion88Database(&connection); | 3518 SetUpVersion88Database(&connection); |
3387 break; | 3519 break; |
| 3520 case 89: |
| 3521 SetUpVersion89Database(&connection); |
| 3522 break; |
3388 default: | 3523 default: |
3389 // If you see this error, it may mean that you've increased the | 3524 // If you see this error, it may mean that you've increased the |
3390 // database version number but you haven't finished adding unit tests | 3525 // database version number but you haven't finished adding unit tests |
3391 // for the database migration code. You need to need to supply a | 3526 // for the database migration code. You need to need to supply a |
3392 // SetUpVersionYDatabase function with a dump of the test database | 3527 // SetUpVersionYDatabase function with a dump of the test database |
3393 // at the new schema. See the MigrateToLatestAndDump test case. | 3528 // at the new schema. See the MigrateToLatestAndDump test case. |
3394 FAIL() << "Need to supply database dump for version " << GetParam(); | 3529 FAIL() << "Need to supply database dump for version " << GetParam(); |
3395 } | 3530 } |
3396 | 3531 |
3397 syncable::Directory::KernelLoadInfo dir_info; | 3532 syncable::Directory::KernelLoadInfo dir_info; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3470 ASSERT_FALSE(connection.DoesColumnExist("metas", "next_id")); | 3605 ASSERT_FALSE(connection.DoesColumnExist("metas", "next_id")); |
3471 ASSERT_FALSE(connection.DoesColumnExist("metas", "prev_id")); | 3606 ASSERT_FALSE(connection.DoesColumnExist("metas", "prev_id")); |
3472 ASSERT_FALSE(connection.DoesColumnExist("metas", "server_ordinal_in_parent")); | 3607 ASSERT_FALSE(connection.DoesColumnExist("metas", "server_ordinal_in_parent")); |
3473 | 3608 |
3474 // Column added in version 87. | 3609 // Column added in version 87. |
3475 ASSERT_TRUE(connection.DoesColumnExist("metas", "attachment_metadata")); | 3610 ASSERT_TRUE(connection.DoesColumnExist("metas", "attachment_metadata")); |
3476 | 3611 |
3477 // Column added in version 88. | 3612 // Column added in version 88. |
3478 ASSERT_TRUE(connection.DoesColumnExist("models", "context")); | 3613 ASSERT_TRUE(connection.DoesColumnExist("models", "context")); |
3479 | 3614 |
| 3615 // Column added in version 89. |
| 3616 ASSERT_TRUE( |
| 3617 connection.DoesColumnExist("metas", "server_attachment_metadata")); |
| 3618 |
3480 // Check download_progress state (v75 migration) | 3619 // Check download_progress state (v75 migration) |
3481 ASSERT_EQ(694, | 3620 ASSERT_EQ(694, |
3482 dir_info.kernel_info.download_progress[BOOKMARKS] | 3621 dir_info.kernel_info.download_progress[BOOKMARKS] |
3483 .timestamp_token_for_migration()); | 3622 .timestamp_token_for_migration()); |
3484 ASSERT_FALSE( | 3623 ASSERT_FALSE( |
3485 dir_info.kernel_info.download_progress[BOOKMARKS] | 3624 dir_info.kernel_info.download_progress[BOOKMARKS] |
3486 .has_token()); | 3625 .has_token()); |
3487 ASSERT_EQ(32904, | 3626 ASSERT_EQ(32904, |
3488 dir_info.kernel_info.download_progress[BOOKMARKS] | 3627 dir_info.kernel_info.download_progress[BOOKMARKS] |
3489 .data_type_id()); | 3628 .data_type_id()); |
(...skipping 16 matching lines...) Expand all Loading... |
3506 ExpectTimes(handles_map, GetExpectedMetaTimes()); | 3645 ExpectTimes(handles_map, GetExpectedMetaTimes()); |
3507 | 3646 |
3508 Directory::MetahandlesMap::iterator it = handles_map.find(1); | 3647 Directory::MetahandlesMap::iterator it = handles_map.find(1); |
3509 ASSERT_TRUE(it != handles_map.end()); | 3648 ASSERT_TRUE(it != handles_map.end()); |
3510 ASSERT_EQ(1, it->second->ref(META_HANDLE)); | 3649 ASSERT_EQ(1, it->second->ref(META_HANDLE)); |
3511 EXPECT_TRUE(it->second->ref(ID).IsRoot()); | 3650 EXPECT_TRUE(it->second->ref(ID).IsRoot()); |
3512 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3651 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3513 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3652 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3514 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); | 3653 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); |
3515 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3654 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3655 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3516 | 3656 |
3517 // Items 2, 4, and 5 were deleted. | 3657 // Items 2, 4, and 5 were deleted. |
3518 it = handles_map.find(2); | 3658 it = handles_map.find(2); |
3519 ASSERT_TRUE(it == handles_map.end()); | 3659 ASSERT_TRUE(it == handles_map.end()); |
3520 it = handles_map.find(4); | 3660 it = handles_map.find(4); |
3521 ASSERT_TRUE(it == handles_map.end()); | 3661 ASSERT_TRUE(it == handles_map.end()); |
3522 it = handles_map.find(5); | 3662 it = handles_map.find(5); |
3523 ASSERT_TRUE(it == handles_map.end()); | 3663 ASSERT_TRUE(it == handles_map.end()); |
3524 | 3664 |
3525 it = handles_map.find(6); | 3665 it = handles_map.find(6); |
3526 ASSERT_EQ(6, it->second->ref(META_HANDLE)); | 3666 ASSERT_EQ(6, it->second->ref(META_HANDLE)); |
3527 EXPECT_TRUE(it->second->ref(IS_DIR)); | 3667 EXPECT_TRUE(it->second->ref(IS_DIR)); |
3528 EXPECT_TRUE(it->second->ref(SERVER_IS_DIR)); | 3668 EXPECT_TRUE(it->second->ref(SERVER_IS_DIR)); |
3529 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); | 3669 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); |
3530 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); | 3670 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); |
3531 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); | 3671 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); |
3532 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); | 3672 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); |
3533 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3673 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3534 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3674 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3535 EXPECT_EQ(UniquePosition::kSuffixLength, | 3675 EXPECT_EQ(UniquePosition::kSuffixLength, |
3536 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); | 3676 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); |
3537 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3677 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3678 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3538 | 3679 |
3539 it = handles_map.find(7); | 3680 it = handles_map.find(7); |
3540 ASSERT_EQ(7, it->second->ref(META_HANDLE)); | 3681 ASSERT_EQ(7, it->second->ref(META_HANDLE)); |
3541 EXPECT_EQ("google_chrome", it->second->ref(UNIQUE_SERVER_TAG)); | 3682 EXPECT_EQ("google_chrome", it->second->ref(UNIQUE_SERVER_TAG)); |
3542 EXPECT_FALSE(it->second->ref(SPECIFICS).has_bookmark()); | 3683 EXPECT_FALSE(it->second->ref(SPECIFICS).has_bookmark()); |
3543 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3684 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3544 // Make sure we didn't assign positions to google_chrome. | 3685 // Make sure we didn't assign positions to google_chrome. |
3545 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3686 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3546 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3687 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3547 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); | 3688 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); |
3548 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3689 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3690 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3549 | 3691 |
3550 it = handles_map.find(8); | 3692 it = handles_map.find(8); |
3551 ASSERT_EQ(8, it->second->ref(META_HANDLE)); | 3693 ASSERT_EQ(8, it->second->ref(META_HANDLE)); |
3552 EXPECT_EQ("google_chrome_bookmarks", it->second->ref(UNIQUE_SERVER_TAG)); | 3694 EXPECT_EQ("google_chrome_bookmarks", it->second->ref(UNIQUE_SERVER_TAG)); |
3553 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); | 3695 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); |
3554 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3696 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3555 ASSERT_EQ(it->second->ref(ID).value(), "s_ID_8"); | 3697 ASSERT_EQ(it->second->ref(ID).value(), "s_ID_8"); |
3556 // Make sure we didn't mistake the bookmark root node for a real bookmark. | 3698 // Make sure we didn't mistake the bookmark root node for a real bookmark. |
3557 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3699 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3558 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3700 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3559 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); | 3701 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); |
3560 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3702 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3703 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3561 | 3704 |
3562 it = handles_map.find(9); | 3705 it = handles_map.find(9); |
3563 ASSERT_EQ(9, it->second->ref(META_HANDLE)); | 3706 ASSERT_EQ(9, it->second->ref(META_HANDLE)); |
3564 EXPECT_EQ("bookmark_bar", it->second->ref(UNIQUE_SERVER_TAG)); | 3707 EXPECT_EQ("bookmark_bar", it->second->ref(UNIQUE_SERVER_TAG)); |
3565 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); | 3708 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); |
3566 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3709 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3567 // Make sure we didn't assign positions to bookmark_bar. | 3710 // Make sure we didn't assign positions to bookmark_bar. |
3568 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3711 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3569 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3712 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3570 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); | 3713 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); |
3571 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3714 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3715 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3572 | 3716 |
3573 it = handles_map.find(10); | 3717 it = handles_map.find(10); |
3574 ASSERT_EQ(10, it->second->ref(META_HANDLE)); | 3718 ASSERT_EQ(10, it->second->ref(META_HANDLE)); |
3575 EXPECT_FALSE(it->second->ref(IS_DEL)); | 3719 EXPECT_FALSE(it->second->ref(IS_DEL)); |
3576 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); | 3720 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); |
3577 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3721 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3578 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); | 3722 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); |
3579 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); | 3723 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); |
3580 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); | 3724 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); |
3581 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); | 3725 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); |
3582 EXPECT_EQ("other_bookmarks", it->second->ref(UNIQUE_SERVER_TAG)); | 3726 EXPECT_EQ("other_bookmarks", it->second->ref(UNIQUE_SERVER_TAG)); |
3583 EXPECT_EQ("Other Bookmarks", it->second->ref(NON_UNIQUE_NAME)); | 3727 EXPECT_EQ("Other Bookmarks", it->second->ref(NON_UNIQUE_NAME)); |
3584 EXPECT_EQ("Other Bookmarks", it->second->ref(SERVER_NON_UNIQUE_NAME)); | 3728 EXPECT_EQ("Other Bookmarks", it->second->ref(SERVER_NON_UNIQUE_NAME)); |
3585 ASSERT_EQ(it->second->ref(ID).value(), "s_ID_10"); | 3729 ASSERT_EQ(it->second->ref(ID).value(), "s_ID_10"); |
3586 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3730 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3731 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3587 // Make sure we didn't assign positions to server-created folders, either. | 3732 // Make sure we didn't assign positions to server-created folders, either. |
3588 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3733 EXPECT_FALSE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3589 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3734 EXPECT_FALSE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3590 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); | 3735 EXPECT_TRUE(it->second->ref(UNIQUE_BOOKMARK_TAG).empty()); |
3591 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3736 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3737 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3592 | 3738 |
3593 it = handles_map.find(11); | 3739 it = handles_map.find(11); |
3594 ASSERT_EQ(11, it->second->ref(META_HANDLE)); | 3740 ASSERT_EQ(11, it->second->ref(META_HANDLE)); |
3595 EXPECT_FALSE(it->second->ref(IS_DEL)); | 3741 EXPECT_FALSE(it->second->ref(IS_DEL)); |
3596 EXPECT_FALSE(it->second->ref(IS_DIR)); | 3742 EXPECT_FALSE(it->second->ref(IS_DIR)); |
3597 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); | 3743 EXPECT_TRUE(it->second->ref(SPECIFICS).has_bookmark()); |
3598 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3744 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3599 EXPECT_EQ("http://dev.chromium.org/", | 3745 EXPECT_EQ("http://dev.chromium.org/", |
3600 it->second->ref(SPECIFICS).bookmark().url()); | 3746 it->second->ref(SPECIFICS).bookmark().url()); |
3601 EXPECT_EQ("AGATWA", it->second->ref(SPECIFICS).bookmark().favicon()); | 3747 EXPECT_EQ("AGATWA", it->second->ref(SPECIFICS).bookmark().favicon()); |
(...skipping 20 matching lines...) Expand all Loading... |
3622 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); | 3768 EXPECT_TRUE(it->second->ref(SERVER_SPECIFICS).has_bookmark()); |
3623 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); | 3769 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_url()); |
3624 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); | 3770 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_url()); |
3625 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); | 3771 EXPECT_FALSE(it->second->ref(SPECIFICS).bookmark().has_favicon()); |
3626 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); | 3772 EXPECT_FALSE(it->second->ref(SERVER_SPECIFICS).bookmark().has_favicon()); |
3627 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3773 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3628 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3774 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3629 EXPECT_EQ(UniquePosition::kSuffixLength, | 3775 EXPECT_EQ(UniquePosition::kSuffixLength, |
3630 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); | 3776 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); |
3631 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3777 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3778 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3632 | 3779 |
3633 it = handles_map.find(13); | 3780 it = handles_map.find(13); |
3634 ASSERT_EQ(13, it->second->ref(META_HANDLE)); | 3781 ASSERT_EQ(13, it->second->ref(META_HANDLE)); |
3635 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3782 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3636 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3783 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3637 EXPECT_EQ(UniquePosition::kSuffixLength, | 3784 EXPECT_EQ(UniquePosition::kSuffixLength, |
3638 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); | 3785 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); |
3639 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3786 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3787 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3640 | 3788 |
3641 it = handles_map.find(14); | 3789 it = handles_map.find(14); |
3642 ASSERT_EQ(14, it->second->ref(META_HANDLE)); | 3790 ASSERT_EQ(14, it->second->ref(META_HANDLE)); |
3643 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); | 3791 EXPECT_TRUE(it->second->ref(UNIQUE_POSITION).IsValid()); |
3644 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); | 3792 EXPECT_TRUE(it->second->ref(SERVER_UNIQUE_POSITION).IsValid()); |
3645 EXPECT_EQ(UniquePosition::kSuffixLength, | 3793 EXPECT_EQ(UniquePosition::kSuffixLength, |
3646 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); | 3794 it->second->ref(UNIQUE_BOOKMARK_TAG).length()); |
3647 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); | 3795 EXPECT_TRUE(it->second->ref(ATTACHMENT_METADATA).IsInitialized()); |
| 3796 EXPECT_TRUE(it->second->ref(SERVER_ATTACHMENT_METADATA).IsInitialized()); |
3648 | 3797 |
3649 ASSERT_EQ(static_cast<size_t>(10), handles_map.size()); | 3798 ASSERT_EQ(static_cast<size_t>(10), handles_map.size()); |
3650 | 3799 |
3651 // Make sure that the syncable::Directory and the migration code agree on | 3800 // Make sure that the syncable::Directory and the migration code agree on |
3652 // which items should or should not have unique position values. This test | 3801 // which items should or should not have unique position values. This test |
3653 // may become obsolete if the directory's definition of that function | 3802 // may become obsolete if the directory's definition of that function |
3654 // changes, but, until then, this is a useful test. | 3803 // changes, but, until then, this is a useful test. |
3655 for (it = handles_map.begin(); it != handles_map.end(); it++) { | 3804 for (it = handles_map.begin(); it != handles_map.end(); it++) { |
3656 SCOPED_TRACE(it->second->ref(ID)); | 3805 SCOPED_TRACE(it->second->ref(ID)); |
3657 if (it->second->ShouldMaintainPosition()) { | 3806 if (it->second->ShouldMaintainPosition()) { |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3801 const std::string& guid2 = TestDirectoryBackingStore::GenerateCacheGUID(); | 3950 const std::string& guid2 = TestDirectoryBackingStore::GenerateCacheGUID(); |
3802 EXPECT_EQ(24U, guid1.size()); | 3951 EXPECT_EQ(24U, guid1.size()); |
3803 EXPECT_EQ(24U, guid2.size()); | 3952 EXPECT_EQ(24U, guid2.size()); |
3804 // In theory this test can fail, but it won't before the universe | 3953 // In theory this test can fail, but it won't before the universe |
3805 // dies of heat death. | 3954 // dies of heat death. |
3806 EXPECT_NE(guid1, guid2); | 3955 EXPECT_NE(guid1, guid2); |
3807 } | 3956 } |
3808 | 3957 |
3809 } // namespace syncable | 3958 } // namespace syncable |
3810 } // namespace syncer | 3959 } // namespace syncer |
OLD | NEW |