21 lines
1.2 KiB
Swift
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)
|
|
}
|