diff options
Diffstat (limited to 'libcxx/test/std/experimental/filesystem/class.path/path.nonmember')
7 files changed, 0 insertions, 328 deletions
diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp deleted file mode 100644 index 3648da57af0..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <experimental/filesystem> - -// path operator/(path const&, path const&); - -#include "filesystem_include.hpp" -#include <type_traits> -#include <cassert> - -#include "test_macros.h" -#include "filesystem_test_helper.hpp" - - -// This is mainly tested via the member append functions. -int main() -{ - using namespace fs; - path p1("abc"); - path p2("def"); - path p3 = p1 / p2; - assert(p3 == "abc/def"); -} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp deleted file mode 100644 index 28867432c61..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp +++ /dev/null @@ -1,14 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// The comparison operators are tested as part of [path.compare] -// in class.path/path.members/path.compare.pass.cpp -int main() {} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp deleted file mode 100644 index b03b8008b62..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp +++ /dev/null @@ -1,14 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// The "hash_value" function is tested as part of [path.compare] -// in class.path/path.members/path.compare.pass.cpp -int main() {} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp deleted file mode 100644 index 5d9194b4e8b..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <experimental/filesystem> - -// template <class Source> -// path u8path(Source const&); -// template <class InputIter> -// path u8path(InputIter, InputIter); - -#include "filesystem_include.hpp" -#include <type_traits> -#include <cassert> - -#include "test_macros.h" -#include "test_iterators.h" -#include "count_new.hpp" -#include "filesystem_test_helper.hpp" - - -int main() -{ - using namespace fs; - const char* In1 = "abcd/efg"; - const std::string In2(In1); - const auto In3 = In2.begin(); - const auto In3End = In2.end(); - { - path p = fs::u8path(In1); - assert(p == In1); - } - { - path p = fs::u8path(In2); - assert(p == In1); - } - { - path p = fs::u8path(In3); - assert(p == In1); - } - { - path p = fs::u8path(In3, In3End); - assert(p == In1); - } -} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.pass.cpp deleted file mode 100644 index 58e333aad6b..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.pass.cpp +++ /dev/null @@ -1,98 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <experimental/filesystem> - -// class path - -// template <class charT, class traits> -// basic_ostream<charT, traits>& -// operator<<(basic_ostream<charT, traits>& os, const path& p); -// -// template <class charT, class traits> -// basic_istream<charT, traits>& -// operator>>(basic_istream<charT, traits>& is, path& p) -// - -#include "filesystem_include.hpp" -#include <type_traits> -#include <sstream> -#include <cassert> -#include <iostream> - -#include "test_macros.h" -#include "test_iterators.h" -#include "count_new.hpp" -#include "filesystem_test_helper.hpp" - -MultiStringType InStr = MKSTR("abcdefg/\"hijklmnop\"/qrstuvwxyz/123456789"); -MultiStringType OutStr = MKSTR("\"abcdefg/\\\"hijklmnop\\\"/qrstuvwxyz/123456789\""); - - - -template <class CharT> -void doIOTest() { - using namespace fs; - using Ptr = const CharT*; - using StrStream = std::basic_stringstream<CharT>; - const Ptr E = OutStr; - const path p((const char*)InStr); - StrStream ss; - { // test output - auto& ret = (ss << p); - assert(ss.str() == E); - assert(&ret == &ss); - } - { // test input - path p_in; - auto& ret = ss >> p_in; - assert(p_in.native() == (const char*)InStr); - assert(&ret == &ss); - } -} - -namespace impl { -using namespace fs; - -template <class Stream, class Tp, class = decltype(std::declval<Stream&>() << std::declval<Tp&>())> -std::true_type is_ostreamable_imp(int); - -template <class Stream, class Tp> -std::false_type is_ostreamable_imp(long); - -template <class Stream, class Tp, class = decltype(std::declval<Stream&>() >> std::declval<Tp&>())> -std::true_type is_istreamable_imp(int); - -template <class Stream, class Tp> -std::false_type is_istreamable_imp(long); - - -} // namespace impl - -template <class Stream, class Tp> -struct is_ostreamable : decltype(impl::is_ostreamable_imp<Stream, Tp>(0)) {}; -template <class Stream, class Tp> -struct is_istreamable : decltype(impl::is_istreamable_imp<Stream, Tp>(0)) {}; - -void test_LWG2989() { - static_assert(!is_ostreamable<decltype(std::cout), std::wstring>::value, ""); - static_assert(!is_ostreamable<decltype(std::wcout), std::string>::value, ""); - static_assert(!is_istreamable<decltype(std::cin), std::wstring>::value, ""); - static_assert(!is_istreamable<decltype(std::wcin), std::string>::value, ""); -} - -int main() { - doIOTest<char>(); - doIOTest<wchar_t>(); - //doIOTest<char16_t>(); - //doIOTest<char32_t>(); - test_LWG2989(); -} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.unicode_bug.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.unicode_bug.pass.cpp deleted file mode 100644 index ff622532e8c..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.unicode_bug.pass.cpp +++ /dev/null @@ -1,69 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <experimental/filesystem> - -// class path - -// template <class charT, class traits> -// basic_ostream<charT, traits>& -// operator<<(basic_ostream<charT, traits>& os, const path& p); -// -// template <class charT, class traits> -// basic_istream<charT, traits>& -// operator>>(basic_istream<charT, traits>& is, path& p) -// - -// TODO(EricWF) This test fails because "std::quoted" fails to compile -// for char16_t and char32_t types. Combine with path.io.pass.cpp when this -// passes. -// XFAIL: * - -#include "filesystem_include.hpp" -#include <type_traits> -#include <sstream> -#include <cassert> - -#include "test_macros.h" -#include "test_iterators.h" -#include "count_new.hpp" -#include "filesystem_test_helper.hpp" - -MultiStringType InStr = MKSTR("abcdefg/\"hijklmnop\"/qrstuvwxyz/123456789"); -MultiStringType OutStr = MKSTR("\"abcdefg/\\\"hijklmnop\\\"/qrstuvwxyz/123456789\""); - -template <class CharT> -void doIOTest() { - using namespace fs; - using Ptr = const CharT*; - using StrStream = std::basic_stringstream<CharT>; - const char* const InCStr = InStr; - const Ptr E = OutStr; - const path p((const char*)InStr); - StrStream ss; - { // test output - auto& ret = (ss << p); - assert(ss.str() == E); - assert(&ret == &ss); - } - { // test input - path p_in; - auto& ret = ss >> p_in; - assert(p_in.native() == (const char*)InStr); - assert(&ret == &ss); - } -} - - -int main() { - doIOTest<char16_t>(); - doIOTest<char32_t>(); -} diff --git a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp b/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp deleted file mode 100644 index 4f7b93a05a9..00000000000 --- a/libcxx/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp +++ /dev/null @@ -1,49 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <experimental/filesystem> - -// void swap(path& lhs, path& rhs) noexcept; - -#include "filesystem_include.hpp" -#include <type_traits> -#include <cassert> - -#include "test_macros.h" -#include "count_new.hpp" -#include "filesystem_test_helper.hpp" - - -// NOTE: this is tested in path.members/path.modifiers via the member swap. -int main() -{ - using namespace fs; - const char* value1 = "foo/bar/baz"; - const char* value2 = "_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG"; - path p1(value1); - path p2(value2); - { - using namespace std; using namespace fs; - ASSERT_NOEXCEPT(swap(p1, p2)); - ASSERT_SAME_TYPE(void, decltype(swap(p1, p2))); - } - { - DisableAllocationGuard g; - using namespace std; - using namespace fs; - swap(p1, p2); - assert(p1.native() == value2); - assert(p2.native() == value1); - swap(p1, p2); - assert(p1.native() == value1); - assert(p2.native() == value2); - } -} |