-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathStringExtensionsTests.swift
executable file
·73 lines (61 loc) · 2.53 KB
/
StringExtensionsTests.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Copyright (c) 2013-present ServiceStack, Inc. All rights reserved.
// Created by Demis Bellot
import Testing
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif
@testable import ServiceStack
final class StringExtensionsTests : @unchecked Sendable {
@Test func Can_splitOn_first() {
#expect("1,2,3".splitOn(first: ",") == ["1", "2,3"])
#expect("1,2,3".splitOn(first: ";") == ["1,2,3"])
#expect("1::2::3".splitOn(first: "::") == ["1", "2::3"])
#expect("1H".splitOn(first: "H") == ["1", ""])
}
@Test func Can_splitOnLast() {
#expect("1,2,3".splitOn(last: ",") == ["1,2", "3"])
#expect("1,2,3".splitOn(last: ";") == ["1,2,3"])
#expect("1::2::3".splitOn(last: "::") == ["1::2", "3"])
}
@Test func Can_Split() {
#expect("1,2,3".split(",") == ["1", "2", "3"])
#expect("1::2::3".split("::") == ["1", "2", "3"])
}
@Test func Can_IndexOf() {
#expect("1,2,3".indexOf(",") == 1)
#expect("1,2,3".indexOf(",2") == 1)
#expect("1,2,3".indexOf(";") == -1)
}
@Test func Can_LastIndexOf() {
#expect("1,2,3".lastIndexOf(",") == 3)
#expect("1,2,3".lastIndexOf(",3") == 3)
#expect("1,2,3".lastIndexOf(";") == -1)
}
@Test func String_subscript() {
#expect("cat"[1 ..< "cat".count] == "at")
#expect(String("cat"[0]) == "c")
}
@Test func Can_serialize_JSON_String() {
#expect(toJson("s\"\n ") == "\"s\\\"\\n \"")
#expect(toJson("=== normal string ===") == "\"=== normal string ===\"")
}
@Test func First_Lowercased() {
#expect("message".firstLowercased() == "message")
#expect("Message".firstLowercased() == "message")
#expect("MEssage".firstLowercased() == "mEssage")
#expect("MESSAGE".firstLowercased() == "mESSAGE")
#expect("some message".firstLowercased() == "some message")
#expect("Some message".firstLowercased() == "some message")
#expect("Some Message".firstLowercased() == "some Message")
}
@Test func First_Uppercased() {
#expect("message".firstUppercased() == "Message")
#expect("Message".firstUppercased() == "Message")
#expect("mEssage".firstUppercased() == "MEssage")
#expect("MESSAGE".firstUppercased() == "MESSAGE")
#expect("some message".firstUppercased() == "Some message")
#expect("some Message".firstUppercased() == "Some Message")
#expect("Some message".firstUppercased() == "Some message")
}
}