From 8404df55d818c9309ecc8f8f929158cd343156b3 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 18 Jun 2025 00:57:33 +0200 Subject: [PATCH] LibWeb: Add OffscreenCanvas tests The tests cover working in Worker and some basic functionality --- .../HTML/Canvas/CanvasTextDrawingStyles.h | 5 +-- .../Worker/Worker-offscreencanvas.txt | 3 ++ .../2d-offscreencanvas-create-imagedata.txt | 1 + .../canvas/export-offscreencanvas.txt | 2 ++ .../expected/canvas/offscreencanvas-basic.txt | 3 ++ .../input/Worker/Worker-offscreencanvas.html | 36 +++++++++++++++++++ .../2d-offscreencanvas-create-imagedata.html | 19 ++++++++++ .../input/canvas/export-offscreencanvas.html | 32 +++++++++++++++++ .../input/canvas/offscreencanvas-basic.html | 13 +++++++ 9 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 Tests/LibWeb/Text/expected/Worker/Worker-offscreencanvas.txt create mode 100644 Tests/LibWeb/Text/expected/canvas/2d-offscreencanvas-create-imagedata.txt create mode 100644 Tests/LibWeb/Text/expected/canvas/export-offscreencanvas.txt create mode 100644 Tests/LibWeb/Text/expected/canvas/offscreencanvas-basic.txt create mode 100644 Tests/LibWeb/Text/input/Worker/Worker-offscreencanvas.html create mode 100644 Tests/LibWeb/Text/input/canvas/2d-offscreencanvas-create-imagedata.html create mode 100644 Tests/LibWeb/Text/input/canvas/export-offscreencanvas.html create mode 100644 Tests/LibWeb/Text/input/canvas/offscreencanvas-basic.html diff --git a/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h b/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h index 94556736e9c..6d1544b95a7 100644 --- a/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h +++ b/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h @@ -116,10 +116,7 @@ public: if (!font_list) return; - if (font_list->is_empty()) - return; - - my_drawing_state().current_font_cascade_list = font_list->first(); + my_drawing_state().current_font_cascade_list = font_list; } Bindings::CanvasTextAlign text_align() const { return my_drawing_state().text_align; } diff --git a/Tests/LibWeb/Text/expected/Worker/Worker-offscreencanvas.txt b/Tests/LibWeb/Text/expected/Worker/Worker-offscreencanvas.txt new file mode 100644 index 00000000000..eb1f829eae7 --- /dev/null +++ b/Tests/LibWeb/Text/expected/Worker/Worker-offscreencanvas.txt @@ -0,0 +1,3 @@ +Message received from worker: "{\"w\":10,\"h\":10}" +Message received from worker: "normal normal 20px SerenitySans" +Message received from worker: "normal normal 20px SerenitySans" diff --git a/Tests/LibWeb/Text/expected/canvas/2d-offscreencanvas-create-imagedata.txt b/Tests/LibWeb/Text/expected/canvas/2d-offscreencanvas-create-imagedata.txt new file mode 100644 index 00000000000..437b6add2c0 --- /dev/null +++ b/Tests/LibWeb/Text/expected/canvas/2d-offscreencanvas-create-imagedata.txt @@ -0,0 +1 @@ +FAIL: NotSupportedError: (STUBBED) OffscreenCanvasRenderingContext2D::create_image_data(int, int) diff --git a/Tests/LibWeb/Text/expected/canvas/export-offscreencanvas.txt b/Tests/LibWeb/Text/expected/canvas/export-offscreencanvas.txt new file mode 100644 index 00000000000..42b776fbee9 --- /dev/null +++ b/Tests/LibWeb/Text/expected/canvas/export-offscreencanvas.txt @@ -0,0 +1,2 @@ +1.Success: {"size":119,"type":"image/png"} +2.Success: {"size":823,"type":"image/jpeg"} diff --git a/Tests/LibWeb/Text/expected/canvas/offscreencanvas-basic.txt b/Tests/LibWeb/Text/expected/canvas/offscreencanvas-basic.txt new file mode 100644 index 00000000000..4ae6a033d8a --- /dev/null +++ b/Tests/LibWeb/Text/expected/canvas/offscreencanvas-basic.txt @@ -0,0 +1,3 @@ +{"w":10,"h":10} +normal normal 20px SerenitySans +normal normal 20px SerenitySans diff --git a/Tests/LibWeb/Text/input/Worker/Worker-offscreencanvas.html b/Tests/LibWeb/Text/input/Worker/Worker-offscreencanvas.html new file mode 100644 index 00000000000..97ba3c728d0 --- /dev/null +++ b/Tests/LibWeb/Text/input/Worker/Worker-offscreencanvas.html @@ -0,0 +1,36 @@ + + + diff --git a/Tests/LibWeb/Text/input/canvas/2d-offscreencanvas-create-imagedata.html b/Tests/LibWeb/Text/input/canvas/2d-offscreencanvas-create-imagedata.html new file mode 100644 index 00000000000..9cd7f26c09b --- /dev/null +++ b/Tests/LibWeb/Text/input/canvas/2d-offscreencanvas-create-imagedata.html @@ -0,0 +1,19 @@ + + + diff --git a/Tests/LibWeb/Text/input/canvas/export-offscreencanvas.html b/Tests/LibWeb/Text/input/canvas/export-offscreencanvas.html new file mode 100644 index 00000000000..621842919af --- /dev/null +++ b/Tests/LibWeb/Text/input/canvas/export-offscreencanvas.html @@ -0,0 +1,32 @@ + + + diff --git a/Tests/LibWeb/Text/input/canvas/offscreencanvas-basic.html b/Tests/LibWeb/Text/input/canvas/offscreencanvas-basic.html new file mode 100644 index 00000000000..50c20d7b23c --- /dev/null +++ b/Tests/LibWeb/Text/input/canvas/offscreencanvas-basic.html @@ -0,0 +1,13 @@ + + +