| 1335 | |
| 1336 | #[test] |
| 1337 | fn test_extract_enum() { |
| 1338 | let mut extractor = TypeScriptExtractor::new(); |
| 1339 | let source = r#" |
| 1340 | export enum UserRole { |
| 1341 | Admin = 'admin', |
| 1342 | User = 'user', |
| 1343 | Guest = 'guest', |
| 1344 | } |
| 1345 | |
| 1346 | enum Status { |
| 1347 | Pending, |
| 1348 | Active, |
| 1349 | Inactive, |
| 1350 | } |
| 1351 | "#; |
| 1352 | let entities = extractor.extract(source, "test.ts"); |
| 1353 | |
| 1354 | assert_eq!(entities.len(), 2); |
| 1355 | |
| 1356 | let user_role = entities.iter().find(|e| e.name == "UserRole").unwrap(); |
| 1357 | assert_eq!(user_role.kind, EntityKind::Enum); |
| 1358 | assert!(user_role.exported); |
| 1359 | } |
| 1360 | |
| 1361 | #[test] |
| 1362 | fn test_extract_multiple_entities() { |