From d8fbaf5d4f198a6b99af98db7cf75e97a8763503 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 14 Jan 2024 05:11:01 +0100 Subject: [PATCH] testsuite: Add a test to exhaust the glyph cache See previous commit. --- .../gsk/compare/glyph-cache-overflow.node | 508 ++++++++++++++++++ .../gsk/compare/glyph-cache-overflow.png | Bin 0 -> 1342 bytes testsuite/gsk/meson.build | 1 + 3 files changed, 509 insertions(+) create mode 100644 testsuite/gsk/compare/glyph-cache-overflow.node create mode 100644 testsuite/gsk/compare/glyph-cache-overflow.png diff --git a/testsuite/gsk/compare/glyph-cache-overflow.node b/testsuite/gsk/compare/glyph-cache-overflow.node new file mode 100644 index 0000000000..04b080decf --- /dev/null +++ b/testsuite/gsk/compare/glyph-cache-overflow.node @@ -0,0 +1,508 @@ +text { + color: red; + font: "BlockBlockBlock 210px" url("data://;base64,\ +AAEAAAAIAIAAAwAAY21hcAByAD0AAAEUAAAANGdseWY/ZsNsAAABVAAAAEhoZWFkJqsy2gAAAIwA\ +AAA2aGhlYQwBBAIAAADEAAAAJGhtdHgEAAAAAAABCAAAAApsb2NhADAAGAAAAUgAAAAKbWF4cAAG\ +AAUAAADoAAAAIG5hbWWJUoCNAAABnAAAACEAAQAAAAEZmmVCT9xfDzz1AAIIAAAAAADhwj0AAAAA\ +AOHTj0oAAAAABAAIAAAAAAEAAgAAAAAAAAABAAAIAAAAAAAEAAAAAAAEAAABAAAAAAAAAAAAAAAA\ +AAAAAQABAAAABAAEAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQAAAAMA\ +AAAMAAQAKAAAAAYABAABAAIAIABD//8AAAAgAEH////g/8AAAQAAAAAAAAAAAAAADAAYACQAAAAB\ +AAAAAAQACAAAAwAAMSERIQQA/AAIAAABAAAAAAQACAAAAwAAMSERIQQA/AAIAAABAAAAAAQACAAA\ +AwAAMSERIQQA/AAIAAAAAAEAEgABAAAAAAABAA8AAEJsb2NrQmxvY2tCbG9jawAAAA=="); + glyphs: 1 150, 2 150, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 208px"; + glyphs: 1 150, 2 151, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 206px"; + glyphs: 1 151, 2 151, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 204px"; + glyphs: 1 151, 2 152, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 202px"; + glyphs: 1 152, 2 152, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 200px"; + glyphs: 1 152, 2 153, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 198px"; + glyphs: 1 153, 2 153, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 196px"; + glyphs: 1 153, 2 154, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 194px"; + glyphs: 1 154, 2 154, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 192px"; + glyphs: 1 154, 2 155, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 190px"; + glyphs: 1 155, 2 155, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 188px"; + glyphs: 1 155, 2 156, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 186px"; + glyphs: 1 156, 2 156, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 184px"; + glyphs: 1 156, 2 157, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 182px"; + glyphs: 1 157, 2 157, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 180px"; + glyphs: 1 157, 2 158, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 178px"; + glyphs: 1 158, 2 158, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 176px"; + glyphs: 1 158, 2 159, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 174px"; + glyphs: 1 159, 2 159, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 172px"; + glyphs: 1 159, 2 160, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 170px"; + glyphs: 1 160, 2 160, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 168px"; + glyphs: 1 160, 2 161, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 166px"; + glyphs: 1 161, 2 161, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 164px"; + glyphs: 1 161, 2 162, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 162px"; + glyphs: 1 162, 2 162, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 160px"; + glyphs: 1 162, 2 163, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 158px"; + glyphs: 1 163, 2 163, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 156px"; + glyphs: 1 163, 2 164, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 154px"; + glyphs: 1 164, 2 164, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 152px"; + glyphs: 1 164, 2 165, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 150px"; + glyphs: 1 165, 2 165, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 148px"; + glyphs: 1 165, 2 166, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 146px"; + glyphs: 1 166, 2 166, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 144px"; + glyphs: 1 166, 2 167, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 142px"; + glyphs: 1 167, 2 167, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 140px"; + glyphs: 1 167, 2 168, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 138px"; + glyphs: 1 168, 2 168, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 136px"; + glyphs: 1 168, 2 169, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 134px"; + glyphs: 1 169, 2 169, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 132px"; + glyphs: 1 169, 2 170, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 130px"; + glyphs: 1 170, 2 170, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 128px"; + glyphs: 1 170, 2 171, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 126px"; + glyphs: 1 171, 2 171, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 124px"; + glyphs: 1 171, 2 172, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 122px"; + glyphs: 1 172, 2 172, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 120px"; + glyphs: 1 172, 2 173, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 118px"; + glyphs: 1 173, 2 173, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 116px"; + glyphs: 1 173, 2 174, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 114px"; + glyphs: 1 174, 2 174, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 112px"; + glyphs: 1 174, 2 175, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 110px"; + glyphs: 1 175, 2 175, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 108px"; + glyphs: 1 175, 2 176, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 106px"; + glyphs: 1 176, 2 176, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 104px"; + glyphs: 1 176, 2 177, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 102px"; + glyphs: 1 177, 2 177, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 100px"; + glyphs: 1 177, 2 178, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 98px"; + glyphs: 1 178, 2 178, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 96px"; + glyphs: 1 178, 2 179, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 94px"; + glyphs: 1 179, 2 179, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 92px"; + glyphs: 1 179, 2 180, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 90px"; + glyphs: 1 180, 2 180, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 88px"; + glyphs: 1 180, 2 181, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 86px"; + glyphs: 1 181, 2 181, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 84px"; + glyphs: 1 181, 2 182, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 82px"; + glyphs: 1 182, 2 182, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 80px"; + glyphs: 1 182, 2 183, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 78px"; + glyphs: 1 183, 2 183, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 76px"; + glyphs: 1 183, 2 184, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 74px"; + glyphs: 1 184, 2 184, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 72px"; + glyphs: 1 184, 2 185, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 70px"; + glyphs: 1 185, 2 185, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 68px"; + glyphs: 1 185, 2 186, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 66px"; + glyphs: 1 186, 2 186, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 64px"; + glyphs: 1 186, 2 187, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 62px"; + glyphs: 1 187, 2 187, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 60px"; + glyphs: 1 187, 2 188, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 58px"; + glyphs: 1 188, 2 188, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 56px"; + glyphs: 1 188, 2 189, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 54px"; + glyphs: 1 189, 2 189, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 52px"; + glyphs: 1 189, 2 190, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 50px"; + glyphs: 1 190, 2 190, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 48px"; + glyphs: 1 190, 2 191, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 46px"; + glyphs: 1 191, 2 191, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 44px"; + glyphs: 1 191, 2 192, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 42px"; + glyphs: 1 192, 2 192, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 40px"; + glyphs: 1 192, 2 193, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 38px"; + glyphs: 1 193, 2 193, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 36px"; + glyphs: 1 193, 2 194, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 34px"; + glyphs: 1 194, 2 194, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 32px"; + glyphs: 1 194, 2 195, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 30px"; + glyphs: 1 195, 2 195, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 28px"; + glyphs: 1 195, 2 196, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 26px"; + glyphs: 1 196, 2 196, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 24px"; + glyphs: 1 196, 2 197, 3 0; +} +text { + color: magenta; + font: "BlockBlockBlock 22px"; + glyphs: 1 197, 2 197, 3 0; +} +text { + color: teal; + font: "BlockBlockBlock 20px"; + glyphs: 1 197, 2 198, 3 0; +} +text { + color: red; + font: "BlockBlockBlock 18px"; + glyphs: 1 198, 2 198, 3 0; +} +text { + color: lime; + font: "BlockBlockBlock 16px"; + glyphs: 1 198, 2 199, 3 0; +} +text { + color: blue; + font: "BlockBlockBlock 14px"; + glyphs: 1 199, 2 199, 3 0; +} +text { + color: yellow; + font: "BlockBlockBlock 12px"; + glyphs: 1 199, 2 200, 3 0; +} diff --git a/testsuite/gsk/compare/glyph-cache-overflow.png b/testsuite/gsk/compare/glyph-cache-overflow.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3a4ed3e855412ee57a479a5aa38906b765d645 GIT binary patch literal 1342 zcmV-E1;P4>P)s#Q*>R0d!JMQvg8b*k%9#1lLJKK~#9!?c6bL+%OP@ zVbXCrsZnoW5gtGnNRdnI<#Gs}AXiY8-UtEpN}r7#$XPpOQ)*+=Z32Y(1IZBl`#FbLvPzD}880e=;|pxNnK+ zL+qAMe`9Y>+}J(%ubJOD#{OmOBxC3{3p>ZyqUt1L;5JLbY+3Bsw0D%tGjN+VyGNO^ zi!9HeZI*^v38;D}S;Mwj%zQQ{$%|vwpl#-J|32i^+ROE=pB)87kIb54%V74q)j&RP1`(!vai-dC+IZybya(ISoGfz2* z@#EMD_i$|%C?_#E)d}}tZI*}GvKYOIbQ+y!ur_OGr;&RXah`$Ni~uv9rg|qFM73F@ zemp1POC$$DZRV*(a4yFbtUBt9mLr)5CoiU1t zHlxC9S;QjeDo4a8L$g`rG)YCz+IAuF4AEwu)g*o9oqQ6}W`WftS*nvy0@{oLvt^Nz z6Yn}HJOi{@!;BJ=7iN;gGdP=ZU`C}>@8p|!HjCV-_|_S%31>6UjuM(JJ36C%XYw`+ z{A#vI-!$X!49sRsn9(FPIE5&h&6>5zO+A z>YYj!$!4**tFd*K%L3WVmv?uwZFzS-Y*qoYzkk3xzma$4*EY_8i-Lg$H0?$xv<}1s|&%e_Oqu4A|mXnI=w89`Z ztAg3GlHsZLn$OraYpTR`5qsNQLnF>Ds=(@I-s=`w`Pyg)ipZUxda zuFZl(d$U}#X_n&|fX%95mNwMj)Y1qxYed>wTW86%eVYluY+0LWq3a$oZ5D;%8|lhT zvt6Fqx0#oUZ#;!gv2EXGK`OpMs7|qM-exi|Th>N<61(y?xvnW{C+dA8d8@HL4tiOx5lJyzOWQ_`ZKeRTwVnp2Jiw~W8l?%kTW6~QHf^Q?vt_*uP`iiGw#}m2 zi0c6HO|y4AvuQK0H{$w4I`s)QZ5H%KT=CSYPcUgSEtoCqI$=`0i?dyuHJUS?CR{Wp zTzO{DW@<3|XQ$q&kFaR7s5(P?>+E@iL7REq8BZfx-5Ik@n+4?|_iCGFYo3|2nI_Dh z=`=X~8MbV8+{|$^$ITo!bKJ~vGsn#!-i)dB2SaDXZo0x+y#N3J07*qoM6N<$f>+|1 A$p8QV literal 0 HcmV?d00001 diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build index a359986a47..62fb33cd8c 100644 --- a/testsuite/gsk/meson.build +++ b/testsuite/gsk/meson.build @@ -77,6 +77,7 @@ compare_render_tests = [ 'fill-opacity', 'fill-scaled-up', 'fill-with-3d-contents-nogl-nocairo', + 'glyph-cache-overflow', 'huge-height', 'huge-width', 'inset-shadow-multiple',