From 70d0fe5faec916b5d27c1a83d3849ac2ac3a8e0a Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Sun, 16 May 2010 12:42:38 +0000 Subject: Replaced :: with _ in several path names llvm-svn: 103906 --- .../string_assign/iterator.pass.cpp | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 libcxx/test/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp (limited to 'libcxx/test/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp') diff --git a/libcxx/test/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp b/libcxx/test/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp new file mode 100644 index 00000000000..b40e2a703c2 --- /dev/null +++ b/libcxx/test/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp @@ -0,0 +1,87 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// + +// template +// basic_string& assign(InputIterator first, InputIterator last); + +#include +#include + +#include "../../input_iterator.h" + +template +void +test(S s, It first, It last, S expected) +{ + s.assign(first, last); + assert(s.__invariants()); + assert(s == expected); +} + +int main() +{ + typedef std::string S; + const char* s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + test(S(), s, s, S()); + test(S(), s, s+1, S("A")); + test(S(), s, s+10, S("ABCDEFGHIJ")); + test(S(), s, s+52, S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345"), s, s, S()); + test(S("12345"), s, s+1, S("A")); + test(S("12345"), s, s+10, S("ABCDEFGHIJ")); + test(S("12345"), s, s+52, S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("1234567890"), s, s, S()); + test(S("1234567890"), s, s+1, S("A")); + test(S("1234567890"), s, s+10, S("ABCDEFGHIJ")); + test(S("1234567890"), s, s+52, S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345678901234567890"), s, s, S()); + test(S("12345678901234567890"), s, s+1, S("A")); + test(S("12345678901234567890"), s, s+10, S("ABCDEFGHIJ")); + test(S("12345678901234567890"), s, s+52, + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S(), input_iterator(s), input_iterator(s), S()); + test(S(), input_iterator(s), input_iterator(s+1), S("A")); + test(S(), input_iterator(s), input_iterator(s+10), + S("ABCDEFGHIJ")); + test(S(), input_iterator(s), input_iterator(s+52), + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345"), input_iterator(s), input_iterator(s), + S()); + test(S("12345"), input_iterator(s), input_iterator(s+1), + S("A")); + test(S("12345"), input_iterator(s), input_iterator(s+10), + S("ABCDEFGHIJ")); + test(S("12345"), input_iterator(s), input_iterator(s+52), + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("1234567890"), input_iterator(s), input_iterator(s), + S()); + test(S("1234567890"), input_iterator(s), input_iterator(s+1), + S("A")); + test(S("1234567890"), input_iterator(s), input_iterator(s+10), + S("ABCDEFGHIJ")); + test(S("1234567890"), input_iterator(s), input_iterator(s+52), + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345678901234567890"), input_iterator(s), input_iterator(s), + S()); + test(S("12345678901234567890"), input_iterator(s), input_iterator(s+1), + S("A")); + test(S("12345678901234567890"), input_iterator(s), input_iterator(s+10), + S("ABCDEFGHIJ")); + test(S("12345678901234567890"), input_iterator(s), input_iterator(s+52), + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); +} -- cgit v1.2.3