Browse Source

Shorten assertion messages in Image{Data,View,} constructors.

mousecapture
Vladimír Vondruš 7 years ago
parent
commit
86c589d44a
  1. 2
      src/Magnum/Image.cpp
  2. 6
      src/Magnum/ImageView.cpp
  3. 6
      src/Magnum/Test/ImageTest.cpp
  4. 8
      src/Magnum/Test/ImageViewTest.cpp
  5. 2
      src/Magnum/Trade/ImageData.cpp
  6. 2
      src/Magnum/Trade/Test/ImageDataTest.cpp

2
src/Magnum/Image.cpp

@ -36,7 +36,7 @@ template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage sto
template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const UnsignedInt format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data) noexcept: Image{storage, pixelFormatWrap(format), formatExtra, pixelSize, size, std::move(data)} {} template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const UnsignedInt format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data) noexcept: Image{storage, pixelFormatWrap(format), formatExtra, pixelSize, size, std::move(data)} {}
template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const PixelFormat format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data) noexcept: _storage{storage}, _format{format}, _formatExtra{formatExtra}, _pixelSize{pixelSize}, _size{size}, _data{std::move(data)} { template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const PixelFormat format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data) noexcept: _storage{storage}, _format{format}, _formatExtra{formatExtra}, _pixelSize{pixelSize}, _size{size}, _data{std::move(data)} {
CORRADE_ASSERT(Implementation::imageDataSize(*this) <= _data.size(), "Image::Image(): data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", ); CORRADE_ASSERT(Implementation::imageDataSize(*this) <= _data.size(), "Image: data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", );
} }
template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const PixelFormat format) noexcept: Image{storage, format, {}, Magnum::pixelSize(format)} {} template<UnsignedInt dimensions> Image<dimensions>::Image(const PixelStorage storage, const PixelFormat format) noexcept: Image{storage, format, {}, Magnum::pixelSize(format)} {}

6
src/Magnum/ImageView.cpp

@ -38,11 +38,11 @@ template<UnsignedInt dimensions, class T> ImageView<dimensions, T>::ImageView(co
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
#ifndef CORRADE_NO_ASSERT #ifndef CORRADE_NO_ASSERT
if(size.product() && !_data && !_data.size()) if(size.product() && !_data && !_data.size())
Warning{} << "ImageView::ImageView(): passing empty data to a non-empty view is deprecated, use a constructor without the data parameter instead"; Warning{} << "ImageView: passing empty data to a non-empty view is deprecated, use a constructor without the data parameter instead";
#endif #endif
CORRADE_ASSERT(!_data || Implementation::imageDataSize(*this) <= _data.size(), "ImageView::ImageView(): data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", ); CORRADE_ASSERT(!_data || Implementation::imageDataSize(*this) <= _data.size(), "ImageView: data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", );
#else #else
CORRADE_ASSERT(Implementation::imageDataSize(*this) <= _data.size(), "ImageView::ImageView(): data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", ); CORRADE_ASSERT(Implementation::imageDataSize(*this) <= _data.size(), "ImageView: data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", );
#endif #endif
} }

6
src/Magnum/Test/ImageTest.cpp

@ -416,7 +416,7 @@ void ImageTest::constructInvalidSize() {
/* Doesn't consider alignment */ /* Doesn't consider alignment */
Image2D{PixelFormat::RGB8Unorm, {1, 3}, Containers::Array<char>{3*3}}; Image2D{PixelFormat::RGB8Unorm, {1, 3}, Containers::Array<char>{3*3}};
CORRADE_COMPARE(out.str(), "Image::Image(): data too small, got 9 but expected at least 12 bytes\n"); CORRADE_COMPARE(out.str(), "Image: data too small, got 9 but expected at least 12 bytes\n");
} }
void ImageTest::constructCompressedInvalidSize() { void ImageTest::constructCompressedInvalidSize() {
@ -427,14 +427,14 @@ void ImageTest::constructCompressedInvalidSize() {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
CompressedImage2D{CompressedPixelFormat::Bc2RGBAUnorm, {4, 4}, Containers::Array<char>{2}}; CompressedImage2D{CompressedPixelFormat::Bc2RGBAUnorm, {4, 4}, Containers::Array<char>{2}};
CORRADE_COMPARE(out.str(), "CompressedImage::CompressedImage(): data too small, got 2 but expected at least 4 bytes\n"); CORRADE_COMPARE(out.str(), "CompressedImage: data too small, got 2 but expected at least 4 bytes\n");
/* Size should be rounded up even if the image size is not full block */ /* Size should be rounded up even if the image size is not full block */
} { } {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
CompressedImage2D{CompressedPixelFormat::Bc2RGBAUnorm, {2, 2}, Containers::Array<char>{2}}; CompressedImage2D{CompressedPixelFormat::Bc2RGBAUnorm, {2, 2}, Containers::Array<char>{2}};
CORRADE_COMPARE(out.str(), "CompressedImage::CompressedImage(): data too small, got 2 but expected at least 4 bytes\n"); CORRADE_COMPARE(out.str(), "CompressedImage: data too small, got 2 but expected at least 4 bytes\n");
} }
} }

8
src/Magnum/Test/ImageViewTest.cpp

@ -604,7 +604,7 @@ void ImageViewTest::constructNullptr() {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
ImageView2D{PixelFormat::RGB8Unorm, {1, 3}, nullptr}; ImageView2D{PixelFormat::RGB8Unorm, {1, 3}, nullptr};
CORRADE_COMPARE(out.str(), "ImageView::ImageView(): data too small, got 0 but expected at least 12 bytes\n"); CORRADE_COMPARE(out.str(), "ImageView: data too small, got 0 but expected at least 12 bytes\n");
} }
void ImageViewTest::constructInvalidSize() { void ImageViewTest::constructInvalidSize() {
@ -614,7 +614,7 @@ void ImageViewTest::constructInvalidSize() {
/* Doesn't consider alignment */ /* Doesn't consider alignment */
const char data[3*3]{}; const char data[3*3]{};
ImageView2D{PixelFormat::RGB8Unorm, {1, 3}, data}; ImageView2D{PixelFormat::RGB8Unorm, {1, 3}, data};
CORRADE_COMPARE(out.str(), "ImageView::ImageView(): data too small, got 9 but expected at least 12 bytes\n"); CORRADE_COMPARE(out.str(), "ImageView: data too small, got 9 but expected at least 12 bytes\n");
} }
void ImageViewTest::constructCompressedInvalidSize() { void ImageViewTest::constructCompressedInvalidSize() {
@ -627,14 +627,14 @@ void ImageViewTest::constructCompressedInvalidSize() {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
CompressedImageView2D{CompressedPixelFormat::Bc2RGBAUnorm, {4, 4}, data}; CompressedImageView2D{CompressedPixelFormat::Bc2RGBAUnorm, {4, 4}, data};
CORRADE_COMPARE(out.str(), "CompressedImageView::CompressedImageView(): data too small, got 2 but expected at least 4 bytes\n"); CORRADE_COMPARE(out.str(), "CompressedImageView: data too small, got 2 but expected at least 4 bytes\n");
/* Size should be rounded up even if the image size is not full block */ /* Size should be rounded up even if the image size is not full block */
} { } {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
CompressedImageView2D{CompressedPixelFormat::Bc2RGBAUnorm, {2, 2}, data}; CompressedImageView2D{CompressedPixelFormat::Bc2RGBAUnorm, {2, 2}, data};
CORRADE_COMPARE(out.str(), "CompressedImageView::CompressedImageView(): data too small, got 2 but expected at least 4 bytes\n"); CORRADE_COMPARE(out.str(), "CompressedImageView: data too small, got 2 but expected at least 4 bytes\n");
} }
} }

2
src/Magnum/Trade/ImageData.cpp

@ -38,7 +38,7 @@ template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const PixelSto
template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const PixelStorage storage, const UnsignedInt format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: ImageData{storage, pixelFormatWrap(format), formatExtra, pixelSize, size, std::move(data), importerState} {} template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const PixelStorage storage, const UnsignedInt format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: ImageData{storage, pixelFormatWrap(format), formatExtra, pixelSize, size, std::move(data), importerState} {}
template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const PixelStorage storage, const PixelFormat format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: _compressed{false}, _storage{storage}, _format{format}, _formatExtra{formatExtra}, _pixelSize{pixelSize}, _size{size}, _data{std::move(data)}, _importerState{importerState} { template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const PixelStorage storage, const PixelFormat format, const UnsignedInt formatExtra, const UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: _compressed{false}, _storage{storage}, _format{format}, _formatExtra{formatExtra}, _pixelSize{pixelSize}, _size{size}, _data{std::move(data)}, _importerState{importerState} {
CORRADE_ASSERT(Implementation::imageDataSize(*this) <= _data.size(), "Trade::ImageData::ImageData(): data too small, got" << _data.size() << "but expected at least" << Implementation::imageDataSize(*this) << "bytes", ); CORRADE_ASSERT(Magnum::Implementation::imageDataSize(*this) <= _data.size(), "Trade::ImageData: data too small, got" << _data.size() << "but expected at least" << Magnum::Implementation::imageDataSize(*this) << "bytes", );
} }
template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const CompressedPixelStorage storage, const CompressedPixelFormat format, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: _compressed{true}, _compressedStorage{storage}, _compressedFormat{format}, _size{size}, _data{std::move(data)}, _importerState{importerState} {} template<UnsignedInt dimensions> ImageData<dimensions>::ImageData(const CompressedPixelStorage storage, const CompressedPixelFormat format, const VectorTypeFor<dimensions, Int>& size, Containers::Array<char>&& data, const void* const importerState) noexcept: _compressed{true}, _compressedStorage{storage}, _compressedFormat{format}, _size{size}, _data{std::move(data)}, _importerState{importerState} {}

2
src/Magnum/Trade/Test/ImageDataTest.cpp

@ -302,7 +302,7 @@ void ImageDataTest::constructInvalidSize() {
/* Doesn't consider alignment */ /* Doesn't consider alignment */
ImageData2D{PixelFormat::RGB8Unorm, {1, 3}, Containers::Array<char>{3*3}}; ImageData2D{PixelFormat::RGB8Unorm, {1, 3}, Containers::Array<char>{3*3}};
CORRADE_COMPARE(out.str(), "Trade::ImageData::ImageData(): data too small, got 9 but expected at least 12 bytes\n"); CORRADE_COMPARE(out.str(), "Trade::ImageData: data too small, got 9 but expected at least 12 bytes\n");
} }
void ImageDataTest::constructCompressedInvalidSize() { void ImageDataTest::constructCompressedInvalidSize() {

Loading…
Cancel
Save