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
		
	
| 
											8 years ago
										 | // | ||
|  | //  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) | ||
|  |     } | ||
|  | 
 | ||
|  | } |