Differential D134914 Diff 464233 libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// | // | ||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||||
// See https://llvm.org/LICENSE.txt for license information. | // See https://llvm.org/LICENSE.txt for license information. | ||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// <locale> | // <locale> | ||||
// template <> class codecvt_byname<char, char, mbstate_t> | // template <> class codecvt_byname<char, char, mbstate_t> | ||||
// explicit codecvt_byname(const char* nm, size_t refs = 0); | // explicit codecvt_byname(const char* nm, size_t refs = 0); | ||||
// explicit codecvt_byname(const string& nm, size_t refs = 0); | // explicit codecvt_byname(const string& nm, size_t refs = 0); | ||||
// REQUIRES: locale.en_US.UTF-8 | |||||
Mordante: Looking at the test it doesn't really matter which locale is used. So I would suggest to use an… | |||||
#include <locale> | #include <locale> | ||||
#include <cassert> | #include <cassert> | ||||
#include "test_macros.h" | #include "test_macros.h" | ||||
#include "platform_support.h" | #include "platform_support.h" | ||||
typedef std::codecvt_byname<char, char, std::mbstate_t> F; | typedef std::codecvt_byname<char, char, std::mbstate_t> F; | ||||
Show All 11 Lines | public: | ||||
~my_facet() {--count;} | ~my_facet() {--count;} | ||||
}; | }; | ||||
int my_facet::count = 0; | int my_facet::count = 0; | ||||
int main(int, char**) | int main(int, char**) | ||||
{ | { | ||||
{ | { | ||||
std::locale l(std::locale::classic(), new my_facet(LOCALE_en_US)); | std::locale l(std::locale::classic(), new my_facet(LOCALE_en_US_UTF_8)); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 0); | assert(my_facet::count == 0); | ||||
{ | { | ||||
my_facet f(LOCALE_en_US, 1); | my_facet f(LOCALE_en_US_UTF_8, 1); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
{ | { | ||||
std::locale l(std::locale::classic(), &f); | std::locale l(std::locale::classic(), &f); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 0); | assert(my_facet::count == 0); | ||||
{ | { | ||||
std::locale l(std::locale::classic(), new my_facet(std::string(LOCALE_en_US))); | std::locale l(std::locale::classic(), new my_facet(std::string(LOCALE_en_US_UTF_8))); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 0); | assert(my_facet::count == 0); | ||||
{ | { | ||||
my_facet f(std::string(LOCALE_en_US), 1); | my_facet f(std::string(LOCALE_en_US_UTF_8), 1); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
{ | { | ||||
std::locale l(std::locale::classic(), &f); | std::locale l(std::locale::classic(), &f); | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 1); | assert(my_facet::count == 1); | ||||
} | } | ||||
assert(my_facet::count == 0); | assert(my_facet::count == 0); | ||||
return 0; | return 0; | ||||
} | } |
Looking at the test it doesn't really matter which locale is used. So I would suggest to use an existing locale in this patch instead, and update the commit title and message.