blob: eef133f180a5e58de6dfffe3828f0013d7f7b1c0 [file] [log] [blame]
// 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 "scoped_locale.h"
#include <locale.h>
#include <gtest/gtest.h>
namespace butil {
ScopedLocale::ScopedLocale(const std::string& locale) {
prev_locale_ = setlocale(LC_ALL, NULL);
EXPECT_TRUE(setlocale(LC_ALL, locale.c_str()) != NULL) <<
"Failed to set locale: " << locale;
}
ScopedLocale::~ScopedLocale() {
EXPECT_STREQ(prev_locale_.c_str(), setlocale(LC_ALL, prev_locale_.c_str()));
}
} // namespace butil