| 448 | |
| 449 | #[test] |
| 450 | fn test_extract_function() { |
| 451 | let mut parser = PythonParser::new(); |
| 452 | let source = r#" |
| 453 | def greet(name: str) -> str: |
| 454 | return f"Hello, {name}!" |
| 455 | "#; |
| 456 | let entities = parser.extract(source, "main.py"); |
| 457 | assert!(!entities.is_empty()); |
| 458 | let greet = entities.iter().find(|e| e.name == "greet").unwrap(); |
| 459 | assert_eq!(greet.kind, EntityKind::Function); |
| 460 | assert!(greet.exported); |
| 461 | assert!(greet.signature.as_ref().unwrap().contains("def greet")); |
| 462 | } |
| 463 | |
| 464 | #[test] |
| 465 | fn test_extract_async_function() { |