"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "validation-test/stdlib/StringWordBreaking.swift" between
swift-swift-5.8-RELEASE.tar.gz and swift-swift-5.8.1-RELEASE.tar.gz

About: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns (developed by Apple).

StringWordBreaking.swift  (swift-swift-5.8-RELEASE):StringWordBreaking.swift  (swift-swift-5.8.1-RELEASE)
skipping to change at line 32 skipping to change at line 32
// var index = endIndex // var index = endIndex
// while index != startIndex { // while index != startIndex {
// c += 1 // c += 1
// formIndex(before: &index) // formIndex(before: &index)
// } // }
// return c // return c
// } // }
// } // }
extension String { extension String {
@available(SwiftStdlib 5.7, *) @available(SwiftStdlib 5.9, *)
var _words: [String] { var _words: [String] {
var result: [String] = [] var result: [String] = []
var i = startIndex var i = startIndex
while i < endIndex { while i < endIndex {
let start = i let start = i
let end = _wordIndex(after: i) let end = _wordIndex(after: i)
let substr = self[start ..< end] let substr = self[start ..< end]
result.append(String(substr)) result.append(String(substr))
i = end i = end
} }
return result return result
} }
@available(SwiftStdlib 5.7, *) @available(SwiftStdlib 5.9, *)
var _wordsBackwards: [String] { var _wordsBackwards: [String] {
var result: [String] = [] var result: [String] = []
var i = endIndex var i = endIndex
while i > startIndex { while i > startIndex {
let end = i let end = i
let start = _wordIndex(before: i) let start = _wordIndex(before: i)
let substr = self[start ..< end] let substr = self[start ..< end]
result.append(String(substr)) result.append(String(substr))
i = start i = start
} }
return result return result
} }
} }
if #available(SwiftStdlib 5.7, *) { if #available(SwiftStdlib 5.9, *) {
StringWordBreaking.test("word breaking") { StringWordBreaking.test("word breaking") {
for wordBreakTest in wordBreakTests { for wordBreakTest in wordBreakTests {
expectEqual( expectEqual(
wordBreakTest.1, wordBreakTest.1,
wordBreakTest.0._words, wordBreakTest.0._words,
"string: \(String(reflecting: wordBreakTest.0))") "string: \(String(reflecting: wordBreakTest.0))")
expectEqual( expectEqual(
wordBreakTest.1.reversed(), wordBreakTest.1.reversed(),
wordBreakTest.0._wordsBackwards, wordBreakTest.0._wordsBackwards,
"string: \(String(reflecting: wordBreakTest.0))") "string: \(String(reflecting: wordBreakTest.0))")
skipping to change at line 138 skipping to change at line 138
func getUTF16Array(from string: String) -> [UInt16] { func getUTF16Array(from string: String) -> [UInt16] {
var result: [UInt16] = [] var result: [UInt16] = []
for cp in string.utf16 { for cp in string.utf16 {
result.append(cp) result.append(cp)
} }
return result return result
} }
if #available(SwiftStdlib 5.7, *) { if #available(SwiftStdlib 5.9, *) {
StringWordBreaking.test("word breaking foreign") { StringWordBreaking.test("word breaking foreign") {
for wordBreakTest in wordBreakTests { for wordBreakTest in wordBreakTests {
let foreignTest = NonContiguousNSString( let foreignTest = NonContiguousNSString(
getUTF16Array(from: wordBreakTest.0) getUTF16Array(from: wordBreakTest.0)
) )
let test = foreignTest as String let test = foreignTest as String
expectTrue(test._guts._isForeign()) expectTrue(test._guts._isForeign())
expectEqual( expectEqual(
wordBreakTest.1, wordBreakTest.1,
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)