()
| 438 | |
| 439 | #[test] |
| 440 | fn abstract_method_implementation() { |
| 441 | let backend = create_test_backend(); |
| 442 | let content = r#"<?php |
| 443 | abstract class Shape { |
| 444 | abstract public function area(): float; |
| 445 | abstract public function perimeter(): float; |
| 446 | } |
| 447 | |
| 448 | class Circle extends Shape { |
| 449 | public function area(): float { return 3.14; } |
| 450 | public function perimeter(): float { return 6.28; } |
| 451 | } |
| 452 | "#; |
| 453 | let uri = "file:///test.php"; |
| 454 | let lenses = get_code_lenses(&backend, uri, content); |
| 455 | let titles = lens_titles(&lenses); |
| 456 | |
| 457 | assert_eq!(titles.len(), 2); |
| 458 | assert!(titles.contains(&"↑ Shape::area")); |
| 459 | assert!(titles.contains(&"↑ Shape::perimeter")); |
| 460 | } |
| 461 | |
| 462 | // ─── Static Method Override ───────────────────────────────────────────────── |
| 463 |
nothing calls this directly
no test coverage detected