| OLD | NEW | 
|    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 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 "chrome/browser/extensions/extension_prefs_unittest.h" |    5 #include "chrome/browser/extensions/extension_prefs_unittest.h" | 
|    6 #include "chrome/browser/extensions/extension_sorting.h" |    6 #include "chrome/browser/extensions/extension_sorting.h" | 
|    7 #include "chrome/common/extensions/extension_manifest_constants.h" |    7 #include "chrome/common/extensions/extension_manifest_constants.h" | 
|    8 #include "testing/gtest/include/gtest/gtest.h" |    8 #include "testing/gtest/include/gtest/gtest.h" | 
|    9  |    9  | 
|   10 namespace keys = extension_manifest_keys; |   10 namespace keys = extension_manifest_keys; | 
| (...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  678     max = extension_sorting->GetMinOrMaxAppLaunchOrdinalsOnPage( |  678     max = extension_sorting->GetMinOrMaxAppLaunchOrdinalsOnPage( | 
|  679         empty_page, |  679         empty_page, | 
|  680         ExtensionSorting::MAX_ORDINAL); |  680         ExtensionSorting::MAX_ORDINAL); | 
|  681     EXPECT_FALSE(min.IsValid()); |  681     EXPECT_FALSE(min.IsValid()); | 
|  682     EXPECT_FALSE(max.IsValid()); |  682     EXPECT_FALSE(max.IsValid()); | 
|  683   } |  683   } | 
|  684 }; |  684 }; | 
|  685 TEST_F(ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage, |  685 TEST_F(ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage, | 
|  686        ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage) {} |  686        ExtensionSortingGetMinOrMaxAppLaunchOrdinalsOnPage) {} | 
|  687  |  687  | 
|  688 // Make sure that empty pages aren't removes from the integer to ordinal |  688 // Make sure that empty pages aren't removed from the integer to ordinal | 
|  689 // mapping. See http://www.crbug.com/109802 for details. |  689 // mapping. See http://www.crbug.com/109802 for details. | 
|  690 class ExtensionSortingKeepEmptyStringOrdinalPages : |  690 class ExtensionSortingKeepEmptyStringOrdinalPages : | 
|  691     public ExtensionSortingPreinstalledAppsBase { |  691     public ExtensionSortingPreinstalledAppsBase { | 
|  692  public: |  692  public: | 
|  693   ExtensionSortingKeepEmptyStringOrdinalPages() {} |  693   ExtensionSortingKeepEmptyStringOrdinalPages() {} | 
|  694   virtual ~ExtensionSortingKeepEmptyStringOrdinalPages() {} |  694   virtual ~ExtensionSortingKeepEmptyStringOrdinalPages() {} | 
|  695  |  695  | 
|  696   virtual void Initialize() { |  696   virtual void Initialize() { | 
|  697     ExtensionSorting* extension_sorting = prefs()->extension_sorting(); |  697     ExtensionSorting* extension_sorting = prefs()->extension_sorting(); | 
|  698  |  698  | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|  718     EXPECT_EQ(2, extension_sorting->PageStringOrdinalAsInteger(last_page_)); |  718     EXPECT_EQ(2, extension_sorting->PageStringOrdinalAsInteger(last_page_)); | 
|  719     EXPECT_TRUE( |  719     EXPECT_TRUE( | 
|  720         last_page_.Equal(extension_sorting->PageIntegerAsStringOrdinal(2))); |  720         last_page_.Equal(extension_sorting->PageIntegerAsStringOrdinal(2))); | 
|  721   } |  721   } | 
|  722  |  722  | 
|  723  private: |  723  private: | 
|  724   StringOrdinal last_page_; |  724   StringOrdinal last_page_; | 
|  725 }; |  725 }; | 
|  726 TEST_F(ExtensionSortingKeepEmptyStringOrdinalPages, |  726 TEST_F(ExtensionSortingKeepEmptyStringOrdinalPages, | 
|  727        ExtensionSortingKeepEmptyStringOrdinalPages) {} |  727        ExtensionSortingKeepEmptyStringOrdinalPages) {} | 
 |  728  | 
 |  729 class ExtensionSortingMakesFillerOrdinals : | 
 |  730     public ExtensionSortingPreinstalledAppsBase { | 
 |  731  public: | 
 |  732   ExtensionSortingMakesFillerOrdinals() {} | 
 |  733   virtual ~ExtensionSortingMakesFillerOrdinals() {} | 
 |  734  | 
 |  735   virtual void Initialize() { | 
 |  736     ExtensionSorting* extension_sorting = prefs()->extension_sorting(); | 
 |  737  | 
 |  738     StringOrdinal first_page = StringOrdinal::CreateInitialOrdinal(); | 
 |  739     extension_sorting->SetPageOrdinal(app1_->id(), first_page); | 
 |  740     EXPECT_EQ(0, extension_sorting->PageStringOrdinalAsInteger(first_page)); | 
 |  741   } | 
 |  742   virtual void Verify() { | 
 |  743     ExtensionSorting* extension_sorting = prefs()->extension_sorting(); | 
 |  744  | 
 |  745     // Because the UI can add an unlimited number of empty pages without an app | 
 |  746     // on them, this test simulates dropping of an app on the 1st and 4th empty | 
 |  747     // pages (3rd and 6th pages by index) to ensure we don't crash and that | 
 |  748     // filler ordinals are created as needed. See: http://crbug.com/122214 | 
 |  749     StringOrdinal page_three = extension_sorting->PageIntegerAsStringOrdinal(2); | 
 |  750     extension_sorting->SetPageOrdinal(app1_->id(), page_three); | 
 |  751     EXPECT_EQ(2, extension_sorting->PageStringOrdinalAsInteger(page_three)); | 
 |  752  | 
 |  753     StringOrdinal page_six = extension_sorting->PageIntegerAsStringOrdinal(5); | 
 |  754     extension_sorting->SetPageOrdinal(app1_->id(), page_six); | 
 |  755     EXPECT_EQ(5, extension_sorting->PageStringOrdinalAsInteger(page_six)); | 
 |  756   } | 
 |  757 }; | 
 |  758 TEST_F(ExtensionSortingMakesFillerOrdinals, | 
 |  759        ExtensionSortingMakesFillerOrdinals) {} | 
| OLD | NEW |