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

Unified Diff: chrome/browser/ui/app_list/app_list_extension_ordering_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: add sync test Created 7 years, 6 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_ordering_unittest.cc
diff --git a/chrome/browser/ui/app_list/app_list_extension_ordering_unittest.cc b/chrome/browser/ui/app_list/app_list_extension_ordering_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a67f324e2095681684204ee258faeb71f9e4f49e
--- /dev/null
+++ b/chrome/browser/ui/app_list/app_list_extension_ordering_unittest.cc
@@ -0,0 +1,125 @@
+// 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_ordering.h"
+
+#include <string>
+
+#include "chrome/browser/extensions/extension_prefs_unittest.h"
+#include "chrome/browser/extensions/test_extension_service.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 AppListExtensionOrderingTest : public extensions::ExtensionPrefsTest {
+ public:
+ virtual void SetUp() OVERRIDE {
+ prefs()->app_list_extension_ordering()->
+ SetExtensionService(&extension_service_);
+ extensions::ExtensionPrefsTest::SetUp();
+ }
+ protected:
+ AppListExtensionOrdering* app_list_extension_ordering() {
+ return prefs()->app_list_extension_ordering();
+ }
+
+ private:
+ MockExtensionService extension_service_;
+};
+
+class AppListExtensionOrderingInsertion : public AppListExtensionOrderingTest {
+public:
+ virtual void Initialize() OVERRIDE {
+ app_list_extension_ordering()->InsertAtFront(kHostedAppId);
+ app_list_extension_ordering()->InsertAtFront(kPackagedApp1Id);
+ app_list_extension_ordering()->InsertAtBack(kPackagedApp2Id);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_TRUE(app_list_extension_ordering()->
+ ExtensionPrecedes(kPackagedApp1Id, kHostedAppId));
+ EXPECT_TRUE(app_list_extension_ordering()->
+ ExtensionPrecedes(kHostedAppId, kPackagedApp2Id));
+ EXPECT_TRUE(app_list_extension_ordering()->
+ ExtensionPrecedes(kPackagedApp1Id, kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionOrderingInsertion, AppListExtensionOrderingInsertion) {}
+
+class AppListExtensionOrderingContains : public AppListExtensionOrderingTest {
+public:
+ virtual void Initialize() OVERRIDE {
+ EXPECT_FALSE(app_list_extension_ordering()->Contains(kHostedAppId));
+ app_list_extension_ordering()->InsertAtFront(kHostedAppId);
+ EXPECT_FALSE(app_list_extension_ordering()->Contains(kPackagedApp1Id));
+ app_list_extension_ordering()->InsertAtNextAvailable(kPackagedApp1Id);
+ EXPECT_FALSE(app_list_extension_ordering()->Contains(kPackagedApp2Id));
+ app_list_extension_ordering()->InsertAtBack(kPackagedApp2Id);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_TRUE(app_list_extension_ordering()->Contains(kHostedAppId));
+ EXPECT_TRUE(app_list_extension_ordering()->Contains(kPackagedApp1Id));
+ EXPECT_TRUE(app_list_extension_ordering()->Contains(kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionOrderingContains, AppListExtensionOrderingContains) {}
+
+class AppListExtensionOrderingErase : public AppListExtensionOrderingTest {
+public:
+ virtual void Initialize() OVERRIDE {
+ app_list_extension_ordering()->InsertAtFront(kHostedAppId);
+ EXPECT_TRUE(app_list_extension_ordering()->Contains(kHostedAppId));
+ app_list_extension_ordering()->Erase(kHostedAppId);
+ }
+
+ virtual void Verify() OVERRIDE {
+ EXPECT_FALSE(app_list_extension_ordering()->Contains(kHostedAppId));
+ }
+};
+TEST_F(AppListExtensionOrderingErase, AppListExtensionOrderingErase) {}
+
+class AppListExtensionOrderingFixSyncCollisions
+ : public AppListExtensionOrderingTest {
+public:
+ virtual void Initialize() OVERRIDE {
+ syncer::StringOrdinal conflict_ordinal =
+ syncer::StringOrdinal::CreateInitialOrdinal();
+ app_list_extension_ordering()->
+ SetAppListOrdinalForSync(kHostedAppId, conflict_ordinal);
+ app_list_extension_ordering()->
+ SetAppListOrdinalForSync(kPackagedApp1Id, conflict_ordinal);
+ app_list_extension_ordering()->
+ SetAppListOrdinalForSync(kPackagedApp2Id, conflict_ordinal);
+
+ app_list_extension_ordering()->FixSyncCollisions();
+ }
+
+ virtual void Verify() OVERRIDE {
+ // Conflicts are ordered by extension id.
+ EXPECT_TRUE(app_list_extension_ordering()->
+ ExtensionPrecedes(kHostedAppId, kPackagedApp1Id));
+ EXPECT_TRUE(app_list_extension_ordering()->
+ ExtensionPrecedes(kPackagedApp1Id, kPackagedApp2Id));
+ }
+};
+TEST_F(AppListExtensionOrderingFixSyncCollisions,
+ AppListExtensionOrderingFixSyncCollisions) {}

Powered by Google App Engine
This is Rietveld 408576698