diff options
Diffstat (limited to 'tests/cxx/hybrid/sequences/driver.cxx')
-rw-r--r-- | tests/cxx/hybrid/sequences/driver.cxx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/cxx/hybrid/sequences/driver.cxx b/tests/cxx/hybrid/sequences/driver.cxx index 1a27e9b..f3d848e 100644 --- a/tests/cxx/hybrid/sequences/driver.cxx +++ b/tests/cxx/hybrid/sequences/driver.cxx @@ -271,6 +271,16 @@ main () assert (s[0] == "aaa" && s[1] == "ccc" && s[2] == "bbb"); } + { + var s; + s.push_back (new string ("aaa")); + s.push_back (new string ("bbb")); + s.push_back (new string ("ccc")); + delete s.detach (s.begin () + 1); + s.attach (s.begin () + 1, new string ("bbb")); + assert (s[0] == "aaa" && s[1] == "bbb" && s[2] == "ccc"); + } + // // str_seq // @@ -355,6 +365,19 @@ main () s[2] == string ("bbb")); } + { + str s; + s.reserve (2); + s.push_back_copy ("aaa"); + s.push_back_copy ("bbb"); + s.push_back_copy ("ccc"); + delete[] s.detach (s.begin () + 1); + s.attach (s.begin () + 1, strdupc ("bbb")); + assert (s[0] == string ("aaa") && + s[1] == string ("bbb") && + s[2] == string ("ccc")); + } + #else { |