aboutsummaryrefslogtreecommitdiff
path: root/gen/lib/tests/test.rs
blob: 478daeec06bc0768ae4a172a7a2100fcf24e6586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use cxx_gen::Opt;
use quote::quote;

#[test]
fn test_positive() {
    let rs = quote! {
        #[cxx::bridge]
        mod ffi {
            unsafe extern "C++" {
                fn in_C();
            }
            extern "Rust" {
                fn in_rs();
            }
        }
    };
    let opt = Opt::default();
    let code = cxx_gen::generate_header_and_cc(rs, &opt).unwrap();
    assert!(!code.header.is_empty());
    assert!(!code.implementation.is_empty());
}

#[test]
fn test_negative() {
    let rs = quote! {};
    let opt = Opt::default();
    assert!(cxx_gen::generate_header_and_cc(rs, &opt).is_err());
}