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

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

Issue 1647803004: Move base to DEPS (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 10 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/numerics/OWNERS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "base/nix/xdg_util.h"
6
7 #include "base/environment.h"
8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 using ::testing::_;
12 using ::testing::Return;
13 using ::testing::SetArgumentPointee;
14 using ::testing::StrEq;
15
16 namespace base {
17 namespace nix {
18
19 namespace {
20
21 class MockEnvironment : public Environment {
22 public:
23 MOCK_METHOD2(GetVar, bool(const char*, std::string* result));
24 MOCK_METHOD2(SetVar, bool(const char*, const std::string& new_value));
25 MOCK_METHOD1(UnSetVar, bool(const char*));
26 };
27
28 // Needs to be const char* to make gmock happy.
29 const char* const kDesktopGnome = "gnome";
30 const char* const kDesktopGnomeFallback = "gnome-fallback";
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";
41
42 } // namespace
43
44 TEST(XDGUtilTest, GetDesktopEnvironmentGnome) {
45 MockEnvironment getter;
46 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
47 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
48 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopGnome), Return(true)));
49
50 EXPECT_EQ(DESKTOP_ENVIRONMENT_GNOME, 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));
60 }
61
62 TEST(XDGUtilTest, GetDesktopEnvironmentKDE4) {
63 MockEnvironment getter;
64 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
65 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
66 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE4), Return(true)));
67
68 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE4, GetDesktopEnvironment(&getter));
69 }
70
71 TEST(XDGUtilTest, GetDesktopEnvironmentKDE3) {
72 MockEnvironment getter;
73 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
74 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
75 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopKDE), Return(true)));
76
77 EXPECT_EQ(DESKTOP_ENVIRONMENT_KDE3, GetDesktopEnvironment(&getter));
78 }
79
80 TEST(XDGUtilTest, GetDesktopEnvironmentXFCE) {
81 MockEnvironment getter;
82 EXPECT_CALL(getter, GetVar(_, _)).WillRepeatedly(Return(false));
83 EXPECT_CALL(getter, GetVar(StrEq(kDesktopSession), _))
84 .WillOnce(DoAll(SetArgumentPointee<1>(kDesktopXFCE), Return(true)));
85
86 EXPECT_EQ(DESKTOP_ENVIRONMENT_XFCE, 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));
126 }
127
128 } // namespace nix
129 } // namespace base
OLDNEW
« no previous file with comments | « base/nix/xdg_util.cc ('k') | base/numerics/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698