Browse Source

Add tests to improve coverage

pull/176/head
Alice 10 years ago
parent
commit
048a1b2b90
  1. 15
      src/MagnumPlugins/WavAudioImporter/Test/CMakeLists.txt
  2. 66
      src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp
  3. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidDataChunk.wav
  4. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidFactChunk.wav
  5. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidLength.wav
  6. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidPadding.wav
  7. BIN
      src/MagnumPlugins/WavAudioImporter/Test/stereo12.wav
  8. BIN
      src/MagnumPlugins/WavAudioImporter/Test/stereo24.wav

15
src/MagnumPlugins/WavAudioImporter/Test/CMakeLists.txt

@ -43,6 +43,15 @@ if(WIN32)
endif() endif()
if(CORRADE_TARGET_EMSCRIPTEN) if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest unsupportedChannelCount.wav "/unsupportedChannelCount.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedFormat.wav "/unsupportedFormat.wav")
emscripten_embed_file(WavAudioImporterTest wrongSignature.wav "/wrongSignature.wav")
emscripten_embed_file(WavAudioImporterTest invalidPadding.wav "/invalidPadding.wav")
emscripten_embed_file(WavAudioImporterTest invalidLength.wav "/invalidLength.wav")
emscripten_embed_file(WavAudioImporterTest invalidDataChunk.wav "/invalidDataChunk.wav")
emscripten_embed_file(WavAudioImporterTest invalidFactChunk.wav "/invalidFactChunk.wav")
emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8.wav") emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8.wav")
emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8junk.wav") emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8junk.wav")
@ -53,7 +62,9 @@ if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest stereo8.wav "/stereo8.wav") emscripten_embed_file(WavAudioImporterTest stereo8.wav "/stereo8.wav")
emscripten_embed_file(WavAudioImporterTest stereo8ALaw.wav "/stereo8ALaw.wav") emscripten_embed_file(WavAudioImporterTest stereo8ALaw.wav "/stereo8ALaw.wav")
emscripten_embed_file(WavAudioImporterTest stereo8MuLaw.wav "/stereo8MuLaw.wav") emscripten_embed_file(WavAudioImporterTest stereo8MuLaw.wav "/stereo8MuLaw.wav")
emscripten_embed_file(WavAudioImporterTest stereo12.wav "/stereo12.wav")
emscripten_embed_file(WavAudioImporterTest stereo16.wav "/stereo16.wav") emscripten_embed_file(WavAudioImporterTest stereo16.wav "/stereo16.wav")
emscripten_embed_file(WavAudioImporterTest stereo24.wav "/stereo24.wav")
emscripten_embed_file(WavAudioImporterTest mono32f.wav "/mono32f.wav") emscripten_embed_file(WavAudioImporterTest mono32f.wav "/mono32f.wav")
emscripten_embed_file(WavAudioImporterTest stereo32f.wav "/stereo32f.wav") emscripten_embed_file(WavAudioImporterTest stereo32f.wav "/stereo32f.wav")
@ -61,8 +72,4 @@ if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest stereo64f.wav "/stereo64f.wav") emscripten_embed_file(WavAudioImporterTest stereo64f.wav "/stereo64f.wav")
emscripten_embed_file(WavAudioImporterTest surround616.wav "/surround616.wav") emscripten_embed_file(WavAudioImporterTest surround616.wav "/surround616.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedChannelCount.wav "/unsupportedChannelCount.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedFormat.wav "/unsupportedFormat.wav")
emscripten_embed_file(WavAudioImporterTest wrongSignature.wav "/wrongSignature.wav")
endif() endif()

66
src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp

@ -45,6 +45,10 @@ class WavImporterTest: public TestSuite::Tester {
void wrongSignature(); void wrongSignature();
void unsupportedFormat(); void unsupportedFormat();
void unsupportedChannelCount(); void unsupportedChannelCount();
void invalidPadding();
void invalidLength();
void invalidDataChunk();
void invalidFactChunk();
void mono8(); void mono8();
void mono8junk(); void mono8junk();
@ -55,7 +59,9 @@ class WavImporterTest: public TestSuite::Tester {
void stereo8(); void stereo8();
void stereo8ALaw(); void stereo8ALaw();
void stereo8MuLaw(); void stereo8MuLaw();
void stereo12();
void stereo16(); void stereo16();
void stereo24();
void mono32f(); void mono32f();
void stereo32f(); void stereo32f();
@ -71,6 +77,10 @@ WavImporterTest::WavImporterTest() {
&WavImporterTest::wrongSignature, &WavImporterTest::wrongSignature,
&WavImporterTest::unsupportedFormat, &WavImporterTest::unsupportedFormat,
&WavImporterTest::unsupportedChannelCount, &WavImporterTest::unsupportedChannelCount,
&WavImporterTest::invalidPadding,
&WavImporterTest::invalidLength,
&WavImporterTest::invalidDataChunk,
&WavImporterTest::invalidFactChunk,
&WavImporterTest::mono8, &WavImporterTest::mono8,
&WavImporterTest::mono8junk, &WavImporterTest::mono8junk,
@ -81,7 +91,9 @@ WavImporterTest::WavImporterTest() {
&WavImporterTest::stereo8, &WavImporterTest::stereo8,
&WavImporterTest::stereo8ALaw, &WavImporterTest::stereo8ALaw,
&WavImporterTest::stereo8MuLaw, &WavImporterTest::stereo8MuLaw,
&WavImporterTest::stereo12,
&WavImporterTest::stereo16, &WavImporterTest::stereo16,
&WavImporterTest::stereo24,
&WavImporterTest::mono32f, &WavImporterTest::mono32f,
&WavImporterTest::stereo32f, &WavImporterTest::stereo32f,
@ -127,6 +139,41 @@ void WavImporterTest::unsupportedChannelCount() {
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 6 with 8 bits per sample\n"); CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 6 with 8 bits per sample\n");
} }
void WavImporterTest::invalidPadding() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidPadding.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file has improper size, expected 66 but got 73\n");
}
void WavImporterTest::invalidLength() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidLength.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file has improper size, expected 160844 but got 80444\n");
}
void WavImporterTest::invalidDataChunk() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidDataChunk.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file contains no data chunk\n");
}
void WavImporterTest::invalidFactChunk() {
WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidFactChunk.wav")));
CORRADE_COMPARE(importer.format(), Buffer::Format::Mono16);
CORRADE_COMPARE(importer.frequency(), 22050);
}
void WavImporterTest::mono8() { void WavImporterTest::mono8() {
WavImporter importer; WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono8.wav"))); CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono8.wav")));
@ -197,6 +244,15 @@ void WavImporterTest::stereo8MuLaw() {
CORRADE_COMPARE(importer.frequency(), 8000); CORRADE_COMPARE(importer.frequency(), 8000);
} }
void WavImporterTest::stereo12() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "stereo12.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 2 with 12 bits per sample\n");
}
void WavImporterTest::stereo16() { void WavImporterTest::stereo16() {
WavImporter importer; WavImporter importer;
@ -206,6 +262,16 @@ void WavImporterTest::stereo16() {
CORRADE_COMPARE(importer.frequency(), 44100); CORRADE_COMPARE(importer.frequency(), 44100);
} }
void WavImporterTest::stereo24() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "stereo24.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 2 with 24 bits per sample\n");
}
void WavImporterTest::mono32f() { void WavImporterTest::mono32f() {
WavImporter importer; WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono32f.wav"))); CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono32f.wav")));

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidDataChunk.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidFactChunk.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidLength.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidPadding.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/stereo12.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/stereo24.wav

Binary file not shown.
Loading…
Cancel
Save