| 932 | |
| 933 | #[test] |
| 934 | fn test_extract_include() { |
| 935 | let mut parser = CppParser::new(); |
| 936 | let source = r#" |
| 937 | #include <iostream> |
| 938 | #include "myheader.h" |
| 939 | "#; |
| 940 | let entities = parser.extract(source, "main.cpp"); |
| 941 | let includes: Vec<_> = entities |
| 942 | .iter() |
| 943 | .filter(|e| e.kind == EntityKind::Import) |
| 944 | .collect(); |
| 945 | assert!( |
| 946 | includes.len() >= 2, |
| 947 | "Should find at least 2 includes, got: {:?}", |
| 948 | includes.iter().map(|e| &e.name).collect::<Vec<_>>() |
| 949 | ); |
| 950 | assert!( |
| 951 | includes.iter().any(|e| e.name == "iostream"), |
| 952 | "Should find iostream include" |
| 953 | ); |
| 954 | assert!( |
| 955 | includes.iter().any(|e| e.name == "myheader.h"), |
| 956 | "Should find myheader.h include" |
| 957 | ); |
| 958 | } |
| 959 | |
| 960 | #[test] |
| 961 | fn test_extract_define() { |