diff options
Diffstat (limited to 'libcxx/test/std/input.output/filesystems/class.path/path.nonmember')
9 files changed, 0 insertions, 399 deletions
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp deleted file mode 100644 index bcc4758f45f..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <filesystem> - -#include "filesystem_include.hpp" - -using namespace fs; - -struct ConvToPath { - operator fs::path() const { - return ""; - } -}; - -int main(int, char**) { - ConvToPath LHS, RHS; - (void)(LHS / RHS); // expected-error {{invalid operands to binary expression}} - - return 0; -}
\ No newline at end of file diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp deleted file mode 100644 index 67af37686df..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp +++ /dev/null @@ -1,35 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <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(int, char**) -{ - using namespace fs; - path p1("abc"); - path p2("def"); - path p3 = p1 / p2; - assert(p3 == "abc/def"); - - path p4 = p1 / "def"; - assert(p4 == "abc/def"); - - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp deleted file mode 100644 index 8f1732186d8..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <filesystem> - - -#include "filesystem_include.hpp" - -using namespace fs; - -struct ConvToPath { - operator fs::path() const { - return ""; - } -}; - -int main(int, char**) { - ConvToPath LHS, RHS; - (void)(LHS == RHS); // expected-error {{invalid operands to binary expression}} - (void)(LHS != RHS); // expected-error {{invalid operands to binary expression}} - (void)(LHS < RHS); // expected-error {{invalid operands to binary expression}} - (void)(LHS <= RHS); // expected-error {{invalid operands to binary expression}} - (void)(LHS > RHS); // expected-error {{invalid operands to binary expression}} - (void)(LHS >= RHS); // expected-error {{invalid operands to binary expression}} - - return 0; -}
\ No newline at end of file diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp deleted file mode 100644 index c61a5a0254c..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp +++ /dev/null @@ -1,15 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// 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(int, char**) { - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp deleted file mode 100644 index 49d28daf98f..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp +++ /dev/null @@ -1,15 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// 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(int, char**) { - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp deleted file mode 100644 index 557849ca8e6..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <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(int, char**) -{ - 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); - } - - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp deleted file mode 100644 index 31eea925a5d..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp +++ /dev/null @@ -1,99 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <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(int, char**) { - doIOTest<char>(); - doIOTest<wchar_t>(); - //doIOTest<char16_t>(); - //doIOTest<char32_t>(); - test_LWG2989(); - - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp deleted file mode 100644 index c5bb6bf120f..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <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(int, char**) { - doIOTest<char16_t>(); - doIOTest<char32_t>(); - - return 0; -} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp deleted file mode 100644 index 51bb03e9f7c..00000000000 --- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// <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(int, char**) -{ - 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); - } - - return 0; -} |