Skip to content

Commit fa9c80a

Browse files
committed
[test] round out testing for String.init?(validating:as:)
1 parent b869a3c commit fa9c80a

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

stdlib/public/core/StringCreate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ extension String {
339339
let copy: UnsafeMutableBufferPointer<UInt8>
340340
copy = UnsafeMutableBufferPointer.allocate(capacity: newCapacity)
341341
let copied = copy.moveInitialize(
342-
fromContentsOf: buffer.prefix(through: written)
342+
fromContentsOf: buffer.prefix(upTo: written)
343343
)
344344
buffer.deallocate()
345345
buffer = copy

test/stdlib/StringCreate.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,12 +279,16 @@ StringCreateTests.test("Validating.utf32")
279279
index.map { modified[$0] = .max }
280280
return modified
281281
}()
282+
let s4 = SimpleString.emoji.rawValue
283+
let i4 = s4.unicodeScalars.map(\.value)
282284

283285
expectEqual(String(validating: i1, as: UTF32.self), s1)
284286
expectEqual(String(validating: i2, as: UTF32.self), s2)
285287
expectNil(String(validating: i3, as: UTF32.self))
288+
expectEqual(String(validating: i4, as: UTF32.self), s4)
286289

287290
expectEqual(String(validating: AnySequence(i1), as: UTF32.self), s1)
288291
expectEqual(String(validating: AnySequence(i2), as: UTF32.self), s2)
289292
expectNil(String(validating: AnyCollection(i3), as: UTF32.self))
293+
expectEqual(String(validating: AnySequence(i4), as: UTF32.self), s4)
290294
}

0 commit comments

Comments
 (0)