From 284857d7069c93c600d2bd8565e97c1b3ce7115f Mon Sep 17 00:00:00 2001 From: Omar-2718 Date: Tue, 17 Feb 2026 00:31:02 +0200 Subject: [PATCH] Add visual regression test for leading tabs in text --- test/unit/visual/cases/typography.js | 9 ++++++++- .../textFont/Preserve leading tabs/000.png | Bin 0 -> 3089 bytes .../textFont/Preserve leading tabs/metadata.json | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/000.png create mode 100644 test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/metadata.json diff --git a/test/unit/visual/cases/typography.js b/test/unit/visual/cases/typography.js index 10ba96d7bf..bb8f05c9cd 100644 --- a/test/unit/visual/cases/typography.js +++ b/test/unit/visual/cases/typography.js @@ -89,6 +89,13 @@ visualSuite('Typography', function () { p5.text('p5*js', -p5.width / 2, -p5.height / 2 + 10, p5.width); screenshot(); }); + + visualTest('Preserve leading tabs',function (p5, screenshot){ + p5.createCanvas(100, 100); + p5.textSize(35); + p5.text('test\n\ttest', 0, 0, p5.width, p5.height); + screenshot(); + }); }); visualSuite('textWeight', function () { @@ -166,7 +173,7 @@ visualSuite('Typography', function () { Inter: 'https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZhrib2Bg-4.ttf', Raleway: 'https://fonts.gstatic.com/s/raleway/v36/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaooCPNLA3JC9c.ttf', 'Inknut Antiqua': 'https://fonts.gstatic.com/s/inknutantiqua/v16/Y4GRYax7VC4ot_qNB4nYpBdaKU2_xbj5bBoIYJNf.ttf', - Oswald: 'https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUFoZAaRliE.ttf', + Oswald: 'https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUFoZAaRliE.ttf' }; for (const mode of ['2d', 'webgl']) { for (const fontName in fonts) { diff --git a/test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/000.png b/test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/000.png new file mode 100644 index 0000000000000000000000000000000000000000..328440972c9d32ceca0ab5c1f05a2e5da1bba180 GIT binary patch literal 3089 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 literal 0 HcmV?d00001 diff --git a/test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/metadata.json b/test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/metadata.json new file mode 100644 index 0000000000..2d4bfe30da --- /dev/null +++ b/test/unit/visual/screenshots/Typography/textFont/Preserve leading tabs/metadata.json @@ -0,0 +1,3 @@ +{ + "numScreenshots": 1 +} \ No newline at end of file