()
| 716 | |
| 717 | #[test] |
| 718 | fn test_extract_enum() { |
| 719 | let mut parser = RustParser::new(); |
| 720 | let source = r#" |
| 721 | pub enum Status { |
| 722 | Active, |
| 723 | Inactive, |
| 724 | Pending { reason: String }, |
| 725 | } |
| 726 | "#; |
| 727 | let entities = parser.extract(source, "src/types.rs"); |
| 728 | let status = entities.iter().find(|e| e.name == "Status").unwrap(); |
| 729 | assert_eq!(status.kind, EntityKind::Enum); |
| 730 | assert!(status.exported); |
| 731 | } |
| 732 | |
| 733 | #[test] |
| 734 | fn test_extract_trait() { |