1 // Copyright (c) 2011 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/test/scoped_locale.h" 6 7 #include <locale.h> 8 9 #include "testing/gtest/include/gtest/gtest.h" 10 11 namespace base { 12 13 ScopedLocale::ScopedLocale(const std::string& locale) { 14 prev_locale_ = setlocale(LC_ALL, NULL); 15 EXPECT_TRUE(setlocale(LC_ALL, locale.c_str()) != NULL) << 16 "Failed to set locale: " << locale; 17 } 18 19 ScopedLocale::~ScopedLocale() { 20 EXPECT_STREQ(prev_locale_.c_str(), setlocale(LC_ALL, prev_locale_.c_str())); 21 } 22 23 } // namespace base 24