diff options
| author | Jonas Schievink <[email protected]> | 2021-04-15 17:32:19 +0100 |
|---|---|---|
| committer | Jonas Schievink <[email protected]> | 2021-04-15 17:32:19 +0100 |
| commit | 6acd0ac51a1843bbbcd4ff85e8b62b654b9f383a (patch) | |
| tree | febe82cde2f958138f1cc397b1df3652f4912df3 /crates/hir_def | |
| parent | 4dafc57019a54fa7778fc8a9c844de42ff205175 (diff) | |
Make find_path tests adhere to style guide
Diffstat (limited to 'crates/hir_def')
| -rw-r--r-- | crates/hir_def/src/find_path.rs | 587 |
1 files changed, 327 insertions, 260 deletions
diff --git a/crates/hir_def/src/find_path.rs b/crates/hir_def/src/find_path.rs index 109d3552f..317ca86ec 100644 --- a/crates/hir_def/src/find_path.rs +++ b/crates/hir_def/src/find_path.rs | |||
| @@ -425,106 +425,145 @@ mod tests { | |||
| 425 | 425 | ||
| 426 | #[test] | 426 | #[test] |
| 427 | fn same_module() { | 427 | fn same_module() { |
| 428 | let code = r#" | 428 | check_found_path( |
| 429 | //- /main.rs | 429 | r#" |
| 430 | struct S; | 430 | //- /main.rs |
| 431 | $0 | 431 | struct S; |
| 432 | "#; | 432 | $0 |
| 433 | check_found_path(code, "S", "S", "crate::S", "self::S"); | 433 | "#, |
| 434 | "S", | ||
| 435 | "S", | ||
| 436 | "crate::S", | ||
| 437 | "self::S", | ||
| 438 | ); | ||
| 434 | } | 439 | } |
| 435 | 440 | ||
| 436 | #[test] | 441 | #[test] |
| 437 | fn enum_variant() { | 442 | fn enum_variant() { |
| 438 | let code = r#" | 443 | check_found_path( |
| 439 | //- /main.rs | 444 | r#" |
| 440 | enum E { A } | 445 | //- /main.rs |
| 441 | $0 | 446 | enum E { A } |
| 442 | "#; | 447 | $0 |
| 443 | check_found_path(code, "E::A", "E::A", "E::A", "E::A"); | 448 | "#, |
| 449 | "E::A", | ||
| 450 | "E::A", | ||
| 451 | "E::A", | ||
| 452 | "E::A", | ||
| 453 | ); | ||
| 444 | } | 454 | } |
| 445 | 455 | ||
| 446 | #[test] | 456 | #[test] |
| 447 | fn sub_module() { | 457 | fn sub_module() { |
| 448 | let code = r#" | 458 | check_found_path( |
| 449 | //- /main.rs | 459 | r#" |
| 450 | mod foo { | 460 | //- /main.rs |
| 451 | pub struct S; | 461 | mod foo { |
| 452 | } | 462 | pub struct S; |
| 453 | $0 | 463 | } |
| 454 | "#; | 464 | $0 |
| 455 | check_found_path(code, "foo::S", "foo::S", "crate::foo::S", "self::foo::S"); | 465 | "#, |
| 466 | "foo::S", | ||
| 467 | "foo::S", | ||
| 468 | "crate::foo::S", | ||
| 469 | "self::foo::S", | ||
| 470 | ); | ||
| 456 | } | 471 | } |
| 457 | 472 | ||
| 458 | #[test] | 473 | #[test] |
| 459 | fn super_module() { | 474 | fn super_module() { |
| 460 | let code = r#" | 475 | check_found_path( |
| 461 | //- /main.rs | 476 | r#" |
| 462 | mod foo; | 477 | //- /main.rs |
| 463 | //- /foo.rs | 478 | mod foo; |
| 464 | mod bar; | 479 | //- /foo.rs |
| 465 | struct S; | 480 | mod bar; |
| 466 | //- /foo/bar.rs | 481 | struct S; |
| 467 | $0 | 482 | //- /foo/bar.rs |
| 468 | "#; | 483 | $0 |
| 469 | check_found_path(code, "super::S", "super::S", "crate::foo::S", "super::S"); | 484 | "#, |
| 485 | "super::S", | ||
| 486 | "super::S", | ||
| 487 | "crate::foo::S", | ||
| 488 | "super::S", | ||
| 489 | ); | ||
| 470 | } | 490 | } |
| 471 | 491 | ||
| 472 | #[test] | 492 | #[test] |
| 473 | fn self_module() { | 493 | fn self_module() { |
| 474 | let code = r#" | 494 | check_found_path( |
| 475 | //- /main.rs | 495 | r#" |
| 476 | mod foo; | 496 | //- /main.rs |
| 477 | //- /foo.rs | 497 | mod foo; |
| 478 | $0 | 498 | //- /foo.rs |
| 479 | "#; | 499 | $0 |
| 480 | check_found_path(code, "self", "self", "crate::foo", "self"); | 500 | "#, |
| 501 | "self", | ||
| 502 | "self", | ||
| 503 | "crate::foo", | ||
| 504 | "self", | ||
| 505 | ); | ||
| 481 | } | 506 | } |
| 482 | 507 | ||
| 483 | #[test] | 508 | #[test] |
| 484 | fn crate_root() { | 509 | fn crate_root() { |
| 485 | let code = r#" | 510 | check_found_path( |
| 486 | //- /main.rs | 511 | r#" |
| 487 | mod foo; | 512 | //- /main.rs |
| 488 | //- /foo.rs | 513 | mod foo; |
| 489 | $0 | 514 | //- /foo.rs |
| 490 | "#; | 515 | $0 |
| 491 | check_found_path(code, "crate", "crate", "crate", "crate"); | 516 | "#, |
| 517 | "crate", | ||
| 518 | "crate", | ||
| 519 | "crate", | ||
| 520 | "crate", | ||
| 521 | ); | ||
| 492 | } | 522 | } |
| 493 | 523 | ||
| 494 | #[test] | 524 | #[test] |
| 495 | fn same_crate() { | 525 | fn same_crate() { |
| 496 | let code = r#" | 526 | check_found_path( |
| 497 | //- /main.rs | 527 | r#" |
| 498 | mod foo; | 528 | //- /main.rs |
| 499 | struct S; | 529 | mod foo; |
| 500 | //- /foo.rs | 530 | struct S; |
| 501 | $0 | 531 | //- /foo.rs |
| 502 | "#; | 532 | $0 |
| 503 | check_found_path(code, "crate::S", "crate::S", "crate::S", "crate::S"); | 533 | "#, |
| 534 | "crate::S", | ||
| 535 | "crate::S", | ||
| 536 | "crate::S", | ||
| 537 | "crate::S", | ||
| 538 | ); | ||
| 504 | } | 539 | } |
| 505 | 540 | ||
| 506 | #[test] | 541 | #[test] |
| 507 | fn different_crate() { | 542 | fn different_crate() { |
| 508 | let code = r#" | 543 | check_found_path( |
| 509 | //- /main.rs crate:main deps:std | 544 | r#" |
| 510 | $0 | 545 | //- /main.rs crate:main deps:std |
| 511 | //- /std.rs crate:std | 546 | $0 |
| 512 | pub struct S; | 547 | //- /std.rs crate:std |
| 513 | "#; | 548 | pub struct S; |
| 514 | check_found_path(code, "std::S", "std::S", "std::S", "std::S"); | 549 | "#, |
| 550 | "std::S", | ||
| 551 | "std::S", | ||
| 552 | "std::S", | ||
| 553 | "std::S", | ||
| 554 | ); | ||
| 515 | } | 555 | } |
| 516 | 556 | ||
| 517 | #[test] | 557 | #[test] |
| 518 | fn different_crate_renamed() { | 558 | fn different_crate_renamed() { |
| 519 | let code = r#" | ||
| 520 | //- /main.rs crate:main deps:std | ||
| 521 | extern crate std as std_renamed; | ||
| 522 | $0 | ||
| 523 | //- /std.rs crate:std | ||
| 524 | pub struct S; | ||
| 525 | "#; | ||
| 526 | check_found_path( | 559 | check_found_path( |
| 527 | code, | 560 | r#" |
| 561 | //- /main.rs crate:main deps:std | ||
| 562 | extern crate std as std_renamed; | ||
| 563 | $0 | ||
| 564 | //- /std.rs crate:std | ||
| 565 | pub struct S; | ||
| 566 | "#, | ||
| 528 | "std_renamed::S", | 567 | "std_renamed::S", |
| 529 | "std_renamed::S", | 568 | "std_renamed::S", |
| 530 | "std_renamed::S", | 569 | "std_renamed::S", |
| @@ -537,41 +576,38 @@ mod tests { | |||
| 537 | cov_mark::check!(partially_imported); | 576 | cov_mark::check!(partially_imported); |
| 538 | // Tests that short paths are used even for external items, when parts of the path are | 577 | // Tests that short paths are used even for external items, when parts of the path are |
| 539 | // already in scope. | 578 | // already in scope. |
| 540 | let code = r#" | 579 | check_found_path( |
| 541 | //- /main.rs crate:main deps:syntax | 580 | r#" |
| 581 | //- /main.rs crate:main deps:syntax | ||
| 542 | 582 | ||
| 543 | use syntax::ast; | 583 | use syntax::ast; |
| 544 | $0 | 584 | $0 |
| 545 | 585 | ||
| 546 | //- /lib.rs crate:syntax | 586 | //- /lib.rs crate:syntax |
| 547 | pub mod ast { | 587 | pub mod ast { |
| 548 | pub enum ModuleItem { | 588 | pub enum ModuleItem { |
| 549 | A, B, C, | 589 | A, B, C, |
| 550 | } | 590 | } |
| 551 | } | 591 | } |
| 552 | "#; | 592 | "#, |
| 553 | check_found_path( | ||
| 554 | code, | ||
| 555 | "ast::ModuleItem", | 593 | "ast::ModuleItem", |
| 556 | "syntax::ast::ModuleItem", | 594 | "syntax::ast::ModuleItem", |
| 557 | "syntax::ast::ModuleItem", | 595 | "syntax::ast::ModuleItem", |
| 558 | "syntax::ast::ModuleItem", | 596 | "syntax::ast::ModuleItem", |
| 559 | ); | 597 | ); |
| 560 | 598 | ||
| 561 | let code = r#" | ||
| 562 | //- /main.rs crate:main deps:syntax | ||
| 563 | |||
| 564 | $0 | ||
| 565 | |||
| 566 | //- /lib.rs crate:syntax | ||
| 567 | pub mod ast { | ||
| 568 | pub enum ModuleItem { | ||
| 569 | A, B, C, | ||
| 570 | } | ||
| 571 | } | ||
| 572 | "#; | ||
| 573 | check_found_path( | 599 | check_found_path( |
| 574 | code, | 600 | r#" |
| 601 | //- /main.rs crate:main deps:syntax | ||
| 602 | $0 | ||
| 603 | |||
| 604 | //- /lib.rs crate:syntax | ||
| 605 | pub mod ast { | ||
| 606 | pub enum ModuleItem { | ||
| 607 | A, B, C, | ||
| 608 | } | ||
| 609 | } | ||
| 610 | "#, | ||
| 575 | "syntax::ast::ModuleItem", | 611 | "syntax::ast::ModuleItem", |
| 576 | "syntax::ast::ModuleItem", | 612 | "syntax::ast::ModuleItem", |
| 577 | "syntax::ast::ModuleItem", | 613 | "syntax::ast::ModuleItem", |
| @@ -581,68 +617,88 @@ mod tests { | |||
| 581 | 617 | ||
| 582 | #[test] | 618 | #[test] |
| 583 | fn same_crate_reexport() { | 619 | fn same_crate_reexport() { |
| 584 | let code = r#" | 620 | check_found_path( |
| 585 | //- /main.rs | 621 | r#" |
| 586 | mod bar { | 622 | //- /main.rs |
| 587 | mod foo { pub(super) struct S; } | 623 | mod bar { |
| 588 | pub(crate) use foo::*; | 624 | mod foo { pub(super) struct S; } |
| 589 | } | 625 | pub(crate) use foo::*; |
| 590 | $0 | 626 | } |
| 591 | "#; | 627 | $0 |
| 592 | check_found_path(code, "bar::S", "bar::S", "crate::bar::S", "self::bar::S"); | 628 | "#, |
| 629 | "bar::S", | ||
| 630 | "bar::S", | ||
| 631 | "crate::bar::S", | ||
| 632 | "self::bar::S", | ||
| 633 | ); | ||
| 593 | } | 634 | } |
| 594 | 635 | ||
| 595 | #[test] | 636 | #[test] |
| 596 | fn same_crate_reexport_rename() { | 637 | fn same_crate_reexport_rename() { |
| 597 | let code = r#" | 638 | check_found_path( |
| 598 | //- /main.rs | 639 | r#" |
| 599 | mod bar { | 640 | //- /main.rs |
| 600 | mod foo { pub(super) struct S; } | 641 | mod bar { |
| 601 | pub(crate) use foo::S as U; | 642 | mod foo { pub(super) struct S; } |
| 602 | } | 643 | pub(crate) use foo::S as U; |
| 603 | $0 | 644 | } |
| 604 | "#; | 645 | $0 |
| 605 | check_found_path(code, "bar::U", "bar::U", "crate::bar::U", "self::bar::U"); | 646 | "#, |
| 647 | "bar::U", | ||
| 648 | "bar::U", | ||
| 649 | "crate::bar::U", | ||
| 650 | "self::bar::U", | ||
| 651 | ); | ||
| 606 | } | 652 | } |
| 607 | 653 | ||
| 608 | #[test] | 654 | #[test] |
| 609 | fn different_crate_reexport() { | 655 | fn different_crate_reexport() { |
| 610 | let code = r#" | 656 | check_found_path( |
| 611 | //- /main.rs crate:main deps:std | 657 | r#" |
| 612 | $0 | 658 | //- /main.rs crate:main deps:std |
| 613 | //- /std.rs crate:std deps:core | 659 | $0 |
| 614 | pub use core::S; | 660 | //- /std.rs crate:std deps:core |
| 615 | //- /core.rs crate:core | 661 | pub use core::S; |
| 616 | pub struct S; | 662 | //- /core.rs crate:core |
| 617 | "#; | 663 | pub struct S; |
| 618 | check_found_path(code, "std::S", "std::S", "std::S", "std::S"); | 664 | "#, |
| 665 | "std::S", | ||
| 666 | "std::S", | ||
| 667 | "std::S", | ||
| 668 | "std::S", | ||
| 669 | ); | ||
| 619 | } | 670 | } |
| 620 | 671 | ||
| 621 | #[test] | 672 | #[test] |
| 622 | fn prelude() { | 673 | fn prelude() { |
| 623 | let code = r#" | 674 | check_found_path( |
| 624 | //- /main.rs crate:main deps:std | 675 | r#" |
| 625 | $0 | 676 | //- /main.rs crate:main deps:std |
| 626 | //- /std.rs crate:std | 677 | $0 |
| 627 | pub mod prelude { pub struct S; } | 678 | //- /std.rs crate:std |
| 628 | #[prelude_import] | 679 | pub mod prelude { pub struct S; } |
| 629 | pub use prelude::*; | 680 | #[prelude_import] |
| 630 | "#; | 681 | pub use prelude::*; |
| 631 | check_found_path(code, "S", "S", "S", "S"); | 682 | "#, |
| 683 | "S", | ||
| 684 | "S", | ||
| 685 | "S", | ||
| 686 | "S", | ||
| 687 | ); | ||
| 632 | } | 688 | } |
| 633 | 689 | ||
| 634 | #[test] | 690 | #[test] |
| 635 | fn enum_variant_from_prelude() { | 691 | fn enum_variant_from_prelude() { |
| 636 | let code = r#" | 692 | let code = r#" |
| 637 | //- /main.rs crate:main deps:std | 693 | //- /main.rs crate:main deps:std |
| 638 | $0 | 694 | $0 |
| 639 | //- /std.rs crate:std | 695 | //- /std.rs crate:std |
| 640 | pub mod prelude { | 696 | pub mod prelude { |
| 641 | pub enum Option<T> { Some(T), None } | 697 | pub enum Option<T> { Some(T), None } |
| 642 | pub use Option::*; | 698 | pub use Option::*; |
| 643 | } | 699 | } |
| 644 | #[prelude_import] | 700 | #[prelude_import] |
| 645 | pub use prelude::*; | 701 | pub use prelude::*; |
| 646 | "#; | 702 | "#; |
| 647 | check_found_path(code, "None", "None", "None", "None"); | 703 | check_found_path(code, "None", "None", "None", "None"); |
| 648 | check_found_path(code, "Some", "Some", "Some", "Some"); | 704 | check_found_path(code, "Some", "Some", "Some", "Some"); |
| @@ -650,71 +706,85 @@ mod tests { | |||
| 650 | 706 | ||
| 651 | #[test] | 707 | #[test] |
| 652 | fn shortest_path() { | 708 | fn shortest_path() { |
| 653 | let code = r#" | 709 | check_found_path( |
| 654 | //- /main.rs | 710 | r#" |
| 655 | pub mod foo; | 711 | //- /main.rs |
| 656 | pub mod baz; | 712 | pub mod foo; |
| 657 | struct S; | 713 | pub mod baz; |
| 658 | $0 | 714 | struct S; |
| 659 | //- /foo.rs | 715 | $0 |
| 660 | pub mod bar { pub struct S; } | 716 | //- /foo.rs |
| 661 | //- /baz.rs | 717 | pub mod bar { pub struct S; } |
| 662 | pub use crate::foo::bar::S; | 718 | //- /baz.rs |
| 663 | "#; | 719 | pub use crate::foo::bar::S; |
| 664 | check_found_path(code, "baz::S", "baz::S", "crate::baz::S", "self::baz::S"); | 720 | "#, |
| 721 | "baz::S", | ||
| 722 | "baz::S", | ||
| 723 | "crate::baz::S", | ||
| 724 | "self::baz::S", | ||
| 725 | ); | ||
| 665 | } | 726 | } |
| 666 | 727 | ||
| 667 | #[test] | 728 | #[test] |
| 668 | fn discount_private_imports() { | 729 | fn discount_private_imports() { |
| 669 | let code = r#" | 730 | check_found_path( |
| 670 | //- /main.rs | 731 | r#" |
| 671 | mod foo; | 732 | //- /main.rs |
| 672 | pub mod bar { pub struct S; } | 733 | mod foo; |
| 673 | use bar::S; | 734 | pub mod bar { pub struct S; } |
| 674 | //- /foo.rs | 735 | use bar::S; |
| 675 | $0 | 736 | //- /foo.rs |
| 676 | "#; | 737 | $0 |
| 677 | // crate::S would be shorter, but using private imports seems wrong | 738 | "#, |
| 678 | check_found_path(code, "crate::bar::S", "crate::bar::S", "crate::bar::S", "crate::bar::S"); | 739 | // crate::S would be shorter, but using private imports seems wrong |
| 740 | "crate::bar::S", | ||
| 741 | "crate::bar::S", | ||
| 742 | "crate::bar::S", | ||
| 743 | "crate::bar::S", | ||
| 744 | ); | ||
| 679 | } | 745 | } |
| 680 | 746 | ||
| 681 | #[test] | 747 | #[test] |
| 682 | fn import_cycle() { | 748 | fn import_cycle() { |
| 683 | let code = r#" | 749 | check_found_path( |
| 684 | //- /main.rs | 750 | r#" |
| 685 | pub mod foo; | 751 | //- /main.rs |
| 686 | pub mod bar; | 752 | pub mod foo; |
| 687 | pub mod baz; | 753 | pub mod bar; |
| 688 | //- /bar.rs | 754 | pub mod baz; |
| 689 | $0 | 755 | //- /bar.rs |
| 690 | //- /foo.rs | 756 | $0 |
| 691 | pub use super::baz; | 757 | //- /foo.rs |
| 692 | pub struct S; | 758 | pub use super::baz; |
| 693 | //- /baz.rs | 759 | pub struct S; |
| 694 | pub use super::foo; | 760 | //- /baz.rs |
| 695 | "#; | 761 | pub use super::foo; |
| 696 | check_found_path(code, "crate::foo::S", "crate::foo::S", "crate::foo::S", "crate::foo::S"); | 762 | "#, |
| 763 | "crate::foo::S", | ||
| 764 | "crate::foo::S", | ||
| 765 | "crate::foo::S", | ||
| 766 | "crate::foo::S", | ||
| 767 | ); | ||
| 697 | } | 768 | } |
| 698 | 769 | ||
| 699 | #[test] | 770 | #[test] |
| 700 | fn prefer_std_paths_over_alloc() { | 771 | fn prefer_std_paths_over_alloc() { |
| 701 | cov_mark::check!(prefer_std_paths); | 772 | cov_mark::check!(prefer_std_paths); |
| 702 | let code = r#" | 773 | check_found_path( |
| 703 | //- /main.rs crate:main deps:alloc,std | 774 | r#" |
| 704 | $0 | 775 | //- /main.rs crate:main deps:alloc,std |
| 776 | $0 | ||
| 705 | 777 | ||
| 706 | //- /std.rs crate:std deps:alloc | 778 | //- /std.rs crate:std deps:alloc |
| 707 | pub mod sync { | 779 | pub mod sync { |
| 708 | pub use alloc::sync::Arc; | 780 | pub use alloc::sync::Arc; |
| 709 | } | 781 | } |
| 710 | 782 | ||
| 711 | //- /zzz.rs crate:alloc | 783 | //- /zzz.rs crate:alloc |
| 712 | pub mod sync { | 784 | pub mod sync { |
| 713 | pub struct Arc; | 785 | pub struct Arc; |
| 714 | } | 786 | } |
| 715 | "#; | 787 | "#, |
| 716 | check_found_path( | ||
| 717 | code, | ||
| 718 | "std::sync::Arc", | 788 | "std::sync::Arc", |
| 719 | "std::sync::Arc", | 789 | "std::sync::Arc", |
| 720 | "std::sync::Arc", | 790 | "std::sync::Arc", |
| @@ -725,26 +795,25 @@ mod tests { | |||
| 725 | #[test] | 795 | #[test] |
| 726 | fn prefer_core_paths_over_std() { | 796 | fn prefer_core_paths_over_std() { |
| 727 | cov_mark::check!(prefer_no_std_paths); | 797 | cov_mark::check!(prefer_no_std_paths); |
| 728 | let code = r#" | 798 | check_found_path( |
| 729 | //- /main.rs crate:main deps:core,std | 799 | r#" |
| 730 | #![no_std] | 800 | //- /main.rs crate:main deps:core,std |
| 801 | #![no_std] | ||
| 731 | 802 | ||
| 732 | $0 | 803 | $0 |
| 733 | 804 | ||
| 734 | //- /std.rs crate:std deps:core | 805 | //- /std.rs crate:std deps:core |
| 735 | 806 | ||
| 736 | pub mod fmt { | 807 | pub mod fmt { |
| 737 | pub use core::fmt::Error; | 808 | pub use core::fmt::Error; |
| 738 | } | 809 | } |
| 739 | 810 | ||
| 740 | //- /zzz.rs crate:core | 811 | //- /zzz.rs crate:core |
| 741 | 812 | ||
| 742 | pub mod fmt { | 813 | pub mod fmt { |
| 743 | pub struct Error; | 814 | pub struct Error; |
| 744 | } | 815 | } |
| 745 | "#; | 816 | "#, |
| 746 | check_found_path( | ||
| 747 | code, | ||
| 748 | "core::fmt::Error", | 817 | "core::fmt::Error", |
| 749 | "core::fmt::Error", | 818 | "core::fmt::Error", |
| 750 | "core::fmt::Error", | 819 | "core::fmt::Error", |
| @@ -754,26 +823,25 @@ mod tests { | |||
| 754 | 823 | ||
| 755 | #[test] | 824 | #[test] |
| 756 | fn prefer_alloc_paths_over_std() { | 825 | fn prefer_alloc_paths_over_std() { |
| 757 | let code = r#" | 826 | check_found_path( |
| 758 | //- /main.rs crate:main deps:alloc,std | 827 | r#" |
| 759 | #![no_std] | 828 | //- /main.rs crate:main deps:alloc,std |
| 829 | #![no_std] | ||
| 760 | 830 | ||
| 761 | $0 | 831 | $0 |
| 762 | 832 | ||
| 763 | //- /std.rs crate:std deps:alloc | 833 | //- /std.rs crate:std deps:alloc |
| 764 | 834 | ||
| 765 | pub mod sync { | 835 | pub mod sync { |
| 766 | pub use alloc::sync::Arc; | 836 | pub use alloc::sync::Arc; |
| 767 | } | 837 | } |
| 768 | 838 | ||
| 769 | //- /zzz.rs crate:alloc | 839 | //- /zzz.rs crate:alloc |
| 770 | 840 | ||
| 771 | pub mod sync { | 841 | pub mod sync { |
| 772 | pub struct Arc; | 842 | pub struct Arc; |
| 773 | } | 843 | } |
| 774 | "#; | 844 | "#, |
| 775 | check_found_path( | ||
| 776 | code, | ||
| 777 | "alloc::sync::Arc", | 845 | "alloc::sync::Arc", |
| 778 | "alloc::sync::Arc", | 846 | "alloc::sync::Arc", |
| 779 | "alloc::sync::Arc", | 847 | "alloc::sync::Arc", |
| @@ -783,20 +851,19 @@ mod tests { | |||
| 783 | 851 | ||
| 784 | #[test] | 852 | #[test] |
| 785 | fn prefer_shorter_paths_if_not_alloc() { | 853 | fn prefer_shorter_paths_if_not_alloc() { |
| 786 | let code = r#" | 854 | check_found_path( |
| 787 | //- /main.rs crate:main deps:megaalloc,std | 855 | r#" |
| 788 | $0 | 856 | //- /main.rs crate:main deps:megaalloc,std |
| 857 | $0 | ||
| 789 | 858 | ||
| 790 | //- /std.rs crate:std deps:megaalloc | 859 | //- /std.rs crate:std deps:megaalloc |
| 791 | pub mod sync { | 860 | pub mod sync { |
| 792 | pub use megaalloc::sync::Arc; | 861 | pub use megaalloc::sync::Arc; |
| 793 | } | 862 | } |
| 794 | 863 | ||
| 795 | //- /zzz.rs crate:megaalloc | 864 | //- /zzz.rs crate:megaalloc |
| 796 | pub struct Arc; | 865 | pub struct Arc; |
| 797 | "#; | 866 | "#, |
| 798 | check_found_path( | ||
| 799 | code, | ||
| 800 | "megaalloc::Arc", | 867 | "megaalloc::Arc", |
| 801 | "megaalloc::Arc", | 868 | "megaalloc::Arc", |
| 802 | "megaalloc::Arc", | 869 | "megaalloc::Arc", |
| @@ -807,12 +874,12 @@ mod tests { | |||
| 807 | #[test] | 874 | #[test] |
| 808 | fn builtins_are_in_scope() { | 875 | fn builtins_are_in_scope() { |
| 809 | let code = r#" | 876 | let code = r#" |
| 810 | //- /main.rs | 877 | //- /main.rs |
| 811 | $0 | 878 | $0 |
| 812 | 879 | ||
| 813 | pub mod primitive { | 880 | pub mod primitive { |
| 814 | pub use u8; | 881 | pub use u8; |
| 815 | } | 882 | } |
| 816 | "#; | 883 | "#; |
| 817 | check_found_path(code, "u8", "u8", "u8", "u8"); | 884 | check_found_path(code, "u8", "u8", "u8", "u8"); |
| 818 | check_found_path(code, "u16", "u16", "u16", "u16"); | 885 | check_found_path(code, "u16", "u16", "u16", "u16"); |
| @@ -822,10 +889,10 @@ mod tests { | |||
| 822 | fn inner_items() { | 889 | fn inner_items() { |
| 823 | check_found_path( | 890 | check_found_path( |
| 824 | r#" | 891 | r#" |
| 825 | fn main() { | 892 | fn main() { |
| 826 | struct Inner {} | 893 | struct Inner {} |
| 827 | $0 | 894 | $0 |
| 828 | } | 895 | } |
| 829 | "#, | 896 | "#, |
| 830 | "Inner", | 897 | "Inner", |
| 831 | "Inner", | 898 | "Inner", |
| @@ -838,12 +905,12 @@ mod tests { | |||
| 838 | fn inner_items_from_outer_scope() { | 905 | fn inner_items_from_outer_scope() { |
| 839 | check_found_path( | 906 | check_found_path( |
| 840 | r#" | 907 | r#" |
| 841 | fn main() { | 908 | fn main() { |
| 842 | struct Struct {} | 909 | struct Struct {} |
| 843 | { | 910 | { |
| 844 | $0 | 911 | $0 |
| 845 | } | 912 | } |
| 846 | } | 913 | } |
| 847 | "#, | 914 | "#, |
| 848 | "Struct", | 915 | "Struct", |
| 849 | "Struct", | 916 | "Struct", |
| @@ -857,14 +924,14 @@ mod tests { | |||
| 857 | cov_mark::check!(prefixed_in_block_expression); | 924 | cov_mark::check!(prefixed_in_block_expression); |
| 858 | check_found_path( | 925 | check_found_path( |
| 859 | r#" | 926 | r#" |
| 860 | fn main() { | 927 | fn main() { |
| 861 | mod module { | 928 | mod module { |
| 862 | struct Struct {} | 929 | struct Struct {} |
| 863 | } | 930 | } |
| 864 | { | 931 | { |
| 865 | $0 | 932 | $0 |
| 866 | } | 933 | } |
| 867 | } | 934 | } |
| 868 | "#, | 935 | "#, |
| 869 | "module::Struct", | 936 | "module::Struct", |
| 870 | "module::Struct", | 937 | "module::Struct", |
| @@ -877,14 +944,14 @@ mod tests { | |||
| 877 | fn outer_items_with_inner_items_present() { | 944 | fn outer_items_with_inner_items_present() { |
| 878 | check_found_path( | 945 | check_found_path( |
| 879 | r#" | 946 | r#" |
| 880 | mod module { | 947 | mod module { |
| 881 | pub struct CompleteMe; | 948 | pub struct CompleteMe; |
| 882 | } | 949 | } |
| 883 | 950 | ||
| 884 | fn main() { | 951 | fn main() { |
| 885 | fn inner() {} | 952 | fn inner() {} |
| 886 | $0 | 953 | $0 |
| 887 | } | 954 | } |
| 888 | "#, | 955 | "#, |
| 889 | "module::CompleteMe", | 956 | "module::CompleteMe", |
| 890 | "module::CompleteMe", | 957 | "module::CompleteMe", |
