Extracted from gtk-swift monorepo. Previous history contains 38 commits across the full Phase 1 development including GIR XML parsing, IR model, analysis engine, code generation, CLI, plugins, and documentation.
22 lines
930 B
Swift
22 lines
930 B
Swift
import Testing
|
|
@testable import SwiftGtkGenCore
|
|
|
|
@Test("Signal with no parameters generates connection")
|
|
func testSignalNoParams() {
|
|
let signal = Signal(name: "activate", parameters: [], returnType: .void)
|
|
let connection = CodeGenerator.generateSignalConnection(signal: signal)
|
|
#expect(connection.contains("g_signal_connect_data"))
|
|
#expect(connection.contains("connectActivate"))
|
|
#expect(connection.contains("() -> Void"))
|
|
}
|
|
|
|
@Test("Signal with parameters includes them in handler")
|
|
func testSignalWithParams() {
|
|
let signal = Signal(name: "value-changed", parameters: [
|
|
Parameter(name: "value", type: .int32, transferOwnership: .none)
|
|
], returnType: .void)
|
|
let connection = CodeGenerator.generateSignalConnection(signal: signal)
|
|
#expect(connection.contains("connectValueChanged"))
|
|
#expect(connection.contains("_: Int32"))
|
|
#expect(connection.contains("g_signal_connect_data"))
|
|
}
|