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

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

Issue 2094913002: Make base::Environment::Create() return unique_ptrs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit, rebase Created 4 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 unified diff | Download patch
« no previous file with comments | « base/files/file_util_unittest.cc ('k') | chrome/browser/shell_integration_linux_unittest.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::Eq;
12 using ::testing::Return; 13 using ::testing::Return;
13 using ::testing::SetArgumentPointee; 14 using ::testing::SetArgumentPointee;
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(StringPiece, std::string* result));
24 MOCK_METHOD2(SetVar, bool(const char*, const std::string& new_value)); 24 MOCK_METHOD2(SetVar, bool(StringPiece, const std::string& new_value));
25 MOCK_METHOD1(UnSetVar, bool(const char*)); 25 MOCK_METHOD1(UnSetVar, bool(StringPiece));
26 }; 26 };
27 27
28 // Needs to be const char* to make gmock happy. 28 // Needs to be const char* to make gmock happy.
29 const char* const kDesktopGnome = "gnome"; 29 const char* const kDesktopGnome = "gnome";
30 const char* const kDesktopGnomeFallback = "gnome-fallback"; 30 const char* const kDesktopGnomeFallback = "gnome-fallback";
31 const char* const kDesktopMATE = "mate"; 31 const char* const kDesktopMATE = "mate";
32 const char* const kDesktopKDE4 = "kde4"; 32 const char* const kDesktopKDE4 = "kde4";
33 const char* const kDesktopKDE = "kde"; 33 const char* const kDesktopKDE = "kde";
34 const char* const kDesktopXFCE = "xfce"; 34 const char* const kDesktopXFCE = "xfce";
35 const char* const kXdgDesktopGNOME = "GNOME"; 35 const char* const kXdgDesktopGNOME = "GNOME";
36 const char* const kXdgDesktopKDE = "KDE"; 36 const char* const kXdgDesktopKDE = "KDE";
37 const char* const kXdgDesktopUnity = "Unity"; 37 const char* const kXdgDesktopUnity = "Unity";
38 const char* const kKDESessionKDE5 = "5"; 38 const char* const kKDESessionKDE5 = "5";
39 39
40 const char kDesktopSession[] = "DESKTOP_SESSION"; 40 const char kDesktopSession[] = "DESKTOP_SESSION";
41 const char kKDESession[] = "KDE_SESSION_VERSION"; 41 const char kKDESession[] = "KDE_SESSION_VERSION";
42 const char kXdgDesktop[] = "XDG_CURRENT_DESKTOP"; 42 const char kXdgDesktop[] = "XDG_CURRENT_DESKTOP";
43 43
44 } // namespace 44 } // namespace
45 45
46 TEST(XDGUtilTest, GetDesktopEnvironmentGnome) { 46 TEST(XDGUtilTest, GetDesktopEnvironmentGnome) {
47 MockEnvironment getter; 47 MockEnvironment getter;
48 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 48 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
49 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 49 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
50 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnome), Return(true))); 50 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnome), Return(true)));
51 51
52 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter)); 52 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
53 } 53 }
54 54
55 TEST(XDGUtilTest, GetDesktopEnvironmentMATE) { 55 TEST(XDGUtilTest, GetDesktopEnvironmentMATE) {
56 MockEnvironment getter; 56 MockEnvironment getter;
57 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 57 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
58 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 58 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
59 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopMATE), Return(true))); 59 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopMATE), Return(true)));
60 60
61 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter)); 61 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
62 } 62 }
63 63
64 TEST(XDGUtilTest, GetDesktopEnvironmentKDE4) { 64 TEST(XDGUtilTest, GetDesktopEnvironmentKDE4) {
65 MockEnvironment getter; 65 MockEnvironment getter;
66 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 66 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
67 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 67 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
68 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE4), Return(true))); 68 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE4), Return(true)));
69 69
70 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter)); 70 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter));
71 } 71 }
72 72
73 TEST(XDGUtilTest, GetDesktopEnvironmentKDE3) { 73 TEST(XDGUtilTest, GetDesktopEnvironmentKDE3) {
74 MockEnvironment getter; 74 MockEnvironment getter;
75 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 75 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
76 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 76 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
77 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE), Return(true))); 77 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE), Return(true)));
78 78
79 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE3, GetDesktopEnvironment(&getter)); 79 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE3, GetDesktopEnvironment(&getter));
80 } 80 }
81 81
82 TEST(XDGUtilTest, GetDesktopEnvironmentXFCE) { 82 TEST(XDGUtilTest, GetDesktopEnvironmentXFCE) {
83 MockEnvironment getter; 83 MockEnvironment getter;
84 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 84 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
85 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 85 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
86 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopXFCE), Return(true))); 86 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopXFCE), Return(true)));
87 87
88 EXPECT_EQ(DESKTOP_ENVIRONMENT_XFCE, GetDesktopEnvironment(&getter)); 88 EXPECT_EQ(DESKTOP_ENVIRONMENT_XFCE, GetDesktopEnvironment(&getter));
89 } 89 }
90 90
91 TEST(XDGUtilTest, GetXdgDesktopGnome) { 91 TEST(XDGUtilTest, GetXdgDesktopGnome) {
92 MockEnvironment getter; 92 MockEnvironment getter;
93 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 93 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
94 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _)) 94 EXPECT_CALL(getter, GetVar(Eq(kXdgDesktop), _))
95 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopGNOME), Return(true))); 95 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopGNOME), Return(true)));
96 96
97 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter)); 97 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
98 } 98 }
99 99
100 TEST(XDGUtilTest, GetXdgDesktopGnomeFallback) { 100 TEST(XDGUtilTest, GetXdgDesktopGnomeFallback) {
101 MockEnvironment getter; 101 MockEnvironment getter;
102 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 102 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
103 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _)) 103 EXPECT_CALL(getter, GetVar(Eq(kXdgDesktop), _))
104 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true))); 104 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true)));
105 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _)) 105 EXPECT_CALL(getter, GetVar(Eq(kDesktopSession), _))
106 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnomeFallback), 106 .WillOnce(
107 Return(true))); 107 DoAll(SetArgumentPointee<1>(kDesktopGnomeFallback), Return(true)));
108 108
109 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter)); 109 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, GetDesktopEnvironment(&getter));
110 } 110 }
111 111
112 TEST(XDGUtilTest, GetXdgDesktopKDE5) { 112 TEST(XDGUtilTest, GetXdgDesktopKDE5) {
113 MockEnvironment getter; 113 MockEnvironment getter;
114 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 114 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
115 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _)) 115 EXPECT_CALL(getter, GetVar(Eq(kXdgDesktop), _))
116 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopKDE), Return(true))); 116 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopKDE), Return(true)));
117 EXPECT_CALL(getter, GetVar(StrEq(kKDESession), _)) 117 EXPECT_CALL(getter, GetVar(Eq(kKDESession), _))
118 .WillOnce(DoAll(SetArgumentPointee<1>(kKDESessionKDE5), Return(true))); 118 .WillOnce(DoAll(SetArgumentPointee<1>(kKDESessionKDE5), Return(true)));
119 119
120 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE5, GetDesktopEnvironment(&getter)); 120 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE5, GetDesktopEnvironment(&getter));
121 } 121 }
122 122
123 TEST(XDGUtilTest, GetXdgDesktopKDE4) { 123 TEST(XDGUtilTest, GetXdgDesktopKDE4) {
124 MockEnvironment getter; 124 MockEnvironment getter;
125 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 125 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
126 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _)) 126 EXPECT_CALL(getter, GetVar(Eq(kXdgDesktop), _))
127 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopKDE), Return(true))); 127 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopKDE), Return(true)));
128 128
129 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter)); 129 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter));
130 } 130 }
131 131
132 TEST(XDGUtilTest, GetXdgDesktopUnity) { 132 TEST(XDGUtilTest, GetXdgDesktopUnity) {
133 MockEnvironment getter; 133 MockEnvironment getter;
134 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false)); 134 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
135 EXPECT_CALL(getter, GetVar(StrEq(kXdgDesktop), _)) 135 EXPECT_CALL(getter, GetVar(Eq(kXdgDesktop), _))
136 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true))); 136 .WillOnce(DoAll(SetArgumentPointee<1>(kXdgDesktopUnity), Return(true)));
137 137
138 EXPECT_EQ(DESKTOP_ENVIRONMENT_UNITY, GetDesktopEnvironment(&getter)); 138 EXPECT_EQ(DESKTOP_ENVIRONMENT_UNITY, GetDesktopEnvironment(&getter));
139 } 139 }
140 140
141 } // namespace nix 141 } // namespace nix
142 } // namespace base 142 } // namespace base
OLDNEW
« no previous file with comments | « base/files/file_util_unittest.cc ('k') | chrome/browser/shell_integration_linux_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698