xref: /third_party/rust/crates/cxx/gen/lib/tests/test.rs
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/rust/crates/cxx/gen/lib/tests/
133d722a9Sopenharmony_ciuse cxx_gen::Opt;
233d722a9Sopenharmony_ciuse quote::quote;
333d722a9Sopenharmony_ci
433d722a9Sopenharmony_ci#[test]
533d722a9Sopenharmony_cifn test_positive() {
633d722a9Sopenharmony_ci    let rs = quote! {
733d722a9Sopenharmony_ci        #[cxx::bridge]
833d722a9Sopenharmony_ci        mod ffi {
933d722a9Sopenharmony_ci            unsafe extern "C++" {
1033d722a9Sopenharmony_ci                fn in_C();
1133d722a9Sopenharmony_ci            }
1233d722a9Sopenharmony_ci            extern "Rust" {
1333d722a9Sopenharmony_ci                fn in_rs();
1433d722a9Sopenharmony_ci            }
1533d722a9Sopenharmony_ci        }
1633d722a9Sopenharmony_ci    };
1733d722a9Sopenharmony_ci    let opt = Opt::default();
1833d722a9Sopenharmony_ci    let code = cxx_gen::generate_header_and_cc(rs, &opt).unwrap();
1933d722a9Sopenharmony_ci    assert!(!code.header.is_empty());
2033d722a9Sopenharmony_ci    assert!(!code.implementation.is_empty());
2133d722a9Sopenharmony_ci}
2233d722a9Sopenharmony_ci
2333d722a9Sopenharmony_ci#[test]
2433d722a9Sopenharmony_cifn test_negative() {
2533d722a9Sopenharmony_ci    let rs = quote! {};
2633d722a9Sopenharmony_ci    let opt = Opt::default();
2733d722a9Sopenharmony_ci    assert!(cxx_gen::generate_header_and_cc(rs, &opt).is_err())
2833d722a9Sopenharmony_ci}
29

Indexes created Thu Nov 07 10:32:03 CST 2024