1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-13 19:52:19 +00:00
serenity/Tests
Timothy Flynn 7dce2bfe23 LibUnicode: Generate separate tables for General Category properties
Previously, each code point's General Category was part of the generated
UnicodeData structure. This ultimately presented two problems, one
functional and one performance related:

  * Some General Categories are applied to unassigned code points, for
    example the Unassigned (Cn) category. Unassigned code points are
    strictly excluded from UnicodeData.txt, so by relying on that file,
    the generator is unable to handle these categories.

  * Lookups for General Categories are slower when searching through the
    large UnicodeData hash map. Even though lookups are O(1), the hash
    function turned out to be slower than binary searching through a
    category-specific table.

So, now a table is generated for each General Category. When querying a
code point for a category, a binary search is done on each code point
range in that category's table to check if code point has that category.

Further, General Categories are now parsed from the UCD file
DerivedGeneralCategory.txt. This file is a normal "prop list" file and
contains the categories for unassigned code points.
2021-08-11 13:11:01 +02:00
..
AK Tests: Add test for String::bijective_base_from() 2021-08-09 14:14:07 +04:30
Kernel Tests: Add coverage for sys$alarm() success case 2021-08-03 18:44:01 +02:00
LibC Tests: Fix compile errors on Clang 2021-07-14 13:12:25 +02:00
LibCompress Tests: Use ByteBuffer::create_zeroed in TestDeflate instead of memset 2021-05-27 15:18:03 +02:00
LibCore LibCore: Add unit test for File::read_line 2021-06-22 18:54:40 +04:30
LibCpp LibCpp: Do lexing in the Preprocessor 2021-08-07 21:24:11 +02:00
LibCrypto LibCrypto: Add tests for SignedBigInteger bitwise operations 2021-07-01 11:37:16 +02:00
LibELF Tests: Add LibELF tests 2021-05-15 11:02:04 +01:00
LibGfx LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibIMAP Tests: Add tests for the quoted printable decoder 2021-07-24 20:11:28 +04:30
LibJS Userland+Tests: Split out generic test runner from JS TestRunner 2021-06-30 08:18:28 +04:30
LibM Tests: Add Clang pragma for turning off optimizations 2021-08-08 10:55:36 +02:00
LibPthread LibC: Do not include errno.h inside unistd.h 2021-05-14 22:24:02 +02:00
LibRegex LibRegex: Support property escapes of Unicode script extensions 2021-08-04 13:50:32 +01:00
LibSQL Tests: Fix compile errors on Clang 2021-07-14 13:12:25 +02:00
LibThreading Tests+LibThreading: Add new tests for LibThreading for detach() 2021-07-02 17:52:45 +02:00
LibTLS Tests: Remove unused variables for clang build 2021-08-06 23:55:27 +02:00
LibUnicode LibUnicode: Generate separate tables for General Category properties 2021-08-11 13:11:01 +02:00
LibWasm LibWasm+Everywhere: Make the instruction count limit configurable 2021-07-17 01:13:39 +04:30
LibWeb LibWeb: Avoid assertion failure on parsing numeric character references 2021-07-28 18:32:22 +02:00
UserspaceEmulator Tests: Rename write-oob 2021-07-14 11:26:34 +04:30
CMakeLists.txt Tests: Disable UserspaceEmulator tests for Clang builds 2021-08-08 10:55:36 +02:00