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

Side by Side Diff: base/nix/xdg_util_unittest.cc

Issue 839143002: Roll Chrome into Mojo. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rebase Created 5 years, 11 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 unified diff | Download patch
« no previous file with comments | « base/nix/xdg_util.cc ('k') | base/prefs/json_pref_store.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/nix/xdg_util.h" 5 #include "base/nix/xdg_util.h"
6 6
7 #include "base/environment.h" 7 #include "base/environment.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using ::testing::_; 11 using ::testing::_;
12 using ::testing::Return; 12 using ::testing::Return;
13 using ::testing::SetArgumentPointee; 13 using ::testing::SetArgumentPointee;
14 using ::testing::StrEq; 14 using ::testing::StrEq;
15 15
16 namespace base { 16 namespace base {
17 namespace nix { 17 namespace nix {
18 18
19 namespace { 19 namespace {
20 20
21 class MockEnvironment : public Environment { 21 class MockEnvironment : public Environment {
22 public: 22 public:
23 MOCK_METHOD2(GetVar, bool(const char*, std::string* result)); 23 MOCK_METHOD2(GetVar, bool(const char*, std::string* result));
24 MOCK_METHOD2(SetVar, bool(const char*, const std::string& new_value)); 24 MOCK_METHOD2(SetVar, bool(const char*, const std::string& new_value));
25 MOCK_METHOD1(UnSetVar, bool(const char*)); 25 MOCK_METHOD1(UnSetVar, bool(const char*));
26 }; 26 };
27 27
28 const char* const kGnome = "gnome"; 28 // Needs to be const char* to make gmock happy.
29 const char* const kKDE4 = "kde4"; 29 const char* const kDesktopGnome = "gnome";
30 const char* const kKDE = "kde"; 30 const char* const kDesktopGnomeFallback = "gnome-fallback";
31 const char* const kXFCE = "xfce"; 31 const char* const kDesktopMATE = "mate";
32 const char* const kDesktopKDE4 = "kde4";
33 const char* const kDesktopKDE = "kde";
34 const char* const kDesktopXFCE = "xfce";
35 const char* const kXdgDesktopGNOME = "GNOME";
36 const char* const kXdgDesktopKDE = "KDE";
37 const char* const kXdgDesktopUnity = "Unity";
38
39 const char kDesktopSession[] = "DESKTOP_SESSION";
40 const char kXdgDesktop[] = "XDG_CURRENT_DESKTOP";
32 41
33 } // namespace 42 } // namespace
34 43
35 TEST(XDGUtilTest, GetDesktopEnvironmentGnome) { 44 TEST(XDGUtilTest, GetDesktopEnvironmentGnome) {
36 MockEnvironment getter; 45 MockEnvironment getter;
37 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 46 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
38 EXPECT_CALL(getter, GetVar(StrEq("DESKTOP_SESSION"), _)) 47 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
39 .WillOnce(DoAll(SetArgumentPointee<1>(kGnome), Return(true))); 48 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnome), Return(true)));
40 49
41 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, 50 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
42 GetDesktopEnvironment(&getter)); 51 }
52
53 TEST(XDGUtilTest, GetDesktopEnvironmentMATE) {
54 MockEnvironment getter;
55 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
56 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
57 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopMATE), Return(true)));
58
59 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
43 } 60 }
44 61
45 TEST(XDGUtilTest, GetDesktopEnvironmentKDE4) { 62 TEST(XDGUtilTest, GetDesktopEnvironmentKDE4) {
46 MockEnvironment getter; 63 MockEnvironment getter;
47 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 64 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
48 EXPECT_CALL(getter, GetVar(StrEq("DESKTOP_SESSION"), _)) 65 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
49 .WillOnce(DoAll(SetArgumentPointee<1>(kKDE4), Return(true))); 66 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE4), Return(true)));
50 67
51 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, 68 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter));
52 GetDesktopEnvironment(&getter));
53 } 69 }
54 70
55 TEST(XDGUtilTest, GetDesktopEnvironmentKDE3) { 71 TEST(XDGUtilTest, GetDesktopEnvironmentKDE3) {
56 MockEnvironment getter; 72 MockEnvironment getter;
57 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 73 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
58 EXPECT_CALL(getter, GetVar(StrEq("DESKTOP_SESSION"), _)) 74 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
59 .WillOnce(DoAll(SetArgumentPointee<1>(kKDE), Return(true))); 75 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE), Return(true)));
60 76
61 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE3, 77 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE3, GetDesktopEnvironment(&getter));
62 GetDesktopEnvironment(&getter));
63 } 78 }
64 79
65 TEST(XDGUtilTest, GetDesktopEnvironmentXFCE) { 80 TEST(XDGUtilTest, GetDesktopEnvironmentXFCE) {
66 MockEnvironment getter; 81 MockEnvironment getter;
67 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 82 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
68 EXPECT_CALL(getter, GetVar(StrEq("DESKTOP_SESSION"), _)) 83 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
69 .WillOnce(DoAll(SetArgumentPointee<1>(kXFCE), Return(true))); 84 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopXFCE), Return(true)));
70 85
71 EXPECT_EQ(DESKTOP_ENVIRONMENT_XFCE, 86 EXPECT_EQ(DESKTOP_ENVIRONMENT_XFCE, GetDesktopEnvironment(&getter));
72 GetDesktopEnvironment(&getter)); 87 }
88
89 TEST(XDGUtilTest, GetXdgDesktopGnome) {
90 MockEnvironment getter;
91 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
92 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _))
93 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopGNOME), Return(true)));
94
95 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
96 }
97
98 TEST(XDGUtilTest, GetXdgDesktopGnomeFallback) {
99 MockEnvironment getter;
100 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
101 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _))
102 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true)));
103 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
104 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnomeFallback),
105 Return(true)));
106
107 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
108 }
109
110 TEST(XDGUtilTest, GetXdgDesktopKDE4) {
111 MockEnvironment getter;
112 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
113 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _))
114 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopKDE), Return(true)));
115
116 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter));
117 }
118
119 TEST(XDGUtilTest, GetXdgDesktopUnity) {
120 MockEnvironment getter;
121 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
122 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _))
123 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true)));
124
125 EXPECT_EQ(DESKTOP_ENVIRONMENT_UNITY, GetDesktopEnvironment(&getter));
73 } 126 }
74 127
75 } // namespace nix 128 } // namespace nix
76 } // namespace base 129 } // namespace base
OLDNEW
« no previous file with comments | « base/nix/xdg_util.cc ('k') | base/prefs/json_pref_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698