// Copyright (c) 2011 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 "base/test/scoped_locale.h" #include <locale.h> #include "testing/gtest/include/gtest/gtest.h" namespace base { ScopedLocale::ScopedLocale(const std::string& locale) { prev_locale_ = setlocale(LC_ALL, nullptr); EXPECT_TRUE(setlocale(LC_ALL, locale.c_str()) != nullptr) << "Failed to set locale: " << locale; } ScopedLocale::~ScopedLocale() { EXPECT_STREQ(prev_locale_.c_str(), setlocale(LC_ALL, prev_locale_.c_str())); } } // namespace base