test: cover message quote formatting and draft append behavior

Pinned multiline quotes, system-sender omission, and non-destructive append.
This commit is contained in:
Taksh 2026-07-31 11:44:54 +03:00
parent 3152eeb139
commit 6103e3f4e5

View File

@ -0,0 +1,37 @@
import Foundation
import Testing
@testable import bitchat
struct MessageClipboardTests {
@Test func quoteWrapsEachLineAndAddsSender() {
let quoted = MessageClipboard.quoteForComposer("hello\nworld", sender: "alice")
#expect(quoted == "> @alice:\n> hello\n> world\n\n")
}
@Test func quoteSkipsSystemSenderHeader() {
let quoted = MessageClipboard.quoteForComposer("joined", sender: "system")
#expect(quoted == "> joined\n\n")
}
@Test func emptyContentYieldsEmptyQuote() {
#expect(MessageClipboard.quoteForComposer(" ", sender: "alice").isEmpty)
}
@Test func appendQuotePreservesExistingDraft() {
let result = MessageClipboard.appendQuote(
to: "already typing",
content: "prior message",
sender: "bob"
)
#expect(result == "already typing\n> @bob:\n> prior message\n\n")
}
@Test func appendQuoteOntoEmptyDraft() {
let result = MessageClipboard.appendQuote(
to: "",
content: "solo",
sender: "carol"
)
#expect(result == "> @carol:\n> solo\n\n")
}
}