| Index: components/offline_pages/offline_page_model_unittest.cc
|
| diff --git a/components/offline_pages/offline_page_model_unittest.cc b/components/offline_pages/offline_page_model_unittest.cc
|
| index b6b6a8a5bb94eaaeabe0cdd6076de8907d93c780..d8ba53c0995c69d039bc9ff571cb9e0ac476345b 100644
|
| --- a/components/offline_pages/offline_page_model_unittest.cc
|
| +++ b/components/offline_pages/offline_page_model_unittest.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/time/time.h"
|
| +#include "components/bookmarks/browser/bookmark_node.h"
|
| #include "components/offline_pages/offline_page_item.h"
|
| #include "components/offline_pages/offline_page_metadata_store.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -950,4 +951,32 @@ TEST_F(OfflinePageModelTest, ClearAll) {
|
| EXPECT_EQ(1UL, GetStore()->offline_pages().size());
|
| }
|
|
|
| +TEST_F(OfflinePageModelTest, BookmarkNodeChangesUrl) {
|
| + scoped_ptr<OfflinePageTestArchiver> archiver(
|
| + BuildArchiver(kTestUrl,
|
| + OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)
|
| + .Pass());
|
| + model()->SavePage(
|
| + kTestUrl, kTestPageBookmarkId1, archiver.Pass(),
|
| + base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
|
| + PumpLoop();
|
| +
|
| + EXPECT_EQ(1UL, model()->GetAllPages().size());
|
| +
|
| + bookmarks::BookmarkNode bookmark_node(kTestPageBookmarkId1, kTestUrl2);
|
| + model()->BookmarkNodeChanged(nullptr, &bookmark_node);
|
| + PumpLoop();
|
| +
|
| + // Offline copy should be removed. Chrome should not crash.
|
| + // http://crbug.com/558929
|
| + EXPECT_EQ(0UL, model()->GetAllPages().size());
|
| +
|
| + // Chrome should not crash when a bookmark with no offline copy is changed.
|
| + // http://crbug.com/560518
|
| + bookmark_node.set_url(kTestUrl);
|
| + model()->BookmarkNodeChanged(nullptr, &bookmark_node);
|
| + PumpLoop();
|
| + EXPECT_EQ(0UL, model()->GetAllPages().size());
|
| +}
|
| +
|
| } // namespace offline_pages
|
|
|