Browse Source

Text: can do this string concatenation at compile time.

pull/680/head
Vladimír Vondruš 9 months ago
parent
commit
67b8559de3
  1. 51
      src/Magnum/Text/Test/RendererTest.cpp

51
src/Magnum/Text/Test/RendererTest.cpp

@ -36,7 +36,6 @@
#include <Corrade/TestSuite/Compare/String.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include <Corrade/Utility/Algorithms.h>
#include <Corrade/Utility/Format.h>
#include "Magnum/Mesh.h"
#include "Magnum/PixelFormat.h"
@ -3648,7 +3647,7 @@ void RendererTest::allocateCoreGlyphAllocator() {
/* Rendering an empty text should be a no-op as well */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.render(shaper, 0.0f, "");
CORRADE_COMPARE(allocation.called, 0);
CORRADE_COMPARE(renderer.glyphCount(), 0);
@ -3684,7 +3683,7 @@ void RendererTest::allocateCoreGlyphAllocator() {
allocation.glyphAdvances = Containers::arrayView(glyphAdvances)
.prefix(data.reserve);
{
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.reserve(data.reserve, 0);
}
CORRADE_COMPARE(allocation.called, 1);
@ -3697,7 +3696,7 @@ void RendererTest::allocateCoreGlyphAllocator() {
/* Rendering with enough capacity shouldn't reallocate anything */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.add(shaper, 0.0f, "abc");
if(data.renderAddOnly) {
CORRADE_VERIFY(renderer.isRendering());
@ -3749,7 +3748,7 @@ void RendererTest::allocateCoreGlyphAllocator() {
allocation.glyphAdvances = Containers::arrayView(glyphAdvances2)
.prefix(data.advanceSize);
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
allocation.expectedViewSize = 3;
allocation.expectedGlyphCount = data.secondReserve - 3;
renderer.render(shaper, 0.0f, "defghijklmnopqrstuvwxyz");
@ -3759,7 +3758,7 @@ void RendererTest::allocateCoreGlyphAllocator() {
CORRADE_COMPARE(renderer.renderingGlyphCount(), 26);
CORRADE_COMPARE(renderer.renderingRunCount(), 2);
} else {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
allocation.expectedViewSize = 0;
allocation.expectedGlyphCount = data.secondReserve;
renderer.reserve(data.secondReserve, 0);
@ -3984,7 +3983,7 @@ void RendererTest::allocateCoreRunAllocator() {
/* Rendering an empty text should be a no-op as well, even with multiple
add() calls */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer
.add(shaper, 0.0f, "")
.add(shaper, 0.0f, "")
@ -4012,7 +4011,7 @@ void RendererTest::allocateCoreRunAllocator() {
allocation.runEnds = Containers::arrayView(runEnds)
.prefix(data.reserve);
{
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.reserve(0, data.reserve);
}
CORRADE_COMPARE(allocation.called, 1);
@ -4025,7 +4024,7 @@ void RendererTest::allocateCoreRunAllocator() {
/* Rendering with enough capacity shouldn't reallocate anything */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer
.add(shaper, 0.0f, "a")
.add(shaper, 0.0f, "b")
@ -4070,7 +4069,7 @@ void RendererTest::allocateCoreRunAllocator() {
allocation.runEnds = Containers::arrayView(runEnds2)
.prefix(data.endSize);
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
allocation.expectedViewSize = 3;
allocation.expectedRunCount = 1;
renderer.render(shaper, 0.0f, "defghijklmnopqrstuvwxyz");
@ -4080,7 +4079,7 @@ void RendererTest::allocateCoreRunAllocator() {
CORRADE_COMPARE(renderer.renderingGlyphCount(), 26);
CORRADE_COMPARE(renderer.renderingRunCount(), 4);
} else {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
allocation.expectedViewSize = 0;
allocation.expectedRunCount = data.secondReserve;
renderer.reserve(0, data.secondReserve);
@ -4874,7 +4873,7 @@ void RendererTest::allocateIndexAllocator() {
/* Rendering an empty text should be a no-op as well */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.render(shaper, 0.0f, "");
CORRADE_COMPARE(allocation.called, 0);
CORRADE_COMPARE(renderer.glyphCount(), 0);
@ -4897,7 +4896,7 @@ void RendererTest::allocateIndexAllocator() {
allocation.expectedSize = data.reserve*6*meshIndexTypeSize(data.expectedIndexType);
allocation.indices = indices.prefix(data.reserve*6*meshIndexTypeSize(data.expectedIndexType));
{
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.reserve(data.reserve, 0);
}
CORRADE_COMPARE(allocation.called, 1);
@ -4912,7 +4911,7 @@ void RendererTest::allocateIndexAllocator() {
/* Rendering with enough capacity shouldn't reallocate anything */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.add(shaper, 0.0f, "abc");
if(data.renderAddOnly) {
CORRADE_VERIFY(renderer.isRendering());
@ -4956,7 +4955,7 @@ void RendererTest::allocateIndexAllocator() {
allocation.expectedSize = data.expectedCapacity*6*meshIndexTypeSize(data.expectedSecondIndexType);
}
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.render(shaper, 0.0f, "defghijklmnopqrstuvwxyz");
CORRADE_COMPARE(renderer.glyphCount(), 26);
CORRADE_COMPARE(renderer.runCount(), 2);
@ -4964,7 +4963,7 @@ void RendererTest::allocateIndexAllocator() {
CORRADE_COMPARE(renderer.renderingGlyphCount(), 26);
CORRADE_COMPARE(renderer.renderingRunCount(), 2);
} else if(data.secondReserve) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.reserve(data.secondReserve, 0);
CORRADE_COMPARE(renderer.glyphCount(), 0);
CORRADE_COMPARE(renderer.runCount(), 0);
@ -4972,7 +4971,7 @@ void RendererTest::allocateIndexAllocator() {
CORRADE_COMPARE(renderer.renderingGlyphCount(), 0);
CORRADE_COMPARE(renderer.renderingRunCount(), 0);
} else if(data.secondIndexType) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.setIndexType(*data.secondIndexType);
CORRADE_COMPARE(renderer.glyphCount(), 0);
CORRADE_COMPARE(renderer.runCount(), 0);
@ -5217,7 +5216,7 @@ void RendererTest::allocateVertexAllocator() {
/* Rendering an empty text should be a no-op as well */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.render(shaper, 0.0f, "");
CORRADE_COMPARE(allocation.called, 0);
CORRADE_COMPARE(renderer.glyphCount(), 0);
@ -5251,7 +5250,7 @@ void RendererTest::allocateVertexAllocator() {
.prefix(data.reserve*4)
.slice(&Vector3::xy);
{
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.reserve(data.reserve, 0);
}
CORRADE_COMPARE(allocation.called, 1);
@ -5266,7 +5265,7 @@ void RendererTest::allocateVertexAllocator() {
/* Rendering with enough capacity shouldn't reallocate anything */
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
renderer.add(shaper, 0.0f, "abc");
if(data.renderAddOnly) {
CORRADE_VERIFY(renderer.isRendering());
@ -5317,7 +5316,7 @@ void RendererTest::allocateVertexAllocator() {
.prefix(data.textureCoordinateSize)
.slice(&Vector3::xy);
if(data.render) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
/* If only add() was called before, there are no vertex data to
preserve from previous allocations */
if(data.renderAddOnly) {
@ -5334,7 +5333,7 @@ void RendererTest::allocateVertexAllocator() {
CORRADE_COMPARE(renderer.renderingGlyphCount(), 26);
CORRADE_COMPARE(renderer.renderingRunCount(), 2);
} else {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
allocation.expectedViewSize = 0;
allocation.expectedVertexCount = data.secondReserve*4;
renderer.reserve(data.secondReserve, 0);
@ -5714,7 +5713,7 @@ void RendererTest::addSingleLine() {
Containers::Pair<Range2D, Range1Dui> out;
if(data.direct) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
CORRADE_COMPARE(data.items.size(), 1);
auto& item = data.items[0];
shaper1.sizeMultiplier = item.third();
@ -5726,7 +5725,7 @@ void RendererTest::addSingleLine() {
Feature::CharacterVariants66
});
} else {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
for(std::size_t i = 0; i != data.items.size(); ++i) {
auto& item = data.items[i];
CORRADE_ITERATION(item);
@ -6002,7 +6001,7 @@ void RendererTest::addMultipleLines() {
Containers::Pair<Range2D, Range1Dui> out;
if(data.direct) {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
CORRADE_COMPARE(data.items.size(), 1);
shaper1.expectedText = "he\nll\n\no";
out = renderer.render(shaper1, 1.0f, "he\nll\n\no", {
@ -6014,7 +6013,7 @@ void RendererTest::addMultipleLines() {
Containers::arrayView(data.items[0].third()),
TestSuite::Compare::Container);
} else {
CORRADE_ITERATION(Utility::format("{}:{}", __FILE__, __LINE__));
CORRADE_ITERATION(__FILE__ ":" CORRADE_LINE_STRING);
for(std::size_t i = 0; i != data.items.size(); ++i) {
auto& item = data.items[i];
CORRADE_ITERATION(Containers::pair(item.first(), item.second()));

Loading…
Cancel
Save