2018-09-29 21:16:45 -04:00
|
|
|
//
|
|
|
|
// CharacterCounterTests.swift
|
|
|
|
// PachydermTests
|
|
|
|
//
|
|
|
|
// Created by Shadowfacts on 9/29/18.
|
|
|
|
// Copyright © 2018 Shadowfacts. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import XCTest
|
|
|
|
@testable import Pachyderm
|
|
|
|
|
|
|
|
class CharacterCounterTests: XCTestCase {
|
|
|
|
|
|
|
|
override func setUp() {
|
|
|
|
}
|
|
|
|
|
|
|
|
override func tearDown() {
|
|
|
|
}
|
|
|
|
|
2018-09-29 22:20:17 -04:00
|
|
|
func testCountEmpty() {
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: ""), 0)
|
|
|
|
}
|
|
|
|
|
2018-09-29 21:16:45 -04:00
|
|
|
func testCountPlainText() {
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "This is an example message"), 26)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "This is an example message with an Emoji: 😄"), 43)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "😄😄😄😄😄😄😄"), 7)
|
|
|
|
}
|
|
|
|
|
|
|
|
func testCountLinks() {
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "This is an example with a link: https://example.com"), 55)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "This is an example with a link 😄: https://example.com"), 57)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "😄😄😄😄😄😄😄: https://example.com"), 32)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "This is an example with a link: https://a.much.longer.example.com/link?foo=bar#baz"), 55)
|
|
|
|
}
|
|
|
|
|
|
|
|
func testCountLocalMentions() {
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "hello @example"), 14)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "@some_really_long_name"), 22)
|
|
|
|
}
|
|
|
|
|
|
|
|
func testCountRemoteMentions() {
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "hello @example@some.remote.social"), 14)
|
|
|
|
XCTAssertEqual(CharacterCounter.count(text: "hello @some_really_long_name@some-long.remote-instance.social"), 28)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|