Skip to content

Commit 30700ec

Browse files
Add test for invalid generate_rust_signals call
The test coverage now fails on the error case of generate_rust_signals, which is likely due to changes in coverage instrumentation. Adding a corresponding test should fix it
1 parent 2649827 commit 30700ec

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

crates/cxx-qt-gen/src/generator/rust/signals.rs

+26
Original file line numberDiff line numberDiff line change
@@ -882,4 +882,30 @@ mod tests {
882882

883883
common_asserts(&generated.cxx_mod_contents, &generated.cxx_qt_mod_contents);
884884
}
885+
886+
#[test]
887+
fn test_invalid_type_name() {
888+
let method: ForeignItemFn = parse_quote! {
889+
fn ready(self: Pin<&mut MyObject>, param: &DoesNotExist);
890+
};
891+
let mock = ParsedSignal::mock(&method);
892+
let qsignal = ParsedSignal {
893+
method_fields: MethodFields {
894+
name: Name::new(format_ident!("ready")),
895+
..mock.method_fields
896+
},
897+
..mock
898+
};
899+
let type_names = TypeNames::mock();
900+
901+
let qobject_name = type_names.lookup(&qsignal.qobject_ident).unwrap().clone();
902+
let generated = generate_rust_signal(
903+
&qsignal,
904+
&qobject_name,
905+
&type_names,
906+
Some(quote! { unsafe }),
907+
);
908+
909+
assert!(generated.is_err());
910+
}
885911
}

0 commit comments

Comments
 (0)