Browse Source

Trade: AbstractImporter::openFile() and openState() had no tests?!

I wonder what the reason was. Too simple to be tested? Coverage from
testing actual plugins was enough??
pull/559/head
Vladimír Vondruš 4 years ago
parent
commit
abdbada144
  1. 51
      src/Magnum/Trade/Test/AbstractImporterTest.cpp

51
src/Magnum/Trade/Test/AbstractImporterTest.cpp

@ -84,8 +84,10 @@ struct AbstractImporterTest: TestSuite::Tester {
void openDataDeprecatedFallback(); void openDataDeprecatedFallback();
#endif #endif
void openMemory(); void openMemory();
void openFile();
void openFileAsData(); void openFileAsData();
void openFileAsDataNotFound(); void openFileAsDataNotFound();
void openState();
void openFileNotImplemented(); void openFileNotImplemented();
void openDataNotSupported(); void openDataNotSupported();
@ -383,8 +385,10 @@ AbstractImporterTest::AbstractImporterTest() {
&AbstractImporterTest::openDataDeprecatedFallback, &AbstractImporterTest::openDataDeprecatedFallback,
#endif #endif
&AbstractImporterTest::openMemory, &AbstractImporterTest::openMemory,
&AbstractImporterTest::openFile,
&AbstractImporterTest::openFileAsData, &AbstractImporterTest::openFileAsData,
&AbstractImporterTest::openFileAsDataNotFound, &AbstractImporterTest::openFileAsDataNotFound,
&AbstractImporterTest::openState,
&AbstractImporterTest::openFileNotImplemented, &AbstractImporterTest::openFileNotImplemented,
&AbstractImporterTest::openDataNotSupported, &AbstractImporterTest::openDataNotSupported,
@ -843,6 +847,28 @@ void AbstractImporterTest::openMemory() {
CORRADE_VERIFY(!importer.isOpened()); CORRADE_VERIFY(!importer.isOpened());
} }
void AbstractImporterTest::openFile() {
struct: AbstractImporter {
ImporterFeatures doFeatures() const override { return {}; }
bool doIsOpened() const override { return _opened; }
void doClose() override { _opened = false; }
void doOpenFile(Containers::StringView filename) override {
CORRADE_COMPARE(filename, "yello.foo");
_opened = true;
}
bool _opened = false;
} importer;
CORRADE_VERIFY(!importer.isOpened());
CORRADE_VERIFY(importer.openFile("yello.foo"));
CORRADE_VERIFY(importer.isOpened());
importer.close();
CORRADE_VERIFY(!importer.isOpened());
}
void AbstractImporterTest::openFileAsData() { void AbstractImporterTest::openFileAsData() {
struct: AbstractImporter { struct: AbstractImporter {
ImporterFeatures doFeatures() const override { return ImporterFeature::OpenData; } ImporterFeatures doFeatures() const override { return ImporterFeature::OpenData; }
@ -895,6 +921,31 @@ void AbstractImporterTest::openFileAsDataNotFound() {
TestSuite::Compare::StringHasSuffix); TestSuite::Compare::StringHasSuffix);
} }
void AbstractImporterTest::openState() {
struct: AbstractImporter {
ImporterFeatures doFeatures() const override {
return ImporterFeature::OpenState;
}
bool doIsOpened() const override { return _opened; }
void doClose() override { _opened = false; }
void doOpenState(const void* state, Containers::StringView filePath) override {
CORRADE_COMPARE(state, reinterpret_cast<const void*>(0xbadcafe));
CORRADE_COMPARE(filePath, "yello/foo/");
_opened = true;
}
bool _opened = false;
} importer;
CORRADE_VERIFY(!importer.isOpened());
CORRADE_VERIFY(importer.openState(reinterpret_cast<const void*>(0xbadcafe), "yello/foo/"));
CORRADE_VERIFY(importer.isOpened());
importer.close();
CORRADE_VERIFY(!importer.isOpened());
}
void AbstractImporterTest::openFileNotImplemented() { void AbstractImporterTest::openFileNotImplemented() {
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
CORRADE_SKIP("CORRADE_NO_ASSERT defined, can't test assertions"); CORRADE_SKIP("CORRADE_NO_ASSERT defined, can't test assertions");

Loading…
Cancel
Save