Skip to content

Commit 23bed31

Browse files
committed
[test] test UnsafeMutableBufferPointer.initialize(from: Slice<_>)
1 parent b14f2b9 commit 23bed31

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

validation-test/stdlib/UnsafeBufferPointer.swift.gyb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,22 @@ UnsafeMutableBufferPointerTestSuite.test("withContiguous(Mutable)StorageIfAvaila
361361
expectEqual(result1, result2)
362362
}
363363

364+
UnsafeMutableBufferPointerTestSuite.test("initialize(from: Slice)") {
365+
let o = 91
366+
let c = 1_000
367+
let a = Slice(base: Array(0..<c), bounds: o..<c)
368+
369+
let buffer = UnsafeMutableBufferPointer<Int>.allocate(capacity: c-o)
370+
defer { buffer.deallocate() }
371+
372+
var (iterator, copied) = buffer.initialize(from: a)
373+
expectEqual(iterator.next(), nil)
374+
expectEqual(copied, c-o)
375+
376+
let t = buffer.indices.randomElement()!
377+
expectEqual(a[t+o], buffer[t])
378+
}
379+
364380
UnsafeMutableBufferPointerTestSuite.test("Slice.withContiguousStorageIfAvailable") {
365381
guard #available(macOS 10.16, iOS 14.0, watchOS 7.0, tvOS 14.0, *) else {
366382
return

0 commit comments

Comments
 (0)