mirror of
https://github.com/taglib/taglib.git
synced 2025-07-19 05:24:25 -04:00
Merge pull request #422 from TsudaKageyu/detach
Added some missing detach()s to List<T>, ByteVector and String.
This commit is contained in:
@ -41,6 +41,7 @@ class TestByteVector : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST(testToHex);
|
||||
CPPUNIT_TEST(testNumericCoversion);
|
||||
CPPUNIT_TEST(testReplace);
|
||||
CPPUNIT_TEST(testIterator);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -290,6 +291,36 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void testIterator()
|
||||
{
|
||||
ByteVector v1("taglib");
|
||||
ByteVector v2 = v1;
|
||||
|
||||
ByteVector::Iterator it1 = v1.begin();
|
||||
ByteVector::Iterator it2 = v2.begin();
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL('t', *it1);
|
||||
CPPUNIT_ASSERT_EQUAL('t', *it2);
|
||||
|
||||
std::advance(it1, 4);
|
||||
std::advance(it2, 4);
|
||||
*it2 = 'I';
|
||||
CPPUNIT_ASSERT_EQUAL('i', *it1);
|
||||
CPPUNIT_ASSERT_EQUAL('I', *it2);
|
||||
|
||||
ByteVector::ReverseIterator it3 = v1.rbegin();
|
||||
ByteVector::ReverseIterator it4 = v2.rbegin();
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL('b', *it3);
|
||||
CPPUNIT_ASSERT_EQUAL('b', *it4);
|
||||
|
||||
std::advance(it3, 4);
|
||||
std::advance(it4, 4);
|
||||
*it4 = 'A';
|
||||
CPPUNIT_ASSERT_EQUAL('a', *it3);
|
||||
CPPUNIT_ASSERT_EQUAL('A', *it4);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(TestByteVector);
|
||||
|
@ -51,8 +51,13 @@ public:
|
||||
l3.append(3);
|
||||
l3.append(4);
|
||||
CPPUNIT_ASSERT(l1 == l3);
|
||||
|
||||
List<int> l4 = l1;
|
||||
List<int>::Iterator it = l4.find(3);
|
||||
*it = 33;
|
||||
CPPUNIT_ASSERT_EQUAL(l1[2], 3);
|
||||
CPPUNIT_ASSERT_EQUAL(l4[2], 33);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(TestList);
|
||||
|
@ -15,11 +15,21 @@ public:
|
||||
|
||||
void testInsert()
|
||||
{
|
||||
Map<String, int> m;
|
||||
m.insert("foo", 3);
|
||||
CPPUNIT_ASSERT_EQUAL(3, m["foo"]);
|
||||
m.insert("foo", 7);
|
||||
CPPUNIT_ASSERT_EQUAL(7, m["foo"]);
|
||||
Map<String, int> m1;
|
||||
m1.insert("foo", 3);
|
||||
CPPUNIT_ASSERT_EQUAL(3, m1["foo"]);
|
||||
m1.insert("foo", 7);
|
||||
CPPUNIT_ASSERT_EQUAL(7, m1["foo"]);
|
||||
|
||||
m1.insert("alice", 5);
|
||||
m1.insert("bob", 9);
|
||||
m1.insert("carol", 11);
|
||||
|
||||
Map<String, int> m2 = m1;
|
||||
Map<String, int>::Iterator it = m2.find("bob");
|
||||
(*it).second = 99;
|
||||
CPPUNIT_ASSERT_EQUAL(m1["bob"], 9);
|
||||
CPPUNIT_ASSERT_EQUAL(m2["bob"], 99);
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -44,6 +44,7 @@ class TestString : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST(testSubstr);
|
||||
CPPUNIT_TEST(testNewline);
|
||||
CPPUNIT_TEST(testEncode);
|
||||
CPPUNIT_TEST(testIterator);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -288,6 +289,24 @@ public:
|
||||
CPPUNIT_ASSERT(empty7.empty());
|
||||
}
|
||||
|
||||
void testIterator()
|
||||
{
|
||||
String s1 = "taglib string";
|
||||
String s2 = s1;
|
||||
|
||||
String::Iterator it1 = s1.begin();
|
||||
String::Iterator it2 = s2.begin();
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(L't', *it1);
|
||||
CPPUNIT_ASSERT_EQUAL(L't', *it2);
|
||||
|
||||
std::advance(it1, 4);
|
||||
std::advance(it2, 4);
|
||||
*it2 = L'I';
|
||||
CPPUNIT_ASSERT_EQUAL(L'i', *it1);
|
||||
CPPUNIT_ASSERT_EQUAL(L'I', *it2);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(TestString);
|
||||
|
Reference in New Issue
Block a user