void TgaImageConverterTest::wrongType() { ImageReference2D image(ColorFormat::Red, ColorType::Float, {}, nullptr); std::ostringstream out; Error::setOutput(&out); const auto data = TgaImageConverter().exportToData(image); CORRADE_VERIFY(!data); CORRADE_COMPARE(out.str(), "Trade::TgaImageConverter::exportToData(): unsupported color type ColorType::Float\n"); }
void TgaImageConverterTest::wrongFormat() { ImageReference2D image(ColorFormat::RG, ColorType::UnsignedByte, {}, nullptr); std::ostringstream out; Error::setOutput(&out); const auto data = TgaImageConverter().exportToData(image); CORRADE_VERIFY(!data); CORRADE_COMPARE(out.str(), "Trade::TgaImageConverter::convertToData(): unsupported image format ColorFormat::RG\n"); }
void TgaImageConverterTest::rgba() { const auto data = TgaImageConverter().exportToData(OriginalRGBA); TgaImporter importer; CORRADE_VERIFY(importer.openData(data)); std::optional<Trade::ImageData2D> converted = importer.image2D(0); CORRADE_VERIFY(converted); CORRADE_COMPARE(converted->storage().alignment(), 4); CORRADE_COMPARE(converted->size(), Vector2i(2, 3)); CORRADE_COMPARE(converted->format(), PixelFormat::RGBA); CORRADE_COMPARE(converted->type(), PixelType::UnsignedByte); CORRADE_COMPARE_AS(converted->data(), Containers::ArrayView<const char> {OriginalDataRGBA}, TestSuite::Compare::Container); }
void TgaImageConverterTest::wrongType() { ImageView2D image{ #if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2)) PixelFormat::Red, #else PixelFormat::Luminance, #endif PixelType::Float, {}, nullptr}; std::ostringstream out; Error redirectError{&out}; const auto data = TgaImageConverter().exportToData(image); CORRADE_VERIFY(!data); CORRADE_COMPARE(out.str(), "Trade::TgaImageConverter::exportToData(): unsupported color type PixelType::Float\n"); }
void TgaImageConverterTest::data() { const auto data = TgaImageConverter().exportToData(original); TgaImporter importer; CORRADE_VERIFY(importer.openData(data)); std::optional<Trade::ImageData2D> converted = importer.image2D(0); CORRADE_VERIFY(converted); CORRADE_COMPARE(converted->size(), Vector2i(2, 3)); #ifndef MAGNUM_TARGET_GLES CORRADE_COMPARE(converted->format(), ColorFormat::BGR); #else CORRADE_COMPARE(converted->format(), ColorFormat::RGB); #endif CORRADE_COMPARE(converted->type(), ColorType::UnsignedByte); CORRADE_COMPARE((std::string{converted->data(), 2*3*3}), (std::string{original.data(), 2*3*3})); }