diff options
Diffstat (limited to 'test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp')
| -rw-r--r-- | test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp b/test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp new file mode 100644 index 000000000000..4b107b01e2c6 --- /dev/null +++ b/test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp @@ -0,0 +1,51 @@ +//===----------------------------------------------------------------------===// +// +// 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. +// +//===----------------------------------------------------------------------===// + +// <string> + +// template<class charT, class traits, class Allocator> +// bool operator==(const charT* lhs, const basic_string<charT,traits> rhs); +// template<class charT, class traits, class Allocator> +// bool operator==(const basic_string_view<charT,traits> lhs, const CharT* rhs); + +#include <string_view> +#include <string> +#include <cassert> + +template <class S> +void +test(const std::string &lhs, S rhs, bool x) +{ + assert((lhs == rhs) == x); + assert((rhs == lhs) == x); +} + +int main() +{ + { + typedef std::string_view S; + test("", S(""), true); + test("", S("abcde"), false); + test("", S("abcdefghij"), false); + test("", S("abcdefghijklmnopqrst"), false); + test("abcde", S(""), false); + test("abcde", S("abcde"), true); + test("abcde", S("abcdefghij"), false); + test("abcde", S("abcdefghijklmnopqrst"), false); + test("abcdefghij", S(""), false); + test("abcdefghij", S("abcde"), false); + test("abcdefghij", S("abcdefghij"), true); + test("abcdefghij", S("abcdefghijklmnopqrst"), false); + test("abcdefghijklmnopqrst", S(""), false); + test("abcdefghijklmnopqrst", S("abcde"), false); + test("abcdefghijklmnopqrst", S("abcdefghij"), false); + test("abcdefghijklmnopqrst", S("abcdefghijklmnopqrst"), true); + } +} + |
