diff options
Diffstat (limited to 'libcxx/test/strings/basic.string/string.nonmembers/string_opgt')
3 files changed, 136 insertions, 0 deletions
diff --git a/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp new file mode 100644 index 00000000000..06db6ac2154 --- /dev/null +++ b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp @@ -0,0 +1,45 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <string> + +// template<class charT, class traits, class Allocator> +// bool operator>(const charT* lhs, const basic_string<charT,traits,Allocator>& rhs); + +#include <string> +#include <cassert> + +template <class S> +void +test(const typename S::value_type* lhs, const S& rhs, bool x) +{ + assert((lhs > rhs) == x); +} + +typedef std::string S; + +int main() +{ + test("", S(""), false); + test("", S("abcde"), false); + test("", S("abcdefghij"), false); + test("", S("abcdefghijklmnopqrst"), false); + test("abcde", S(""), true); + test("abcde", S("abcde"), false); + test("abcde", S("abcdefghij"), false); + test("abcde", S("abcdefghijklmnopqrst"), false); + test("abcdefghij", S(""), true); + test("abcdefghij", S("abcde"), true); + test("abcdefghij", S("abcdefghij"), false); + test("abcdefghij", S("abcdefghijklmnopqrst"), false); + test("abcdefghijklmnopqrst", S(""), true); + test("abcdefghijklmnopqrst", S("abcde"), true); + test("abcdefghijklmnopqrst", S("abcdefghij"), true); + test("abcdefghijklmnopqrst", S("abcdefghijklmnopqrst"), false); +} diff --git a/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp new file mode 100644 index 00000000000..61e00961a72 --- /dev/null +++ b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp @@ -0,0 +1,45 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <string> + +// template<class charT, class traits, class Allocator> +// bool operator>(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs); + +#include <string> +#include <cassert> + +template <class S> +void +test(const S& lhs, const typename S::value_type* rhs, bool x) +{ + assert((lhs > rhs) == x); +} + +typedef std::string S; + +int main() +{ + test(S(""), "", false); + test(S(""), "abcde", false); + test(S(""), "abcdefghij", false); + test(S(""), "abcdefghijklmnopqrst", false); + test(S("abcde"), "", true); + test(S("abcde"), "abcde", false); + test(S("abcde"), "abcdefghij", false); + test(S("abcde"), "abcdefghijklmnopqrst", false); + test(S("abcdefghij"), "", true); + test(S("abcdefghij"), "abcde", true); + test(S("abcdefghij"), "abcdefghij", false); + test(S("abcdefghij"), "abcdefghijklmnopqrst", false); + test(S("abcdefghijklmnopqrst"), "", true); + test(S("abcdefghijklmnopqrst"), "abcde", true); + test(S("abcdefghijklmnopqrst"), "abcdefghij", true); + test(S("abcdefghijklmnopqrst"), "abcdefghijklmnopqrst", false); +} diff --git a/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp new file mode 100644 index 00000000000..0ac07fa948b --- /dev/null +++ b/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp @@ -0,0 +1,46 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <string> + +// template<class charT, class traits, class Allocator> +// bool operator>(const basic_string<charT,traits,Allocator>& lhs, +// const basic_string<charT,traits,Allocator>& rhs); + +#include <string> +#include <cassert> + +template <class S> +void +test(const S& lhs, const S& rhs, bool x) +{ + assert((lhs > rhs) == x); +} + +typedef std::string S; + +int main() +{ + test(S(""), S(""), false); + test(S(""), S("abcde"), false); + test(S(""), S("abcdefghij"), false); + test(S(""), S("abcdefghijklmnopqrst"), false); + test(S("abcde"), S(""), true); + test(S("abcde"), S("abcde"), false); + test(S("abcde"), S("abcdefghij"), false); + test(S("abcde"), S("abcdefghijklmnopqrst"), false); + test(S("abcdefghij"), S(""), true); + test(S("abcdefghij"), S("abcde"), true); + test(S("abcdefghij"), S("abcdefghij"), false); + test(S("abcdefghij"), S("abcdefghijklmnopqrst"), false); + test(S("abcdefghijklmnopqrst"), S(""), true); + test(S("abcdefghijklmnopqrst"), S("abcde"), true); + test(S("abcdefghijklmnopqrst"), S("abcdefghij"), true); + test(S("abcdefghijklmnopqrst"), S("abcdefghijklmnopqrst"), false); +} |