| 1862 | } |
| 1863 | |
| 1864 | void |
| 1865 | testAppend() |
| 1866 | { |
| 1867 | test_vectors const t; |
| 1868 | |
| 1869 | // append(size_type, char) |
| 1870 | { |
| 1871 | fail_loop([&](storage_ptr const& sp) |
| 1872 | { |
| 1873 | string s(t.v1, sp); |
| 1874 | s.append(t.v2.size(), '*'); |
| 1875 | BOOST_TEST(s == t.s1 + |
| 1876 | std::string(t.v2.size(), '*')); |
| 1877 | }); |
| 1878 | |
| 1879 | fail_loop([&](storage_ptr const& sp) |
| 1880 | { |
| 1881 | string s(t.v2, sp); |
| 1882 | s.append(t.v1.size(), '*'); |
| 1883 | BOOST_TEST(s == t.s2 + |
| 1884 | std::string(t.v1.size(), '*')); |
| 1885 | }); |
| 1886 | } |
| 1887 | |
| 1888 | // append(string_view) |
| 1889 | { |
| 1890 | fail_loop([&](storage_ptr const& sp) |
| 1891 | { |
| 1892 | string s(t.v1, sp); |
| 1893 | s.append(string(t.v2)); |
| 1894 | BOOST_TEST(s == t.s1 + t.s2); |
| 1895 | }); |
| 1896 | |
| 1897 | fail_loop([&](storage_ptr const& sp) |
| 1898 | { |
| 1899 | string s(t.v2, sp); |
| 1900 | s.append(string(t.v1)); |
| 1901 | BOOST_TEST(s == t.s2 + t.s1); |
| 1902 | }); |
| 1903 | } |
| 1904 | |
| 1905 | // append(string_view) |
| 1906 | { |
| 1907 | fail_loop([&](storage_ptr const& sp) |
| 1908 | { |
| 1909 | string s(t.v1, sp); |
| 1910 | s.append(string(t.v2).subview(3)); |
| 1911 | BOOST_TEST(s == t.s1 + t.s2.substr(3)); |
| 1912 | }); |
| 1913 | |
| 1914 | fail_loop([&](storage_ptr const& sp) |
| 1915 | { |
| 1916 | string s(t.v2, sp); |
| 1917 | s.append(string(t.v1).subview(3)); |
| 1918 | BOOST_TEST(s == t.s2 + t.s1.substr(3)); |
| 1919 | }); |
| 1920 | |
| 1921 | fail_loop([&](storage_ptr const& sp) |