|
|
|
@ -66,6 +66,7 @@ struct AbstractImporterTest: TestSuite::Tester { |
|
|
|
void setFileCallback(); |
|
|
|
void setFileCallback(); |
|
|
|
void setFileCallbackTemplate(); |
|
|
|
void setFileCallbackTemplate(); |
|
|
|
void setFileCallbackTemplateNull(); |
|
|
|
void setFileCallbackTemplateNull(); |
|
|
|
|
|
|
|
void setFileCallbackTemplateConst(); |
|
|
|
void setFileCallbackFileOpened(); |
|
|
|
void setFileCallbackFileOpened(); |
|
|
|
void setFileCallbackNotImplemented(); |
|
|
|
void setFileCallbackNotImplemented(); |
|
|
|
void setFileCallbackNotSupported(); |
|
|
|
void setFileCallbackNotSupported(); |
|
|
|
@ -260,6 +261,7 @@ AbstractImporterTest::AbstractImporterTest() { |
|
|
|
&AbstractImporterTest::setFileCallback, |
|
|
|
&AbstractImporterTest::setFileCallback, |
|
|
|
&AbstractImporterTest::setFileCallbackTemplate, |
|
|
|
&AbstractImporterTest::setFileCallbackTemplate, |
|
|
|
&AbstractImporterTest::setFileCallbackTemplateNull, |
|
|
|
&AbstractImporterTest::setFileCallbackTemplateNull, |
|
|
|
|
|
|
|
&AbstractImporterTest::setFileCallbackTemplateConst, |
|
|
|
&AbstractImporterTest::setFileCallbackFileOpened, |
|
|
|
&AbstractImporterTest::setFileCallbackFileOpened, |
|
|
|
&AbstractImporterTest::setFileCallbackNotImplemented, |
|
|
|
&AbstractImporterTest::setFileCallbackNotImplemented, |
|
|
|
&AbstractImporterTest::setFileCallbackNotSupported, |
|
|
|
&AbstractImporterTest::setFileCallbackNotSupported, |
|
|
|
@ -665,6 +667,29 @@ void AbstractImporterTest::setFileCallbackTemplateNull() { |
|
|
|
CORRADE_VERIFY(importer.called); |
|
|
|
CORRADE_VERIFY(importer.called); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void AbstractImporterTest::setFileCallbackTemplateConst() { |
|
|
|
|
|
|
|
struct: AbstractImporter { |
|
|
|
|
|
|
|
Features doFeatures() const override { return Feature::OpenData|Feature::FileCallback; } |
|
|
|
|
|
|
|
bool doIsOpened() const override { return false; } |
|
|
|
|
|
|
|
void doClose() override {} |
|
|
|
|
|
|
|
void doSetFileCallback(Containers::Optional<Containers::ArrayView<const char>>(*)(const std::string&, InputFileCallbackPolicy, void*), void*) override { |
|
|
|
|
|
|
|
called = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool called = false; |
|
|
|
|
|
|
|
} importer; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Just verify we can have const parameters */ |
|
|
|
|
|
|
|
const int a = 0; |
|
|
|
|
|
|
|
auto lambda = [](const std::string&, InputFileCallbackPolicy, const int&) { |
|
|
|
|
|
|
|
return Containers::Optional<Containers::ArrayView<const char>>{}; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
importer.setFileCallback(lambda, a); |
|
|
|
|
|
|
|
CORRADE_VERIFY(importer.fileCallback()); |
|
|
|
|
|
|
|
CORRADE_VERIFY(importer.fileCallbackUserData()); |
|
|
|
|
|
|
|
CORRADE_VERIFY(importer.called); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void AbstractImporterTest::setFileCallbackFileOpened() { |
|
|
|
void AbstractImporterTest::setFileCallbackFileOpened() { |
|
|
|
struct: AbstractImporter { |
|
|
|
struct: AbstractImporter { |
|
|
|
Features doFeatures() const override { return {}; } |
|
|
|
Features doFeatures() const override { return {}; } |
|
|
|
|