string_string.pass.cpp revision 6e0a1f458e41c08112a130f50636ced03907e29e
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                     The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// License. See LICENSE.TXT for details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <string>
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// template<class charT, class traits, class Allocator>
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//   bool operator==(const basic_string<charT,traits,Allocator>& lhs,
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                   const basic_string<charT,traits,Allocator>& rhs);
151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string>
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <cassert>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)template <class S>
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)test(const S& lhs, const S& rhs, bool x)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    assert((lhs == rhs) == x);
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef std::string S;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int main()
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S(""), S(""), true);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S(""), S("abcde"), false);
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S(""), S("abcdefghij"), false);
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S(""), S("abcdefghijklmnopqrst"), false);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcde"), S(""), false);
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcde"), S("abcde"), true);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcde"), S("abcdefghij"), false);
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcde"), S("abcdefghijklmnopqrst"), false);
386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    test(S("abcdefghij"), S(""), false);
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghij"), S("abcde"), false);
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghij"), S("abcdefghij"), true);
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghij"), S("abcdefghijklmnopqrst"), false);
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghijklmnopqrst"), S(""), false);
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghijklmnopqrst"), S("abcde"), false);
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghijklmnopqrst"), S("abcdefghij"), false);
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    test(S("abcdefghijklmnopqrst"), S("abcdefghijklmnopqrst"), true);
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)