| Index: chrome/browser/extensions/extension_sorting_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_sorting_unittest.cc b/chrome/browser/extensions/extension_sorting_unittest.cc
|
| index ed309f1ba2f507fae19992e730aee77162527280..ed16f6875ab984f8427ee63332e5b4a0686828dc 100644
|
| --- a/chrome/browser/extensions/extension_sorting_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_sorting_unittest.cc
|
| @@ -685,7 +685,7 @@ class ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage :
|
| TEST_F(ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage,
|
| ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage) {}
|
|
|
| -// Make sure that empty pages aren't removes from the integer to ordinal
|
| +// Make sure that empty pages aren't removed from the integer to ordinal
|
| // mapping. See http://www.crbug.com/109802 for details.
|
| class ExtensionSortingKeepEmptyStringOrdinalPages :
|
| public ExtensionSortingPreinstalledAppsBase {
|
| @@ -725,3 +725,35 @@ class ExtensionSortingKeepEmptyStringOrdinalPages :
|
| };
|
| TEST_F(ExtensionSortingKeepEmptyStringOrdinalPages,
|
| ExtensionSortingKeepEmptyStringOrdinalPages) {}
|
| +
|
| +class ExtensionSortingMakesFillerOrdinals :
|
| + public ExtensionSortingPreinstalledAppsBase {
|
| + public:
|
| + ExtensionSortingMakesFillerOrdinals() {}
|
| + virtual ~ExtensionSortingMakesFillerOrdinals() {}
|
| +
|
| + virtual void Initialize() {
|
| + ExtensionSorting* extension_sorting = prefs()->extension_sorting();
|
| +
|
| + StringOrdinal first_page = StringOrdinal::CreateInitialOrdinal();
|
| + extension_sorting->SetPageOrdinal(app1_->id(), first_page);
|
| + EXPECT_EQ(0, extension_sorting->PageStringOrdinalAsInteger(first_page));
|
| + }
|
| + virtual void Verify() {
|
| + ExtensionSorting* extension_sorting = prefs()->extension_sorting();
|
| +
|
| + // Because the UI can add an unlimited number of empty pages without an app
|
| + // on them, this test simulates dropping of an app on the 1st and 4th empty
|
| + // pages (3rd and 6th pages by index) to ensure we don't crash and that
|
| + // filler ordinals are created as needed. See: http://crbug.com/122214
|
| + StringOrdinal page_three = extension_sorting->PageIntegerAsStringOrdinal(2);
|
| + extension_sorting->SetPageOrdinal(app1_->id(), page_three);
|
| + EXPECT_EQ(2, extension_sorting->PageStringOrdinalAsInteger(page_three));
|
| +
|
| + StringOrdinal page_six = extension_sorting->PageIntegerAsStringOrdinal(5);
|
| + extension_sorting->SetPageOrdinal(app1_->id(), page_six);
|
| + EXPECT_EQ(5, extension_sorting->PageStringOrdinalAsInteger(page_six));
|
| + }
|
| +};
|
| +TEST_F(ExtensionSortingMakesFillerOrdinals,
|
| + ExtensionSortingMakesFillerOrdinals) {}
|
|
|