Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(211)

Unified Diff: chrome/browser/ui/app_list/app_list_extension_sorting_unittest.cc

Issue 17038002: Separate the NTP app ordering from the app list app ordering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rework Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/app_list/app_list_extension_sorting_unittest.cc
diff --git a/chrome/browser/ui/app_list/app_list_extension_sorting_unittest.cc b/chrome/browser/ui/app_list/app_list_extension_sorting_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..cfc38747fe9d5c9eade172ef6b946d26fa56a612
--- /dev/null
+++ b/chrome/browser/ui/app_list/app_list_extension_sorting_unittest.cc
@@ -0,0 +1,146 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/app_list/app_list_extension_sorting.h"
+
+#include <string>
+
+#include "chrome/browser/extensions/extension_prefs_unittest.h"
+#include "chrome/browser/extensions/test_extension_service.h"
+#include "chrome/common/extensions/extension_constants.h"
+#include "sync/api/string_ordinal.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+const char kHostedAppId[] = "dceacbkfkmllgmjmbhgkpjegnodmildf";
+const char kPackagedApp1Id[] = "emfkafnhnpcmabnnkckkchdilgeoekbo";
+const char kPackagedApp2Id[] = "jlklkagmeajbjiobondfhiekepofmljl";
+
+class MockExtensionService : public TestExtensionService {
+ public:
+ virtual const extensions::Extension* GetInstalledExtension(
+ const std::string& id) const OVERRIDE {
+ return NULL;
+ }
+ virtual void SyncExtensionChangeIfNeeded(
+ const extensions::Extension& extension) OVERRIDE {}
+};
+
+} // namespace
+
+class AppListExtensionSortingTest : public extensions::ExtensionPrefsTest {
+ public:
+ virtual void SetUp() OVERRIDE {
+ prefs()->app_list_extension_sorting()->
+ SetExtensionService(&extension_service_);
+ extensions::ExtensionPrefsTest::SetUp();
+ }
+
+ protected:
+ AppListExtensionSorting* app_list_extension_sorting() {
+ return prefs()->app_list_extension_sorting();
+ }
+
+ private:
+ MockExtensionService extension_service_;
+};
+
+class AppListExtensionSortingInsertion : public AppListExtensionSortingTest {
+ public:
+ virtual void Initialize() OVERRIDE {
+ app_list_extension_sorting()->InsertAtFront(kHostedAppId);
+ app_list_extension_sorting()->InsertAtFront(kPackagedApp1Id);
+ app_list_extension_sorting()->InsertAtBack(kPackagedApp2Id);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(kPackagedApp1Id, kHostedAppId));
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(kHostedAppId, kPackagedApp2Id));
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(kPackagedApp1Id, kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionSortingInsertion, AppListExtensionSortingInsertion) {}
+
+class AppListExtensionSortingContains : public AppListExtensionSortingTest {
+ public:
+ virtual void Initialize() OVERRIDE {
+ EXPECT_FALSE(app_list_extension_sorting()->Contains(kHostedAppId));
+ app_list_extension_sorting()->InsertAtFront(kHostedAppId);
+ EXPECT_FALSE(app_list_extension_sorting()->Contains(kPackagedApp1Id));
+ app_list_extension_sorting()->InsertAtBack(kPackagedApp1Id);
+ EXPECT_FALSE(app_list_extension_sorting()->Contains(kPackagedApp2Id));
+ app_list_extension_sorting()->InsertAtBack(kPackagedApp2Id);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_TRUE(app_list_extension_sorting()->Contains(kHostedAppId));
+ EXPECT_TRUE(app_list_extension_sorting()->Contains(kPackagedApp1Id));
+ EXPECT_TRUE(app_list_extension_sorting()->Contains(kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionSortingContains, AppListExtensionSortingContains) {}
+
+class AppListExtensionSortingErase : public AppListExtensionSortingTest {
+ public:
+ virtual void Initialize() OVERRIDE {
+ app_list_extension_sorting()->InsertAtFront(kHostedAppId);
+ EXPECT_TRUE(app_list_extension_sorting()->Contains(kHostedAppId));
+ app_list_extension_sorting()->Erase(kHostedAppId);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_FALSE(app_list_extension_sorting()->Contains(kHostedAppId));
+ }
+};
+TEST_F(AppListExtensionSortingErase, AppListExtensionSortingErase) {}
+
+class AppListExtensionSortingFixSyncCollisions
+ : public AppListExtensionSortingTest {
+ public:
+ virtual void Initialize() OVERRIDE {
+ syncer::StringOrdinal conflict_ordinal =
+ syncer::StringOrdinal::CreateInitialOrdinal();
+ app_list_extension_sorting()->
+ UpdateAppListOrdinalFromSync(kHostedAppId, conflict_ordinal);
+ app_list_extension_sorting()->
+ UpdateAppListOrdinalFromSync(kPackagedApp1Id, conflict_ordinal);
+ app_list_extension_sorting()->
+ UpdateAppListOrdinalFromSync(kPackagedApp2Id, conflict_ordinal);
+
+ app_list_extension_sorting()->FixSyncCollisions();
+ }
+
+ virtual void Verify() OVERRIDE {
+ // Conflicts are ordered by extension id.
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(kHostedAppId, kPackagedApp1Id));
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(kPackagedApp1Id, kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionSortingFixSyncCollisions,
+ AppListExtensionSortingFixSyncCollisions) {}
+
+class AppListExtensionSortingDefaultAppOrder
+ : public AppListExtensionSortingTest {
+ public:
+ virtual void Initialize() OVERRIDE {
+ extensions::ExtensionIdList ids;
+ ids.push_back(kPackagedApp1Id);
+ app_list_extension_sorting()->Initialize(ids);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_TRUE(app_list_extension_sorting()->
+ ExtensionPrecedes(extension_misc::kChromeAppId,
+ extension_misc::kWebStoreAppId));
+ EXPECT_FALSE(app_list_extension_sorting()->Contains(kPackagedApp1Id));
+ }
+};
+TEST_F(AppListExtensionSortingDefaultAppOrder,
+ AppListExtensionSortingDefaultAppOrder) {}

Powered by Google App Engine
This is Rietveld 408576698