diff options
Diffstat (limited to 'libcxx/test/strings/basic.string/string.nonmembers/string_opgt=/string_pointer.pass.cpp')
-rw-r--r-- | libcxx/test/strings/basic.string/string.nonmembers/string_opgt=/string_pointer.pass.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
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..6095b13cf64 --- /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(""), "", true); + test(S(""), "abcde", false); + test(S(""), "abcdefghij", false); + test(S(""), "abcdefghijklmnopqrst", false); + test(S("abcde"), "", true); + test(S("abcde"), "abcde", true); + test(S("abcde"), "abcdefghij", false); + test(S("abcde"), "abcdefghijklmnopqrst", false); + test(S("abcdefghij"), "", true); + test(S("abcdefghij"), "abcde", true); + test(S("abcdefghij"), "abcdefghij", true); + test(S("abcdefghij"), "abcdefghijklmnopqrst", false); + test(S("abcdefghijklmnopqrst"), "", true); + test(S("abcdefghijklmnopqrst"), "abcde", true); + test(S("abcdefghijklmnopqrst"), "abcdefghij", true); + test(S("abcdefghijklmnopqrst"), "abcdefghijklmnopqrst", true); +} |