Exemple #1
0
void TagTest::testCompare()
{
	Tag tag1("artist1", "artist", 1, QStringList() << "tag1");
	Tag tag2("artist1", "artist", 2, QStringList() << "tag2");
	Tag tag3("artist2", "artist", 3, QStringList() << "tag3");
	Tag tag4("artist1", "character", 4, QStringList() << "tag4");
	Tag tag5("artist1", "unknown", 5, QStringList() << "tag5");

	QCOMPARE(tag1 == tag1, true);
	QCOMPARE(tag1 == tag2, true);
	QCOMPARE(tag1 == tag3, false);
	QCOMPARE(tag1 == tag4, false);
	QCOMPARE(tag1 == tag5, true);
}
Exemple #2
0
	void TagElementTest()
	{
		std::basic_string<utf16_t> testTag = Transcoder::UTF8toUTF16("tagname hoge=\"fuga\" ");
		TagElement<utf16_t> tag(testTag);

		CPPUNIT_ASSERT(tag.tagName.length() == 7);

		CPPUNIT_ASSERT_MESSAGE(Transcoder::UTF16toUTF8(tag.tagName.c_str()),
							   tag.tagName == Transcoder::UTF8toUTF16("tagname"));
		CPPUNIT_ASSERT(tag.attributes.size() == 1);
		CPPUNIT_ASSERT(tag.attributes[Transcoder::UTF8toUTF16("hoge")] ==
				Transcoder::UTF8toUTF16("fuga"));

		testTag = std::basic_string<utf16_t>(Transcoder::UTF8toUTF16("tagname2"));
		TagElement<utf16_t> tag2(testTag);
		CPPUNIT_ASSERT(tag2.tagName.length() == 8);

		CPPUNIT_ASSERT(tag2.tagName == Transcoder::UTF8toUTF16("tagname2"));
		CPPUNIT_ASSERT(tag2.attributes.size() == 0);

		CPPUNIT_ASSERT_THROW(TagElement<utf16_t>(Transcoder::UTF8toUTF16("hoge fuga=123")),
							 InvalidTagException);
		CPPUNIT_ASSERT_THROW(TagElement<utf16_t>(Transcoder::UTF8toUTF16("hoge fuga=")),
							 InvalidTagException);
		CPPUNIT_ASSERT_THROW(TagElement<utf16_t>(Transcoder::UTF8toUTF16("hoge fuga\"123\"")),
							 InvalidTagException);

		TagElement<utf16_t> tag3(Transcoder::UTF8toUTF16("hoge fuga=\"\""));
		CPPUNIT_ASSERT(tag3.attributes.size() == 1);
		CPPUNIT_ASSERT(tag3.attributes[Transcoder::UTF8toUTF16("fuga")] == Transcoder::UTF8toUTF16(""));

		std::string utf8str = Transcoder::UTF16toUTF8(tag3.toString());

		const size_t pos = utf8str.find('\n');
		if (pos != std::string::npos)
			utf8str.erase(pos);

		CPPUNIT_ASSERT_MESSAGE(utf8str,
							   utf8str == "<hoge fuga=\"\" />");
	}