From eaa78477d517a61c48db37ac169ed530b1837736 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 4 Mar 2024 14:30:28 -0800 Subject: [PATCH] terminal: fix tests for brackets on selectWord --- src/terminal/Screen.zig | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index 0841376af..dcef37328 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -1739,7 +1739,26 @@ pub fn selectWordBetween( /// this happens is if the point pt is outside of the written screen space. pub fn selectWord(self: *Screen, pt: point.ScreenPoint) ?Selection { // Boundary characters for selection purposes - const boundary = &[_]u32{ 0, ' ', '\t', '\'', '"', '│', '`', '|', ':', ',', '(', ')', '[', ']', '{', '}', '<', '>' }; + const boundary = &[_]u32{ + 0, + ' ', + '\t', + '\'', + '"', + '│', + '`', + '|', + ':', + ',', + '(', + ')', + '[', + ']', + '{', + '}', + '<', + '>', + }; // Impossible to select anything outside of the area we've written. const y_max = self.rowsWritten() - 1; @@ -4770,9 +4789,6 @@ test "Screen: selectWord with character boundary" { const testing = std.testing; const alloc = testing.allocator; - var s = try init(alloc, 10, 20, 0); - defer s.deinit(); - const cases = [_][]const u8{ " 'abc' \n123", " \"abc\" \n123", @@ -4783,16 +4799,17 @@ test "Screen: selectWord with character boundary" { " ,abc, \n123", " (abc( \n123", " )abc) \n123", - // " [abc[ \n123", - // " ]abc] \n123", - // " {abc{ \n123", - // " }abc} \n123", - // " abc> \n123", + " [abc[ \n123", + " ]abc] \n123", + " {abc{ \n123", + " }abc} \n123", + " abc> \n123", }; for (cases) |case| { - try s.clear(.history); + var s = try init(alloc, 10, 20, 0); + defer s.deinit(); try s.testWriteString(case); // Inside character forward