| 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) {}
 | 
| 
 |