TM-SGNL-iOS/Signal/test/util/StorySharingTests.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

54 lines
1.8 KiB
Swift

//
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import LibSignalClient
import XCTest
@testable import SignalServiceKit
@testable import SignalUI
class StorySharingTests: SignalBaseTest {
func testUrlStripping() {
let inputOutput = [
"https://signal.org test": "test",
"https://signal.orgtest test https://signal.org": "https://signal.orgtest test",
"testhttps://signal.org": "testhttps://signal.org",
"test\nhttps://signal.org": "test",
"https://signal.org\ntest": "test",
"https://signal.org\ntest\nhttps://signal.org": "test\nhttps://signal.org",
"some https://signal.org test": "some https://signal.org test",
"https://signal.org": nil,
"something else": "something else"
]
for (input, expectedOutput) in inputOutput {
let output = StorySharing.text(
for: .init(
text: input,
ranges: .empty
),
with: OWSLinkPreviewDraft(
url: URL(string: "https://signal.org")!,
title: nil
)
)?.text
XCTAssertEqual(output, expectedOutput)
}
}
func testMentionFlattening() {
let mentionAci = Aci.randomForTesting()
let range = NSRange(location: 0, length: MessageBody.mentionPlaceholder.utf16.count)
let output = StorySharing.text(
for: .init(
text: "\(MessageBody.mentionPlaceholder) Some text",
ranges: .init(mentions: [range: mentionAci], styles: [])
),
with: nil
)?.text
XCTAssertEqual(output, "@Unknown Some text")
}
}