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.
7 #include "base/basictypes.h"
8 #include "base/strings/string_util.h"
9 #include "base/win/win_util.h"
10 #include "base/win/windows_version.h"
11 #include "testing/gtest/include/gtest/gtest.h"
18 // Saves the current thread's locale ID when initialized, and restores it when
19 // the instance is going out of scope.
20 class ThreadLocaleSaver
{
22 ThreadLocaleSaver() : original_locale_id_(GetThreadLocale()) {}
23 ~ThreadLocaleSaver() { SetThreadLocale(original_locale_id_
); }
26 LCID original_locale_id_
;
28 DISALLOW_COPY_AND_ASSIGN(ThreadLocaleSaver
);
33 // The test is somewhat silly, because the Vista bots some have UAC enabled
34 // and some have it disabled. At least we check that it does not crash.
35 TEST(BaseWinUtilTest
, TestIsUACEnabled
) {
36 if (GetVersion() >= base::win::VERSION_VISTA
) {
37 UserAccountControlIsEnabled();
39 EXPECT_TRUE(UserAccountControlIsEnabled());
43 TEST(BaseWinUtilTest
, TestGetUserSidString
) {
44 std::wstring user_sid
;
45 EXPECT_TRUE(GetUserSidString(&user_sid
));
46 EXPECT_TRUE(!user_sid
.empty());
49 TEST(BaseWinUtilTest
, TestGetNonClientMetrics
) {
50 NONCLIENTMETRICS_XP metrics
= {0};
51 GetNonClientMetrics(&metrics
);
52 EXPECT_GT(metrics
.cbSize
, 0u);
53 EXPECT_GT(metrics
.iScrollWidth
, 0);
54 EXPECT_GT(metrics
.iScrollHeight
, 0);