diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-11-13 18:04:47 +0200 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-12-02 17:11:49 +0200 |
commit | 2bb2a40b6d13d4fe44e8879003a3e53416033a34 (patch) | |
tree | 19b184fc5faef7a2bfaba579f61c59e8e3e1db7b /test/text/shaping.test.cpp | |
parent | f4f652063d9a9903d96bf6f32257a5e6fd6dbfe2 (diff) | |
download | qtlocation-mapboxgl-2bb2a40b6d13d4fe44e8879003a3e53416033a34.tar.gz |
[core] Shape images in labels and create image quads
Diffstat (limited to 'test/text/shaping.test.cpp')
-rw-r--r-- | test/text/shaping.test.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/test/text/shaping.test.cpp b/test/text/shaping.test.cpp index c4d2ef7fc4..53f8505393 100644 --- a/test/text/shaping.test.cpp +++ b/test/text/shaping.test.cpp @@ -10,13 +10,16 @@ using namespace mbgl; using namespace util; TEST(Shaping, ZWSP) { + GlyphPosition glyphPosition; + glyphPosition.metrics.width = 18; + glyphPosition.metrics.height = 18; + glyphPosition.metrics.left = 2; + glyphPosition.metrics.top = -8; + glyphPosition.metrics.advance = 21; + Glyph glyph; glyph.id = u'中'; - glyph.metrics.width = 18; - glyph.metrics.height = 18; - glyph.metrics.left = 2; - glyph.metrics.top = -8; - glyph.metrics.advance = 21; + glyph.metrics = glyphPosition.metrics; BiDi bidi; auto immutableGlyph = Immutable<Glyph>(makeMutable<Glyph>(std::move(glyph))); @@ -25,7 +28,7 @@ TEST(Shaping, ZWSP) { GlyphMap glyphs = { { FontStackHasher()(fontStack), {{u'中', std::move(immutableGlyph)}} } }; - + GlyphPositions glyphPositions = {{FontStackHasher()(fontStack), {{u'中', std::move(glyphPosition)}}}}; ImagePositions imagePositions; const auto testGetShaping = [&](const TaggedString& string, unsigned maxWidthInChars) { @@ -39,6 +42,7 @@ TEST(Shaping, ZWSP) { WritingModeType::Horizontal, bidi, glyphs, + glyphPositions, imagePositions, 16.0, /*allowVerticalPlacement*/ false); @@ -51,7 +55,7 @@ TEST(Shaping, ZWSP) { { TaggedString string(u"中中\u200b中中\u200b中中\u200b中中中中中中\u200b中中", sectionOptions); auto shaping = testGetShaping(string, 5); - ASSERT_EQ(shaping.lineCount, 3); + ASSERT_EQ(shaping.positionedLines.size(), 3); ASSERT_EQ(shaping.top, -36); ASSERT_EQ(shaping.bottom, 36); ASSERT_EQ(shaping.left, -63); @@ -65,7 +69,7 @@ TEST(Shaping, ZWSP) { { TaggedString string(u"中中\u200b中", sectionOptions); auto shaping = testGetShaping(string, 1); - ASSERT_EQ(shaping.lineCount, 2); + ASSERT_EQ(shaping.positionedLines.size(), 2); ASSERT_EQ(shaping.top, -24); ASSERT_EQ(shaping.bottom, 24); ASSERT_EQ(shaping.left, -21); @@ -78,7 +82,7 @@ TEST(Shaping, ZWSP) { { TaggedString string(u"中中\u200b", sectionOptions); auto shaping = testGetShaping(string, 2); - ASSERT_EQ(shaping.lineCount, 1); + ASSERT_EQ(shaping.positionedLines.size(), 1); ASSERT_EQ(shaping.top, -12); ASSERT_EQ(shaping.bottom, 12); ASSERT_EQ(shaping.left, -21); @@ -90,7 +94,7 @@ TEST(Shaping, ZWSP) { { TaggedString string(u"\u200b\u200b\u200b\u200b\u200b", sectionOptions); auto shaping = testGetShaping(string, 1); - ASSERT_EQ(shaping.lineCount, 5); + ASSERT_EQ(shaping.positionedLines.size(), 5); ASSERT_EQ(shaping.top, -60); ASSERT_EQ(shaping.bottom, 60); ASSERT_EQ(shaping.left, 0); |