Adding tests, fixing older tests.
diff --git a/gen/lib/src/lib.rs b/gen/lib/src/lib.rs
index ba125d9..de76d80 100644
--- a/gen/lib/src/lib.rs
+++ b/gen/lib/src/lib.rs
@@ -8,10 +8,39 @@
 use crate::gen::Opt;
 use proc_macro2::TokenStream;
 
-pub use crate::gen::{Error, Result, GeneratedCode};
+pub use crate::gen::{Error, GeneratedCode, Result};
 
 /// Generate C++ bindings code from a Rust token stream. This should be a Rust
 /// token stream which somewhere contains a `#[cxx::bridge] mod {}`.
 pub fn generate_header_and_cc(rust_source: TokenStream) -> Result<GeneratedCode> {
     gen::do_generate_from_tokens(rust_source, Opt::default())
 }
+
+#[cfg(test)]
+mod test {
+    use quote::quote;
+
+    #[test]
+    fn test_positive() {
+        let rs = quote! {
+            #[cxx::bridge]
+            mod ffi {
+                extern "C" {
+                    fn in_C();
+                }
+                extern "Rust" {
+                    fn in_rs();
+                }
+            }
+        };
+        let code = crate::generate_header_and_cc(rs).unwrap();
+        assert!(code.cxx.len() > 0);
+        assert!(code.header.len() > 0);
+    }
+
+    #[test]
+    fn test_negative() {
+        let rs = quote! {};
+        assert!(crate::generate_header_and_cc(rs).is_err())
+    }
+}