mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			101 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Swift
		
	
| //
 | |
| //  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
 | |
| //
 | |
| 
 | |
| import XCTest
 | |
| 
 | |
| class StringAdditionsTest: XCTestCase {
 | |
| 
 | |
|     override func setUp() {
 | |
|         super.setUp()
 | |
|         // Put setup code here. This method is called before the invocation of each test method in the class.
 | |
|     }
 | |
| 
 | |
|     override func tearDown() {
 | |
|         // Put teardown code here. This method is called after the invocation of each test method in the class.
 | |
|         super.tearDown()
 | |
|     }
 | |
| 
 | |
|     func testASCII() {
 | |
|         let originalString = "Hello World"
 | |
| 
 | |
|         var truncatedString = originalString.truncated(toByteCount: 8)
 | |
|         XCTAssertEqual("Hello Wo", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 0)
 | |
|         XCTAssertEqual("", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 11)
 | |
|         XCTAssertEqual("Hello World", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 12)
 | |
|         XCTAssertEqual("Hello World", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 100)
 | |
|         XCTAssertEqual("Hello World", truncatedString)
 | |
|     }
 | |
| 
 | |
|     func testMultiByte() {
 | |
|         let originalString = "🇨🇦🇨🇦🇨🇦🇨🇦"
 | |
| 
 | |
|         var truncatedString = originalString.truncated(toByteCount: 0)
 | |
|         XCTAssertEqual("", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 1)
 | |
|         XCTAssertEqual("", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 7)
 | |
|         XCTAssertEqual("", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 8)
 | |
|         XCTAssertEqual("🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 9)
 | |
|         XCTAssertEqual("🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 15)
 | |
|         XCTAssertEqual("🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 16)
 | |
|         XCTAssertEqual("🇨🇦🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 17)
 | |
|         XCTAssertEqual("🇨🇦🇨🇦", truncatedString)
 | |
|     }
 | |
| 
 | |
|     func testMixed() {
 | |
|         let originalString = "Oh🇨🇦Canada🇨🇦"
 | |
| 
 | |
|         var truncatedString = originalString.truncated(toByteCount: 0)
 | |
|         XCTAssertEqual("", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 1)
 | |
|         XCTAssertEqual("O", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 7)
 | |
|         XCTAssertEqual("Oh", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 9)
 | |
|         XCTAssertEqual("Oh", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 10)
 | |
|         XCTAssertEqual("Oh🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 11)
 | |
|         XCTAssertEqual("Oh🇨🇦C", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 23)
 | |
|         XCTAssertEqual("Oh🇨🇦Canada", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 24)
 | |
|         XCTAssertEqual("Oh🇨🇦Canada🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 25)
 | |
|         XCTAssertEqual("Oh🇨🇦Canada🇨🇦", truncatedString)
 | |
| 
 | |
|         truncatedString = originalString.truncated(toByteCount: 100)
 | |
|         XCTAssertEqual("Oh🇨🇦Canada🇨🇦", truncatedString)
 | |
|     }
 | |
| 
 | |
| }
 |