mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 10:07:15 +02:00
LibWeb: Mark FontFaceSet as a setlike IDL interface
And implement more of the constructor logic.
This commit is contained in:
committed by
Andreas Kling
parent
7077e4d002
commit
bab546472e
Notes:
sideshowbarker
2024-07-17 18:46:57 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/bab546472e Pull-request: https://github.com/SerenityOS/serenity/pull/24413 Reviewed-by: https://github.com/awesomekling
50
Tests/LibWeb/Text/input/css/FontFaceSet-setlike.html
Normal file
50
Tests/LibWeb/Text/input/css/FontFaceSet-setlike.html
Normal file
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<script src="../include.js"></script>
|
||||
<script>
|
||||
test(() => {
|
||||
const fontFaceSet = new FontFaceSet([]);
|
||||
const fontFace = new FontFace("Hash Sans", 'url(../../../../Ref/assets/HashSans.woff)');
|
||||
|
||||
println("-- Empty FontFaceSet --");
|
||||
println(`fontFaceSet.size: ${fontFaceSet.size}`);
|
||||
println(`fontFaceSet.has(fontFace): ${fontFaceSet.has(fontFace)}`);
|
||||
for (const fontFaceKey of fontFaceSet) {
|
||||
println("FAIL: FontFace is supposed to be empty");
|
||||
}
|
||||
println(`fontFaceSet.status: ${fontFaceSet.status}`);
|
||||
|
||||
const deleteBeforeAdd = fontFaceSet.delete(fontFace);
|
||||
println(`deleteBeforeAdd: ${deleteBeforeAdd}`);
|
||||
|
||||
println("-- Add Font --");
|
||||
fontFaceSet.add(fontFace);
|
||||
|
||||
println(`fontFaceSet.size: ${fontFaceSet.size}`);
|
||||
println(`fontFaceSet.has(fontFace): ${fontFaceSet.has(fontFace)}`);
|
||||
for (const fontFaceKey of fontFaceSet) {
|
||||
println(`fontFaceKey.name: ${fontFaceKey.family}`);
|
||||
}
|
||||
// Should be changed 'loading' until the font is loaded; should fire loading event
|
||||
println(`FIXME: fontFaceSet.status: ${fontFaceSet.status}`);
|
||||
|
||||
println("-- Delete Font --");
|
||||
const didDelete = fontFaceSet.delete(fontFace);
|
||||
println(`fontFaceSet.size: ${fontFaceSet.size}`);
|
||||
println(`fontFaceSet.has(fontFace): ${fontFaceSet.has(fontFace)}`);
|
||||
println(`didDelete: ${didDelete}`);
|
||||
println(`fontFaceSet.status: ${fontFaceSet.status}`);
|
||||
|
||||
println("-- Add Font again --");
|
||||
fontFaceSet.add(fontFace);
|
||||
println(`fontFaceSet.size: ${fontFaceSet.size}`);
|
||||
println(`fontFaceSet.has(fontFace): ${fontFaceSet.has(fontFace)}`);
|
||||
// Should be changed 'loading' until the font is loaded; should fire loading event
|
||||
println(`FIXME: fontFaceSet.status: ${fontFaceSet.status}`);
|
||||
|
||||
println("-- Clear FontFaceSet --");
|
||||
fontFaceSet.clear();
|
||||
println(`fontFaceSet.size: ${fontFaceSet.size}`);
|
||||
println(`fontFaceSet.has(fontFace): ${fontFaceSet.has(fontFace)}`);
|
||||
println(`fontFaceSet.status: ${fontFaceSet.status}`);
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user