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}));
}