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}