diff --git a/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp b/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp index 0237f60c3ca..29b229637e3 100644 --- a/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp +++ b/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp @@ -982,9 +982,23 @@ void tst_ContainerApiSymmetry::assign_impl() const QCOMPARE_EQ(c.capacity(), grownCapacity); } { - // range version for non input iterator + // range version for forward iterator auto c = make(4); - auto src = make(1); + auto src = std::forward_list(); + + src.assign(8, tData); + RET_CHECK(c.assign(src.begin(), src.end())); // may reallocate + CHECK(c, tData, c.size(), S(8)); + + const S oldCapacity = c.capacity(); + c.assign(src.begin(), src.begin()); + CHECK(c, tData, c.size(), S(0)); + QCOMPARE_EQ(c.capacity(), oldCapacity); + } + { + // range version for random-access iterator + auto c = make(4); + auto src = std::vector(); src.assign(8, tData); RET_CHECK(c.assign(src.begin(), src.end())); // may reallocate