Skip to content

Commit 42b0d9d

Browse files
committed
Tests: WIP
1 parent 9869e41 commit 42b0d9d

File tree

5 files changed

+31
-38
lines changed

5 files changed

+31
-38
lines changed

libcxx/test/std/input.output/span.streams/ispanstream/ispanstream.cons/span.mode.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,4 @@ int main(int, char**) {
137137
#endif
138138

139139
return 0;
140-
}
140+
}

libcxx/test/std/input.output/span.streams/ospanstream/ospanstream.cons/span.mode.pass.cpp

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,16 @@
3333
#include "../../helper_macros.h"
3434
#include "../../helper_types.h"
3535

36-
#ifndef TEST_HAS_NO_NASTY_STRING
37-
void test_sfinae_with_nasty_char() {
38-
using SpStream = std::basic_ospanstream<nasty_char, nasty_char_traits>;
39-
40-
// Mode
41-
static_assert(std::constructible_from<SpStream, const std::span<nasty_char>, std::ios_base::openmode>);
42-
static_assert(!test_convertible<SpStream, std::ios_base::openmode>());
43-
44-
// Non-mode
45-
static_assert(!std::constructible_from<SpStream, const std::span<nasty_char>, const NonMode>);
46-
static_assert(!test_convertible<SpStream, const std::span<nasty_char>, const NonMode>());
47-
}
48-
#endif // TEST_HAS_NO_NASTY_STRING
49-
5036
template <typename CharT, typename TraitsT = std::char_traits<CharT>>
5137
void test_sfinae() {
52-
using SpStream = std::basic_ospanstream<CharT, TraitsT>;
38+
using SpStream =
39+
#ifndef TEST_HAS_NO_NASTY_STRING
40+
std::conditional_t<std::same_as<CharT, nasty_char>,
41+
std::basic_ispanstream<nasty_char, nasty_char_traits>,
42+
std::basic_ispanstream<CharT, TraitsT>>;
43+
#else
44+
std::basic_ispanstream<CharT, TraitsT>;
45+
#endif
5346

5447
// Mode
5548
static_assert(std::constructible_from<SpStream, const std::span<CharT>, std::ios_base::openmode>);
@@ -123,7 +116,7 @@ void test() {
123116

124117
int main(int, char**) {
125118
#ifndef TEST_HAS_NO_NASTY_STRING
126-
test_sfinae_with_nasty_char();
119+
test_sfinae<nasty_char, nasty_char_traits>();
127120
#endif
128121
test_sfinae<char>();
129122
test_sfinae<char, constexpr_char_traits<char>>();
@@ -137,4 +130,4 @@ int main(int, char**) {
137130
#endif
138131

139132
return 0;
140-
}
133+
}

libcxx/test/std/input.output/span.streams/spanbuf/spanbuf.cons/mode.pass.cpp

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,16 @@
3030

3131
#include "../../helper_types.h"
3232

33-
#ifndef TEST_HAS_NO_NASTY_STRING
34-
void test_sfinae_with_nasty_char() {
35-
using SpBuf = std::basic_spanbuf<nasty_char, nasty_char_traits>;
36-
37-
// Mode
38-
static_assert(std::constructible_from<SpBuf, std::ios_base::openmode>);
39-
static_assert(!test_convertible<SpBuf, std::ios_base::openmode>());
40-
41-
// Non-mode
42-
static_assert(!std::constructible_from<SpBuf, const NonMode>);
43-
static_assert(!test_convertible<SpBuf, const NonMode>());
44-
}
45-
#endif // TEST_HAS_NO_NASTY_STRING
46-
4733
template <typename CharT, typename TraitsT = std::char_traits<CharT>>
4834
void test_sfinae() {
49-
using SpBuf = std::basic_spanbuf<CharT, TraitsT>;
35+
using SpStream =
36+
#ifndef TEST_HAS_NO_NASTY_STRING
37+
std::conditional_t<std::same_as<CharT, nasty_char>,
38+
std::basic_ispanstream<nasty_char, nasty_char_traits>,
39+
std::basic_ispanstream<CharT, TraitsT>>;
40+
#else
41+
std::basic_ispanstream<CharT, TraitsT>;
42+
#endif
5043

5144
// Mode
5245
static_assert(std::constructible_from<SpBuf, std::ios_base::openmode>);
@@ -88,7 +81,7 @@ void test() {
8881

8982
int main(int, char**) {
9083
#ifndef TEST_HAS_NO_NASTY_STRING
91-
test_sfinae_with_nasty_char();
84+
test_sfinae<nasty_char, nasty_char_traits>();
9285
#endif
9386
test_sfinae<char>();
9487
test_sfinae<char, constexpr_char_traits<char>>();

libcxx/test/std/input.output/span.streams/spanbuf/spanbuf.cons/span.mode.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,4 @@ int main(int, char**) {
188188
#endif
189189

190190
return 0;
191-
}
191+
}

libcxx/test/std/input.output/span.streams/spanstream/spanstream.cons/span.mode.pass.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,14 @@ void test_sfinae_with_nasty_char() {
4949

5050
template <typename CharT, typename TraitsT = std::char_traits<CharT>>
5151
void test_sfinae() {
52-
using SpStream = std::basic_spanstream<CharT, TraitsT>;
52+
using SpStream =
53+
#ifndef TEST_HAS_NO_NASTY_STRING
54+
std::conditional_t<std::same_as<CharT, nasty_char>,
55+
std::basic_ispanstream<nasty_char, nasty_char_traits>,
56+
std::basic_ispanstream<CharT, TraitsT>>;
57+
#else
58+
std::basic_ispanstream<CharT, TraitsT>;
59+
#endif
5360

5461
// Mode
5562
static_assert(std::constructible_from<SpStream, const std::span<CharT>, std::ios_base::openmode>);
@@ -123,7 +130,7 @@ void test() {
123130

124131
int main(int, char**) {
125132
#ifndef TEST_HAS_NO_NASTY_STRING
126-
test_sfinae_with_nasty_char();
133+
test_sfinae<nasty_char>();
127134
#endif
128135
test_sfinae<char>();
129136
test_sfinae<char, constexpr_char_traits<char>>();
@@ -137,4 +144,4 @@ int main(int, char**) {
137144
#endif
138145

139146
return 0;
140-
}
147+
}

0 commit comments

Comments
 (0)