mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 13:01:21 +08:00
libstdc++: P1423R3 char8_t remediation (3/4)
Updates to existing tests This patch updates existing tests to validate the new value for the __cpp_lib_char8_t feature test macros and to exercise u8path factory function invocations with std::string, std::string_view, and interator pair arguments. 2019-11-29 Tom Honermann <tom@honermann.net> Updates to existing tests * testsuite/experimental/feat-char8_t.cc: Updated the expected __cpp_lib_char8_t feature test macro value. * testsuite/27_io/filesystem/path/factory/u8path.cc: Added testing of u8path invocation with std::string, std::string_view, and iterators thereof. * testsuite/experimental/filesystem/path/factory/u8path.cc: Added testing of u8path invocation with std::string, std::string_view, and iterators thereof. From-SVN: r278857
This commit is contained in:
parent
2b4e2c93d9
commit
2b68cdc7e5
@ -1,5 +1,15 @@
|
||||
2019-11-29 Tom Honermann <tom@honermann.net>
|
||||
|
||||
Updates to existing tests
|
||||
* testsuite/experimental/feat-char8_t.cc: Updated the expected
|
||||
__cpp_lib_char8_t feature test macro value.
|
||||
* testsuite/27_io/filesystem/path/factory/u8path.cc: Added testing of
|
||||
u8path invocation with std::string, std::string_view, and iterators
|
||||
thereof.
|
||||
* testsuite/experimental/filesystem/path/factory/u8path.cc: Added
|
||||
testing of u8path invocation with std::string, std::string_view, and
|
||||
iterators thereof.
|
||||
|
||||
Update feature test macro, add deleted operators, update u8path
|
||||
* include/bits/c++config: Bumped the value of the __cpp_lib_char8_t
|
||||
feature test macro.
|
||||
|
@ -19,6 +19,7 @@
|
||||
// { dg-do run { target c++17 } }
|
||||
|
||||
#include <filesystem>
|
||||
#include <string_view>
|
||||
#include <testsuite_hooks.h>
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
@ -34,6 +35,22 @@ test01()
|
||||
|
||||
p = fs::u8path("\xf0\x9d\x84\x9e");
|
||||
VERIFY( p.u8string() == u8"\U0001D11E" );
|
||||
|
||||
std::string s1 = "filename2";
|
||||
p = fs::u8path(s1);
|
||||
VERIFY( p.u8string() == u8"filename2" );
|
||||
|
||||
std::string s2 = "filename3";
|
||||
p = fs::u8path(s2.begin(), s2.end());
|
||||
VERIFY( p.u8string() == u8"filename3" );
|
||||
|
||||
std::string_view sv1{ s1 };
|
||||
p = fs::u8path(sv1);
|
||||
VERIFY( p.u8string() == u8"filename2" );
|
||||
|
||||
std::string_view sv2{ s2 };
|
||||
p = fs::u8path(sv2.begin(), sv2.end());
|
||||
VERIFY( p.u8string() == u8"filename3" );
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -12,6 +12,6 @@
|
||||
|
||||
#ifndef __cpp_lib_char8_t
|
||||
# error "__cpp_lib_char8_t"
|
||||
#elif __cpp_lib_char8_t != 201811L
|
||||
# error "__cpp_lib_char8_t != 201811L"
|
||||
#elif __cpp_lib_char8_t != 201907L
|
||||
# error "__cpp_lib_char8_t != 201907L"
|
||||
#endif
|
||||
|
@ -35,6 +35,14 @@ test01()
|
||||
|
||||
p = fs::u8path("\xf0\x9d\x84\x9e");
|
||||
VERIFY( p.u8string() == u8"\U0001D11E" );
|
||||
|
||||
std::string s1 = "filename2";
|
||||
p = fs::u8path(s1);
|
||||
VERIFY( p.u8string() == u8"filename2" );
|
||||
|
||||
std::string s2 = "filename3";
|
||||
p = fs::u8path(s2.begin(), s2.end());
|
||||
VERIFY( p.u8string() == u8"filename3" );
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
x
Reference in New Issue
Block a user