File: String%2BCapitalizationTests.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (71 lines) | stat: -rw-r--r-- 2,835 bytes parent folder | download
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
/*
 This source file is part of the Swift.org open source project

 Copyright (c) 2024 Apple Inc. and the Swift project authors
 Licensed under Apache License v2.0 with Runtime Library Exception

 See https://swift.org/LICENSE.txt for license information
 See https://swift.org/CONTRIBUTORS.txt for Swift project authors
*/

import XCTest
@testable import SwiftDocC

class String_CapitalizationTests: XCTestCase {
    
    func testAllLowerCase() {
        let testString = "hello world"
        XCTAssertEqual("Hello world", testString.capitalizingFirstWord())
    }
    
    func testAllLowerCaseWithPunctuation() {
        let testString1 = "hello, world"
        let testString2 = "twenty-one"
        let testString3 = "hello! world"
        let testString4 = "hello: world"
        let testString5 = "l'ocean world"
        XCTAssertEqual("Hello, world", testString1.capitalizingFirstWord())
        XCTAssertEqual("Twenty-One", testString2.capitalizingFirstWord())
        XCTAssertEqual("Hello! world", testString3.capitalizingFirstWord())
        XCTAssertEqual("Hello: world", testString4.capitalizingFirstWord())
        XCTAssertEqual("L'ocean world", testString5.capitalizingFirstWord())
    }
    
    func testInvalidPunctuation() {
        let testString = "h`ello world"
        XCTAssertEqual(testString, testString.capitalizingFirstWord())
    }
    
    func testHasUppercase() {
        let testString = "iPad iOS visionOS"
        XCTAssertEqual(testString, testString.capitalizingFirstWord())
    }
    
    func testWhiteSpaces() {
        let testString1 = "       has many spaces"
        let testString2 = "     has a tab"
        let testString3 = "         has many spaces     "
        XCTAssertEqual("       Has many spaces", testString1.capitalizingFirstWord())
        XCTAssertEqual("     Has a tab", testString2.capitalizingFirstWord())
        XCTAssertEqual("         Has many spaces     ", testString3.capitalizingFirstWord())
    }
    
    
    func testDifferentAlphabets() {
        let testString1 = "l'amérique du nord"
        let testString2 = "ça va?"
        let testString3 = "à"
        let testString4 = "チーズ"
        let testString5 = "牛奶"
        let testString6 = "i don't like 牛奶"
        let testString7 = "牛奶 is tasty"
        XCTAssertEqual("L'amérique du nord", testString1.capitalizingFirstWord())
        XCTAssertEqual("Ça va?", testString2.capitalizingFirstWord())
        XCTAssertEqual("À", testString3.capitalizingFirstWord())
        XCTAssertEqual("チーズ", testString4.capitalizingFirstWord())
        XCTAssertEqual("牛奶", testString5.capitalizingFirstWord())
        XCTAssertEqual("I don't like 牛奶", testString6.capitalizingFirstWord())
        XCTAssertEqual("牛奶 is tasty", testString7.capitalizingFirstWord())
    }
    
}