tesseract_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5use leptonica_sys::*;
6
7include!(concat!(env!("OUT_DIR"), "/capi_bindings.rs"));
8include!(concat!(env!("OUT_DIR"), "/public_types_bindings.rs"));
9
10#[cfg(test)]
11mod tests {
12    use super::*;
13    use leptonica_sys::{pixFreeData, pixRead};
14    use std::ffi::CStr;
15    use std::ptr;
16
17    #[test]
18    fn ocr() {
19        unsafe {
20            let cube = TessBaseAPICreate();
21            TessBaseAPIInit3(cube, ptr::null(), b"eng\0".as_ptr().cast());
22            let image = pixRead(b"img.png\0".as_ptr().cast());
23            TessBaseAPISetImage2(cube, image);
24            TessBaseAPIRecognize(cube, ptr::null_mut());
25            let text = TessBaseAPIGetUTF8Text(cube);
26            assert_eq!(
27                CStr::from_ptr(text).to_str(),
28                Ok(include_str!("../img.txt"))
29            );
30            TessDeleteText(text);
31            pixFreeData(image);
32            TessBaseAPIDelete(cube);
33        }
34    }
35
36    #[test]
37    #[allow(path_statements)]
38    fn defined_constants() {
39        kMinCredibleResolution;
40        kMaxCredibleResolution;
41    }
42}