Fix signal @convention(c) missing -> Void return type
This commit is contained in:
parent
27edea19af
commit
39f0d97269
2 changed files with 21 additions and 2 deletions
|
|
@ -20,3 +20,22 @@ func testSignalWithParams() {
|
|||
#expect(connection.contains("_: Int32"))
|
||||
#expect(connection.contains("g_signal_connect_data"))
|
||||
}
|
||||
|
||||
@Test("Non-inhibit signal generates correct @convention(c) with -> Void")
|
||||
func testNonInhibitSignalConnection() {
|
||||
let signal = Signal(name: "clicked", parameters: [], returnType: .void)
|
||||
let code = CodeGenerator.generateSignalConnection(signal: signal, inhibit: false)
|
||||
#expect(code.contains("-> Void"))
|
||||
#expect(code.contains("@convention(c) (UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> Void"))
|
||||
}
|
||||
|
||||
@Test("Parameterized non-inhibit signal generates correct @convention(c)")
|
||||
func testParameterizedNonInhibitSignalConnection() {
|
||||
let signal = Signal(name: "size-allocate", parameters: [
|
||||
Parameter(name: "width", type: .int32),
|
||||
Parameter(name: "height", type: .int32),
|
||||
], returnType: .void)
|
||||
let code = CodeGenerator.generateSignalConnection(signal: signal, inhibit: false)
|
||||
#expect(code.contains("-> Void"))
|
||||
#expect(code.contains("@convention(c) (UnsafeMutableRawPointer?, UnsafeMutableRawPointer?, UnsafeMutableRawPointer?) -> Void"))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue