| 673 | |
| 674 | #[test] |
| 675 | fn test_extract_function() { |
| 676 | let mut parser = SwiftParser::new(); |
| 677 | let source = r#" |
| 678 | func greet(name: String) -> String { |
| 679 | return "Hello, \(name)!" |
| 680 | } |
| 681 | "#; |
| 682 | let entities = parser.extract(source, "main.swift"); |
| 683 | assert!(!entities.is_empty()); |
| 684 | let greet = entities.iter().find(|e| e.name == "greet").unwrap(); |
| 685 | assert_eq!(greet.kind, EntityKind::Function); |
| 686 | assert!(greet.exported); |
| 687 | assert!( |
| 688 | greet.signature.as_ref().unwrap().contains("func greet"), |
| 689 | "Signature: {:?}", |
| 690 | greet.signature |
| 691 | ); |
| 692 | } |
| 693 | |
| 694 | #[test] |
| 695 | fn test_extract_class() { |