File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
test/Interop/Cxx/stdlib/overlay Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,12 @@ extension std.string: ExpressibleByStringLiteral {
2525 }
2626}
2727
28+ extension std . string : CustomDebugStringConvertible {
29+ public var debugDescription : String {
30+ return " std.string( \( String ( cxxString: self ) ) ) "
31+ }
32+ }
33+
2834extension String {
2935 public init ( cxxString: std . string ) {
3036 let buffer = UnsafeBufferPointer < CChar > (
Original file line number Diff line number Diff line change @@ -37,6 +37,21 @@ StdStringOverlayTestSuite.test("std::string <=> Swift.String") {
3737 expectEqual ( swift6, " xyz \0 abc " )
3838}
3939
40+ StdStringOverlayTestSuite . test ( " std::string as Swift.CustomDebugStringConvertible " ) {
41+ let cxx1 = std. string ( )
42+ expectEqual ( cxx1. debugDescription, " std.string() " )
43+
44+ let cxx2 = std. string ( " something123 " )
45+ expectEqual ( cxx2. debugDescription, " std.string(something123) " )
46+
47+ let bytes : [ UInt8 ] = [ 0xE1 , 0xC1 , 0xAC ]
48+ var cxx3 = std. string ( )
49+ for byte in bytes {
50+ cxx3. push_back ( CChar ( bitPattern: byte) )
51+ }
52+ expectEqual ( cxx3. debugDescription, " std.string(���) " )
53+ }
54+
4055StdStringOverlayTestSuite . test ( " std::string as Swift.Sequence " ) {
4156 let cxx1 = std. string ( )
4257 var iterated = false
You can’t perform that action at this time.
0 commit comments