ID3v1: Improve compatibility by mapping renamed genre names to codes

Also added a test to check if the renamed genre names are used and
check if using the old names still works.
This commit is contained in:
Urs Fleisch
2020-12-27 19:53:05 +01:00
parent e5ad041e42
commit ae867cbd8c
2 changed files with 34 additions and 0 deletions

View File

@ -40,6 +40,7 @@ class TestID3v1 : public CppUnit::TestFixture
CPPUNIT_TEST_SUITE(TestID3v1);
CPPUNIT_TEST(testStripWhiteSpace);
CPPUNIT_TEST(testGenres);
CPPUNIT_TEST(testRenamedGenres);
CPPUNIT_TEST_SUITE_END();
public:
@ -68,6 +69,18 @@ public:
CPPUNIT_ASSERT_EQUAL(100, ID3v1::genreIndex("Humour"));
}
void testRenamedGenres()
{
CPPUNIT_ASSERT_EQUAL(String("Bebop"), ID3v1::genre(85));
CPPUNIT_ASSERT_EQUAL(85, ID3v1::genreIndex("Bebop"));
CPPUNIT_ASSERT_EQUAL(85, ID3v1::genreIndex("Bebob"));
ID3v1::Tag tag;
tag.setGenre("Hardcore");
CPPUNIT_ASSERT_EQUAL(String("Hardcore Techno"), tag.genre());
CPPUNIT_ASSERT_EQUAL(129U, tag.genreNumber());
}
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestID3v1);