| Index: chrome/browser/extensions/extension_sorting_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_sorting_unittest.cc (revision 132527)
|
| +++ chrome/browser/extensions/extension_sorting_unittest.cc (working copy)
|
| @@ -685,7 +685,7 @@
|
| 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 @@
|
| };
|
| 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) {}
|
|
|