From f71afcab9595de7bc2d6c8011f84c141ac330fa0 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 24 Jul 2024 19:14:17 -0700 Subject: [PATCH] terminal/kitty: diacritic small tests --- src/terminal/kitty/graphics_diacritics.zig | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/terminal/kitty/graphics_diacritics.zig b/src/terminal/kitty/graphics_diacritics.zig index 92fb816eb..ec3e7d0ca 100644 --- a/src/terminal/kitty/graphics_diacritics.zig +++ b/src/terminal/kitty/graphics_diacritics.zig @@ -5,7 +5,7 @@ const testing = std.testing; /// Codepoint for the unicode placeholder character. pub const placeholder: u21 = 0x10EEEE; -/// Get the row/col index for a diacritic codepoint. +/// Get the row/col index for a diacritic codepoint. These are 0-indexed. pub fn get(cp: u21) ?usize { return std.sort.binarySearch(u21, cp, diacritics, {}, (struct { fn order(context: void, lhs: u21, rhs: u21) std.math.Order { @@ -321,7 +321,7 @@ const diacritics: []const u21 = &.{ 0x1D244, }; -test { +test "sorted" { // diacritics must be sorted since we use a binary search. try testing.expect(std.sort.isSorted(u21, diacritics, {}, (struct { fn lessThan(context: void, lhs: u21, rhs: u21) bool { @@ -330,3 +330,9 @@ test { } }).lessThan)); } + +test "diacritic" { + // Some spot checks based on Kitty behavior + try testing.expectEqual(30, get(0x483).?); + try testing.expectEqual(294, get(0x1d242).?); +}