Browse Source

Test: adapt to Tester::setTestCase*() taking Containers::StringView now.

So, no longer std::to_string() or Utility::formatString() because that's
one more conversion than strictly needed.
pull/556/head
Vladimír Vondruš 4 years ago
parent
commit
7ccd58aa6f
  1. 8
      src/Magnum/Animation/Test/EasingTest.cpp
  2. 1
      src/Magnum/MeshTools/Test/GenerateIndicesTest.cpp
  3. 21
      src/Magnum/Shaders/Test/DistanceFieldVectorGLTest.cpp
  4. 6
      src/Magnum/Shaders/Test/DistanceFieldVectorGL_Test.cpp
  5. 32
      src/Magnum/Shaders/Test/FlatGLTest.cpp
  6. 6
      src/Magnum/Shaders/Test/FlatGL_Test.cpp
  7. 10
      src/Magnum/Shaders/Test/ShadersGLBenchmark.cpp
  8. 20
      src/Magnum/Shaders/Test/VectorGLTest.cpp
  9. 6
      src/Magnum/Shaders/Test/VectorGL_Test.cpp
  10. 17
      src/Magnum/Shaders/Test/VertexColorGLTest.cpp
  11. 6
      src/Magnum/Shaders/Test/VertexColorGL_Test.cpp

8
src/Magnum/Animation/Test/EasingTest.cpp

@ -23,11 +23,11 @@
DEALINGS IN THE SOFTWARE. DEALINGS IN THE SOFTWARE.
*/ */
#include <cstring>
#include <Corrade/Containers/ArrayView.h> #include <Corrade/Containers/ArrayView.h>
#include <Corrade/Containers/String.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h> #include <Corrade/TestSuite/Compare/Numeric.h>
#include <Corrade/Utility/FormatStl.h> #include <Corrade/Utility/Format.h>
#include "Magnum/Animation/Easing.h" #include "Magnum/Animation/Easing.h"
@ -232,10 +232,10 @@ void EasingTest::monotonicity() {
void EasingTest::symmetry() { void EasingTest::symmetry() {
auto&& data = SymmetryData[testCaseInstanceId()]; auto&& data = SymmetryData[testCaseInstanceId()];
if(std::strcmp(data.name, data.symmetricName) == 0) if(data.name == Containers::StringView{data.symmetricName})
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
else else
setTestCaseDescription(Utility::formatString("{} : {}", data.name, data.symmetricName)); setTestCaseDescription(Utility::format("{} : {}", data.name, data.symmetricName));
/* Not testing the edges, as these are tested in values() anyway (and are /* Not testing the edges, as these are tested in values() anyway (and are
problematic in functions that have explicit handling for them) */ problematic in functions that have explicit handling for them) */

1
src/Magnum/MeshTools/Test/GenerateIndicesTest.cpp

@ -25,6 +25,7 @@
#include <sstream> #include <sstream>
#include <Corrade/Containers/Array.h> #include <Corrade/Containers/Array.h>
#include <Corrade/Containers/StringStl.h> /** @todo remove once Debug is stream-free */
#include <Corrade/Containers/StridedArrayView.h> #include <Corrade/Containers/StridedArrayView.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Container.h> #include <Corrade/TestSuite/Compare/Container.h>

21
src/Magnum/Shaders/Test/DistanceFieldVectorGLTest.cpp

@ -30,6 +30,7 @@
#include <Corrade/Containers/StringStl.h> /** @todo remove once AbstractImporter is <string>-free */ #include <Corrade/Containers/StringStl.h> /** @todo remove once AbstractImporter is <string>-free */
#include <Corrade/PluginManager/Manager.h> #include <Corrade/PluginManager/Manager.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Path.h>
#ifdef CORRADE_TARGET_APPLE #ifdef CORRADE_TARGET_APPLE
@ -355,7 +356,7 @@ DistanceFieldVectorGLTest::DistanceFieldVectorGLTest() {
} }
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::construct() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::construct() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructData[testCaseInstanceId()]; auto&& data = ConstructData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -375,7 +376,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::construct() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructUniformBuffers() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructUniformBuffersData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -415,7 +416,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructUnifor
#endif #endif
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructMove() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructMove() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
DistanceFieldVectorGL<dimensions> a{DistanceFieldVectorGL<dimensions>::Flag::TextureTransformation}; DistanceFieldVectorGL<dimensions> a{DistanceFieldVectorGL<dimensions>::Flag::TextureTransformation};
const GLuint id = a.id(); const GLuint id = a.id();
@ -437,7 +438,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructMove()
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructMoveUniformBuffers() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructMoveUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>()) if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>())
@ -472,7 +473,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructUnifor
auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -493,7 +494,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::constructUnifor
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setUniformUniformBuffersEnabled() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setUniformUniformBuffersEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -524,7 +525,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setUniformUnifo
} }
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindBufferUniformBuffersNotEnabled() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindBufferUniformBuffersNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -558,7 +559,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindBufferUnifo
#endif #endif
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setTextureMatrixNotEnabled() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setTextureMatrixNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -576,7 +577,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setTextureMatri
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindTextureTransformBufferNotEnabled() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindTextureTransformBufferNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -602,7 +603,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::bindTextureTran
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setWrongDrawOffset() { template<UnsignedInt dimensions> void DistanceFieldVectorGLTest::setWrongDrawOffset() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");

6
src/Magnum/Shaders/Test/DistanceFieldVectorGL_Test.cpp

@ -24,8 +24,10 @@
*/ */
#include <sstream> #include <sstream>
#include <Corrade/Containers/String.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include "Magnum/Shaders/DistanceFieldVectorGL.h" #include "Magnum/Shaders/DistanceFieldVectorGL.h"
@ -63,7 +65,7 @@ DistanceFieldVectorGL_Test::DistanceFieldVectorGL_Test() {
} }
template<UnsignedInt dimensions> void DistanceFieldVectorGL_Test::constructNoCreate() { template<UnsignedInt dimensions> void DistanceFieldVectorGL_Test::constructNoCreate() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
{ {
DistanceFieldVectorGL<dimensions> shader{NoCreate}; DistanceFieldVectorGL<dimensions> shader{NoCreate};
@ -75,7 +77,7 @@ template<UnsignedInt dimensions> void DistanceFieldVectorGL_Test::constructNoCre
} }
template<UnsignedInt dimensions> void DistanceFieldVectorGL_Test::constructCopy() { template<UnsignedInt dimensions> void DistanceFieldVectorGL_Test::constructCopy() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
CORRADE_VERIFY(!std::is_copy_constructible<DistanceFieldVectorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_constructible<DistanceFieldVectorGL<dimensions>>{});
CORRADE_VERIFY(!std::is_copy_assignable<DistanceFieldVectorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_assignable<DistanceFieldVectorGL<dimensions>>{});

32
src/Magnum/Shaders/Test/FlatGLTest.cpp

@ -828,7 +828,7 @@ FlatGLTest::FlatGLTest() {
} }
template<UnsignedInt dimensions> void FlatGLTest::construct() { template<UnsignedInt dimensions> void FlatGLTest::construct() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructData[testCaseInstanceId()]; auto&& data = ConstructData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -855,7 +855,7 @@ template<UnsignedInt dimensions> void FlatGLTest::construct() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffers() { template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructUniformBuffersData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -899,7 +899,7 @@ template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffers() {
#endif #endif
template<UnsignedInt dimensions> void FlatGLTest::constructMove() { template<UnsignedInt dimensions> void FlatGLTest::constructMove() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
FlatGL<dimensions> a{FlatGL<dimensions>::Flag::Textured}; FlatGL<dimensions> a{FlatGL<dimensions>::Flag::Textured};
const GLuint id = a.id(); const GLuint id = a.id();
@ -921,7 +921,7 @@ template<UnsignedInt dimensions> void FlatGLTest::constructMove() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::constructMoveUniformBuffers() { template<UnsignedInt dimensions> void FlatGLTest::constructMoveUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>()) if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>())
@ -953,7 +953,7 @@ template<UnsignedInt dimensions> void FlatGLTest::constructMoveUniformBuffers()
template<UnsignedInt dimensions> void FlatGLTest::constructInvalid() { template<UnsignedInt dimensions> void FlatGLTest::constructInvalid() {
auto&& data = ConstructInvalidData[testCaseInstanceId()]; auto&& data = ConstructInvalidData[testCaseInstanceId()];
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
@ -970,7 +970,7 @@ template<UnsignedInt dimensions> void FlatGLTest::constructInvalid() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffersInvalid() { template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffersInvalid() {
auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()];
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
@ -992,7 +992,7 @@ template<UnsignedInt dimensions> void FlatGLTest::constructUniformBuffersInvalid
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::setUniformUniformBuffersEnabled() { template<UnsignedInt dimensions> void FlatGLTest::setUniformUniformBuffersEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1023,7 +1023,7 @@ template<UnsignedInt dimensions> void FlatGLTest::setUniformUniformBuffersEnable
} }
template<UnsignedInt dimensions> void FlatGLTest::bindBufferUniformBuffersNotEnabled() { template<UnsignedInt dimensions> void FlatGLTest::bindBufferUniformBuffersNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1058,7 +1058,7 @@ template<UnsignedInt dimensions> void FlatGLTest::bindBufferUniformBuffersNotEna
template<UnsignedInt dimensions> void FlatGLTest::bindTexturesInvalid() { template<UnsignedInt dimensions> void FlatGLTest::bindTexturesInvalid() {
auto&& data = BindTexturesInvalidData[testCaseInstanceId()]; auto&& data = BindTexturesInvalidData[testCaseInstanceId()];
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
@ -1085,7 +1085,7 @@ template<UnsignedInt dimensions> void FlatGLTest::bindTexturesInvalid() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::bindTextureArraysInvalid() { template<UnsignedInt dimensions> void FlatGLTest::bindTextureArraysInvalid() {
auto&& data = BindTextureArraysInvalidData[testCaseInstanceId()]; auto&& data = BindTextureArraysInvalidData[testCaseInstanceId()];
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
@ -1109,7 +1109,7 @@ template<UnsignedInt dimensions> void FlatGLTest::bindTextureArraysInvalid() {
#endif #endif
template<UnsignedInt dimensions> void FlatGLTest::setAlphaMaskNotEnabled() { template<UnsignedInt dimensions> void FlatGLTest::setAlphaMaskNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1126,7 +1126,7 @@ template<UnsignedInt dimensions> void FlatGLTest::setAlphaMaskNotEnabled() {
} }
template<UnsignedInt dimensions> void FlatGLTest::setTextureMatrixNotEnabled() { template<UnsignedInt dimensions> void FlatGLTest::setTextureMatrixNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1144,7 +1144,7 @@ template<UnsignedInt dimensions> void FlatGLTest::setTextureMatrixNotEnabled() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::setTextureLayerNotArray() { template<UnsignedInt dimensions> void FlatGLTest::setTextureLayerNotArray() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1163,7 +1163,7 @@ template<UnsignedInt dimensions> void FlatGLTest::setTextureLayerNotArray() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::bindTextureTransformBufferNotEnabled() { template<UnsignedInt dimensions> void FlatGLTest::bindTextureTransformBufferNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1189,7 +1189,7 @@ template<UnsignedInt dimensions> void FlatGLTest::bindTextureTransformBufferNotE
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::setObjectIdNotEnabled() { template<UnsignedInt dimensions> void FlatGLTest::setObjectIdNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -1208,7 +1208,7 @@ template<UnsignedInt dimensions> void FlatGLTest::setObjectIdNotEnabled() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void FlatGLTest::setWrongDrawOffset() { template<UnsignedInt dimensions> void FlatGLTest::setWrongDrawOffset() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");

6
src/Magnum/Shaders/Test/FlatGL_Test.cpp

@ -24,8 +24,10 @@
*/ */
#include <sstream> #include <sstream>
#include <Corrade/Containers/String.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include "Magnum/Shaders/FlatGL.h" #include "Magnum/Shaders/FlatGL.h"
@ -57,7 +59,7 @@ FlatGL_Test::FlatGL_Test() {
} }
template<UnsignedInt dimensions> void FlatGL_Test::constructNoCreate() { template<UnsignedInt dimensions> void FlatGL_Test::constructNoCreate() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
{ {
FlatGL<dimensions> shader{NoCreate}; FlatGL<dimensions> shader{NoCreate};
@ -69,7 +71,7 @@ template<UnsignedInt dimensions> void FlatGL_Test::constructNoCreate() {
} }
template<UnsignedInt dimensions> void FlatGL_Test::constructCopy() { template<UnsignedInt dimensions> void FlatGL_Test::constructCopy() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
CORRADE_VERIFY(!std::is_copy_constructible<FlatGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_constructible<FlatGL<dimensions>>{});
CORRADE_VERIFY(!std::is_copy_assignable<FlatGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_assignable<FlatGL<dimensions>>{});

10
src/Magnum/Shaders/Test/ShadersGLBenchmark.cpp

@ -25,7 +25,7 @@
#include <Corrade/Containers/String.h> #include <Corrade/Containers/String.h>
#include <Corrade/PluginManager/Manager.h> #include <Corrade/PluginManager/Manager.h>
#include <Corrade/Utility/FormatStl.h> #include <Corrade/Utility/Format.h>
#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Path.h>
#include "Magnum/Image.h" #include "Magnum/Image.h"
@ -565,7 +565,7 @@ template<> struct UniformTraits<3> {
template<UnsignedInt dimensions> void ShadersGLBenchmark::flat() { template<UnsignedInt dimensions> void ShadersGLBenchmark::flat() {
auto&& data = FlatData[testCaseInstanceId()]; auto&& data = FlatData[testCaseInstanceId()];
setTestCaseTemplateName(Utility::formatString("{}", dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) || if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) ||
@ -844,7 +844,7 @@ void ShadersGLBenchmark::phong() {
template<UnsignedInt dimensions> void ShadersGLBenchmark::vertexColor() { template<UnsignedInt dimensions> void ShadersGLBenchmark::vertexColor() {
auto&& data = VertexColorData[testCaseInstanceId()]; auto&& data = VertexColorData[testCaseInstanceId()];
setTestCaseTemplateName(Utility::formatString("{}", dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) || if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) ||
@ -903,7 +903,7 @@ template<UnsignedInt dimensions> void ShadersGLBenchmark::vertexColor() {
template<UnsignedInt dimensions> void ShadersGLBenchmark::vector() { template<UnsignedInt dimensions> void ShadersGLBenchmark::vector() {
auto&& data = VectorData[testCaseInstanceId()]; auto&& data = VectorData[testCaseInstanceId()];
setTestCaseTemplateName(Utility::formatString("{}", dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) || if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) ||
@ -975,7 +975,7 @@ template<UnsignedInt dimensions> void ShadersGLBenchmark::vector() {
template<UnsignedInt dimensions> void ShadersGLBenchmark::distanceFieldVector() { template<UnsignedInt dimensions> void ShadersGLBenchmark::distanceFieldVector() {
auto&& data = DistanceFieldVectorData[testCaseInstanceId()]; auto&& data = DistanceFieldVectorData[testCaseInstanceId()];
setTestCaseTemplateName(Utility::formatString("{}", dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) || if(!(_manager.loadState("AnyImageImporter") & PluginManager::LoadState::Loaded) ||

20
src/Magnum/Shaders/Test/VectorGLTest.cpp

@ -352,7 +352,7 @@ VectorGLTest::VectorGLTest() {
} }
template<UnsignedInt dimensions> void VectorGLTest::construct() { template<UnsignedInt dimensions> void VectorGLTest::construct() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructData[testCaseInstanceId()]; auto&& data = ConstructData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -372,7 +372,7 @@ template<UnsignedInt dimensions> void VectorGLTest::construct() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffers() { template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructUniformBuffersData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -411,7 +411,7 @@ template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffers() {
#endif #endif
template<UnsignedInt dimensions> void VectorGLTest::constructMove() { template<UnsignedInt dimensions> void VectorGLTest::constructMove() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
VectorGL<dimensions> a{VectorGL<dimensions>::Flag::TextureTransformation}; VectorGL<dimensions> a{VectorGL<dimensions>::Flag::TextureTransformation};
const GLuint id = a.id(); const GLuint id = a.id();
@ -433,7 +433,7 @@ template<UnsignedInt dimensions> void VectorGLTest::constructMove() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::constructMoveUniformBuffers() { template<UnsignedInt dimensions> void VectorGLTest::constructMoveUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>()) if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>())
@ -466,7 +466,7 @@ template<UnsignedInt dimensions> void VectorGLTest::constructMoveUniformBuffers(
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffersInvalid() { template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffersInvalid() {
auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersInvalidData[testCaseInstanceId()];
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
#ifdef CORRADE_NO_ASSERT #ifdef CORRADE_NO_ASSERT
@ -488,7 +488,7 @@ template<UnsignedInt dimensions> void VectorGLTest::constructUniformBuffersInval
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::setUniformUniformBuffersEnabled() { template<UnsignedInt dimensions> void VectorGLTest::setUniformUniformBuffersEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -515,7 +515,7 @@ template<UnsignedInt dimensions> void VectorGLTest::setUniformUniformBuffersEnab
} }
template<UnsignedInt dimensions> void VectorGLTest::bindBufferUniformBuffersNotEnabled() { template<UnsignedInt dimensions> void VectorGLTest::bindBufferUniformBuffersNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -549,7 +549,7 @@ template<UnsignedInt dimensions> void VectorGLTest::bindBufferUniformBuffersNotE
#endif #endif
template<UnsignedInt dimensions> void VectorGLTest::setTextureMatrixNotEnabled() { template<UnsignedInt dimensions> void VectorGLTest::setTextureMatrixNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -567,7 +567,7 @@ template<UnsignedInt dimensions> void VectorGLTest::setTextureMatrixNotEnabled()
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::bindTextureTransformBufferNotEnabled() { template<UnsignedInt dimensions> void VectorGLTest::bindTextureTransformBufferNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -593,7 +593,7 @@ template<UnsignedInt dimensions> void VectorGLTest::bindTextureTransformBufferNo
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VectorGLTest::setWrongDrawOffset() { template<UnsignedInt dimensions> void VectorGLTest::setWrongDrawOffset() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");

6
src/Magnum/Shaders/Test/VectorGL_Test.cpp

@ -24,8 +24,10 @@
*/ */
#include <sstream> #include <sstream>
#include <Corrade/Containers/String.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include "Magnum/Shaders/VectorGL.h" #include "Magnum/Shaders/VectorGL.h"
@ -63,7 +65,7 @@ VectorGL_Test::VectorGL_Test() {
} }
template<UnsignedInt dimensions> void VectorGL_Test::constructNoCreate() { template<UnsignedInt dimensions> void VectorGL_Test::constructNoCreate() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
{ {
VectorGL<dimensions> shader{NoCreate}; VectorGL<dimensions> shader{NoCreate};
@ -75,7 +77,7 @@ template<UnsignedInt dimensions> void VectorGL_Test::constructNoCreate() {
} }
template<UnsignedInt dimensions> void VectorGL_Test::constructCopy() { template<UnsignedInt dimensions> void VectorGL_Test::constructCopy() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
CORRADE_VERIFY(!std::is_copy_constructible<VectorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_constructible<VectorGL<dimensions>>{});
CORRADE_VERIFY(!std::is_copy_assignable<VectorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_assignable<VectorGL<dimensions>>{});

17
src/Magnum/Shaders/Test/VertexColorGLTest.cpp

@ -28,6 +28,7 @@
#include <Corrade/Containers/String.h> #include <Corrade/Containers/String.h>
#include <Corrade/PluginManager/Manager.h> #include <Corrade/PluginManager/Manager.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Path.h>
#ifdef CORRADE_TARGET_APPLE #ifdef CORRADE_TARGET_APPLE
@ -294,7 +295,7 @@ VertexColorGLTest::VertexColorGLTest() {
} }
template<UnsignedInt dimensions> void VertexColorGLTest::construct() { template<UnsignedInt dimensions> void VertexColorGLTest::construct() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
VertexColorGL<dimensions> shader; VertexColorGL<dimensions> shader;
CORRADE_VERIFY(shader.id()); CORRADE_VERIFY(shader.id());
@ -310,7 +311,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::construct() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffers() { template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
auto&& data = ConstructUniformBuffersData[testCaseInstanceId()]; auto&& data = ConstructUniformBuffersData[testCaseInstanceId()];
setTestCaseDescription(data.name); setTestCaseDescription(data.name);
@ -349,7 +350,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffers
#endif #endif
template<UnsignedInt dimensions> void VertexColorGLTest::constructMove() { template<UnsignedInt dimensions> void VertexColorGLTest::constructMove() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
VertexColorGL<dimensions> a; VertexColorGL<dimensions> a;
const GLuint id = a.id(); const GLuint id = a.id();
@ -369,7 +370,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::constructMove() {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VertexColorGLTest::constructMoveUniformBuffers() { template<UnsignedInt dimensions> void VertexColorGLTest::constructMoveUniformBuffers() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>()) if(!GL::Context::current().isExtensionSupported<GL::Extensions::ARB::uniform_buffer_object>())
@ -399,7 +400,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::constructMoveUniformBuf
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffersZeroDraws() { template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffersZeroDraws() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -420,7 +421,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::constructUniformBuffers
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
template<UnsignedInt dimensions> void VertexColorGLTest::setUniformUniformBuffersEnabled() { template<UnsignedInt dimensions> void VertexColorGLTest::setUniformUniformBuffersEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -441,7 +442,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::setUniformUniformBuffer
} }
template<UnsignedInt dimensions> void VertexColorGLTest::bindBufferUniformBuffersNotEnabled() { template<UnsignedInt dimensions> void VertexColorGLTest::bindBufferUniformBuffersNotEnabled() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");
@ -462,7 +463,7 @@ template<UnsignedInt dimensions> void VertexColorGLTest::bindBufferUniformBuffer
} }
template<UnsignedInt dimensions> void VertexColorGLTest::setWrongDrawOffset() { template<UnsignedInt dimensions> void VertexColorGLTest::setWrongDrawOffset() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
#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");

6
src/Magnum/Shaders/Test/VertexColorGL_Test.cpp

@ -24,8 +24,10 @@
*/ */
#include <sstream> #include <sstream>
#include <Corrade/Containers/String.h>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/Format.h>
#include "Magnum/Shaders/VertexColorGL.h" #include "Magnum/Shaders/VertexColorGL.h"
@ -63,7 +65,7 @@ VertexColorGL_Test::VertexColorGL_Test() {
} }
template<UnsignedInt dimensions> void VertexColorGL_Test::constructNoCreate() { template<UnsignedInt dimensions> void VertexColorGL_Test::constructNoCreate() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
{ {
VertexColorGL<dimensions> shader{NoCreate}; VertexColorGL<dimensions> shader{NoCreate};
@ -74,7 +76,7 @@ template<UnsignedInt dimensions> void VertexColorGL_Test::constructNoCreate() {
} }
template<UnsignedInt dimensions> void VertexColorGL_Test::constructCopy() { template<UnsignedInt dimensions> void VertexColorGL_Test::constructCopy() {
setTestCaseTemplateName(std::to_string(dimensions)); setTestCaseTemplateName(Utility::format("{}", dimensions));
CORRADE_VERIFY(!std::is_copy_constructible<VertexColorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_constructible<VertexColorGL<dimensions>>{});
CORRADE_VERIFY(!std::is_copy_assignable<VertexColorGL<dimensions>>{}); CORRADE_VERIFY(!std::is_copy_assignable<VertexColorGL<dimensions>>{});

Loading…
Cancel
Save