Files
conjure/Tests/ConjureKitTests/EmojiCatalogTests.swift
T
2026-10-15 14:03:03 +02:00

21 lines
1.2 KiB
Swift

import ConjureKit
import Testing
@Test func emojiCatalogSupportsOfflineSearchAndOrderedCategories() {
#expect(EmojiCatalog.search(" \n ").map(\.value) == EmojiCatalog.all.map(\.value))
#expect(EmojiCatalog.search("", category: "Flags").map(\.value)
== EmojiCatalog.all.filter { $0.category == "Flags" }.map(\.value))
// Names, shortcodes, aliases, tags, and literals share the same search path.
#expect(EmojiCatalog.search("woman tech").map(\.value) == ["👩‍💻"])
#expect(EmojiCatalog.search(":WOMAN_TECHNOLOGIST:").map(\.value) == ["👩‍💻"])
#expect(EmojiCatalog.search("coder woman", category: "People & Body").map(\.value) == ["👩‍💻"])
#expect(EmojiCatalog.search("coder woman", category: "Objects").isEmpty)
#expect(EmojiCatalog.search(":+1:").map(\.value) == ["👍"])
#expect(EmojiCatalog.search("CÁFÉ", category: "Food & Drink").contains { $0.value == "☕" })
#expect(EmojiCatalog.search("👩‍💻").map(\.value) == ["👩‍💻"])
#expect(EmojiCatalog.search("🇩🇰", category: "Flags").map(\.value) == ["🇩🇰"])
#expect(EmojiCatalog.search("no-such-emoji").isEmpty)
#expect(EmojiCatalog.search("", category: "no-such-category").isEmpty)
}