summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/input.output/filesystems/class.path/path.nonmember
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/input.output/filesystems/class.path/path.nonmember')
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp28
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp35
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp34
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp15
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp15
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp53
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp99
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp70
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp50
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;
-}
OpenPOWER on IntegriCloud