From 285e82b852a0b598cd27b991185ec09ed27021d3 Mon Sep 17 00:00:00 2001 From: Taksh Date: Sat, 1 Aug 2026 14:11:00 +0300 Subject: [PATCH] test: cover PeopleNameFilter empty and case-insensitive matches Keeps the people-sheet search helper honest without mounting SwiftUI. --- .../Utils/PeopleNameFilterTests.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 bitchatTests/Utils/PeopleNameFilterTests.swift diff --git a/bitchatTests/Utils/PeopleNameFilterTests.swift b/bitchatTests/Utils/PeopleNameFilterTests.swift new file mode 100644 index 00000000..f93c51e8 --- /dev/null +++ b/bitchatTests/Utils/PeopleNameFilterTests.swift @@ -0,0 +1,22 @@ +import Testing +@testable import bitchat + +struct PeopleNameFilterTests { + @Test func emptyQueryMatchesEverything() { + #expect(PeopleNameFilter.matches("alice", query: "")) + #expect(PeopleNameFilter.matches("alice", query: " ")) + } + + @Test func matchesAreCaseInsensitive() { + #expect(PeopleNameFilter.matches("Alice#abcd", query: "ali")) + #expect(PeopleNameFilter.matches("Bob", query: "BOB")) + } + + @Test func nonMatchingQueryRejects() { + #expect(!PeopleNameFilter.matches("alice", query: "bob")) + } + + @Test func matchesSubstringInsideNickname() { + #expect(PeopleNameFilter.matches("cool_alice", query: "ali")) + } +}