MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / test_extract_interface

Function test_extract_interface

atomic-semantic/src/parser.rs:1282–1311  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1280
1281 #[test]
1282 fn test_extract_interface() {
1283 let mut extractor = TypeScriptExtractor::new();
1284 let source = r#"
1285export interface AuthConfig {
1286 clientId: string;
1287 clientSecret: string;
1288 redirectUri: string;
1289}
1290
1291interface BaseEntity {
1292 id: string;
1293 createdAt: Date;
1294}
1295
1296export interface User extends BaseEntity {
1297 name: string;
1298 email: string;
1299}
1300"#;
1301 let entities = extractor.extract(source, "test.ts");
1302
1303 assert_eq!(entities.len(), 3);
1304
1305 let auth_config = entities.iter().find(|e| e.name == "AuthConfig").unwrap();
1306 assert_eq!(auth_config.kind, EntityKind::Interface);
1307 assert!(auth_config.exported);
1308
1309 let user = entities.iter().find(|e| e.name == "User").unwrap();
1310 assert!(user.signature.as_ref().unwrap().contains("extends"));
1311 }
1312
1313 #[test]
1314 fn test_extract_type_alias() {

Callers

nothing calls this directly

Calls 3

extractMethod · 0.45
unwrapMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected