aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorUrs Fleisch <ufleisch@users.sourceforge.net>2020-12-22 13:16:21 +0100
committerUrs Fleisch <ufleisch@users.sourceforge.net>2020-12-23 07:04:51 +0100
commita00b3499b4a762ed038a75854505acb0e6a6b20f (patch)
tree6f9d39bb43404bdaef132dec89dc1cba3138dd95 /tests
parentd84e86da9cc7494f5e28b88b39b058c86eb7c974 (diff)
WavPack: Add test with non-standard sample rate
Diffstat (limited to 'tests')
-rw-r--r--tests/data/non_standard_rate.wvbin0 -> 132 bytes
-rw-r--r--tests/test_wavpack.cpp16
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/data/non_standard_rate.wv b/tests/data/non_standard_rate.wv
new file mode 100644
index 00000000..ccc90277
--- /dev/null
+++ b/tests/data/non_standard_rate.wv
Binary files differ
diff --git a/tests/test_wavpack.cpp b/tests/test_wavpack.cpp
index 07bf49b0..591529fb 100644
--- a/tests/test_wavpack.cpp
+++ b/tests/test_wavpack.cpp
@@ -42,6 +42,7 @@ class TestWavPack : public CppUnit::TestFixture
CPPUNIT_TEST(testNoLengthProperties);
CPPUNIT_TEST(testMultiChannelProperties);
CPPUNIT_TEST(testDsdStereoProperties);
+ CPPUNIT_TEST(testNonStandardRateProperties);
CPPUNIT_TEST(testTaggedProperties);
CPPUNIT_TEST(testFuzzedFile);
CPPUNIT_TEST(testStripAndProperties);
@@ -95,6 +96,21 @@ public:
CPPUNIT_ASSERT_EQUAL(1040, f.audioProperties()->version());
}
+ void testNonStandardRateProperties()
+ {
+ WavPack::File f(TEST_FILE_PATH_C("non_standard_rate.wv"));
+ CPPUNIT_ASSERT(f.audioProperties());
+ CPPUNIT_ASSERT_EQUAL(3, f.audioProperties()->lengthInSeconds());
+ CPPUNIT_ASSERT_EQUAL(3675, f.audioProperties()->lengthInMilliseconds());
+ CPPUNIT_ASSERT_EQUAL(0, f.audioProperties()->bitrate());
+ CPPUNIT_ASSERT_EQUAL(2, f.audioProperties()->channels());
+ CPPUNIT_ASSERT_EQUAL(16, f.audioProperties()->bitsPerSample());
+ CPPUNIT_ASSERT_EQUAL(true, f.audioProperties()->isLossless());
+ CPPUNIT_ASSERT_EQUAL(1000, f.audioProperties()->sampleRate());
+ CPPUNIT_ASSERT_EQUAL(3675U, f.audioProperties()->sampleFrames());
+ CPPUNIT_ASSERT_EQUAL(1040, f.audioProperties()->version());
+ }
+
void testTaggedProperties()
{
WavPack::File f(TEST_FILE_PATH_C("tagged.wv"));