diff --git a/tests/data/mac-399-id3v2.ape b/tests/data/mac-399-id3v2.ape new file mode 100644 index 00000000..2ea97fc4 Binary files /dev/null and b/tests/data/mac-399-id3v2.ape differ diff --git a/tests/test_ape.cpp b/tests/test_ape.cpp index 1ac73255..3ab3197b 100644 --- a/tests/test_ape.cpp +++ b/tests/test_ape.cpp @@ -15,6 +15,7 @@ class TestAPE : public CppUnit::TestFixture CPPUNIT_TEST_SUITE(TestAPE); CPPUNIT_TEST(testProperties399); CPPUNIT_TEST(testProperties399Tagged); + CPPUNIT_TEST(testProperties399Id3v2); CPPUNIT_TEST(testProperties396); CPPUNIT_TEST(testProperties390); CPPUNIT_TEST(testFuzzedFile1); @@ -53,6 +54,21 @@ public: CPPUNIT_ASSERT_EQUAL(3990, f.audioProperties()->version()); } + void testProperties399Id3v2() + { + APE::File f(TEST_FILE_PATH_C("mac-399-id3v2.ape")); + CPPUNIT_ASSERT(f.audioProperties()); + CPPUNIT_ASSERT_EQUAL(3, f.audioProperties()->length()); + CPPUNIT_ASSERT_EQUAL(3, f.audioProperties()->lengthInSeconds()); + CPPUNIT_ASSERT_EQUAL(3550, f.audioProperties()->lengthInMilliseconds()); + CPPUNIT_ASSERT_EQUAL(192, f.audioProperties()->bitrate()); + CPPUNIT_ASSERT_EQUAL(2, f.audioProperties()->channels()); + CPPUNIT_ASSERT_EQUAL(44100, f.audioProperties()->sampleRate()); + CPPUNIT_ASSERT_EQUAL(16, f.audioProperties()->bitsPerSample()); + CPPUNIT_ASSERT_EQUAL(156556U, f.audioProperties()->sampleFrames()); + CPPUNIT_ASSERT_EQUAL(3990, f.audioProperties()->version()); + } + void testProperties396() { APE::File f(TEST_FILE_PATH_C("mac-396.ape"));