Fork of daniellemaywood.uk/gleam — Wasm codegen work
2

Configure Feed

Select the types of activity you want to include in your feed.

Add tests for finding references from import

author
Gavin Morrow
committer
Louis Pilfold
date (Jul 9, 2026, 6:07 PM +0100) commit a5a3616b parent 48f6a0e5 change-id kurruwwt
+201
+99
language-server/src/tests/reference.rs
··· 300 300 find_position_of("wobble()"), 301 301 ); 302 302 } 303 + 304 + #[test] 305 + fn references_for_function_from_import() { 306 + assert_references!( 307 + ( 308 + "mod", 309 + " 310 + pub fn wibble() { 311 + wibble() 312 + } 313 + " 314 + ), 315 + " 316 + import mod.{wibble} 317 + 318 + pub fn main() { 319 + let value = wibble() 320 + mod.wibble() 321 + value 322 + } 323 + ", 324 + find_position_of("wibble"), 325 + ); 326 + } 327 + 303 328 #[test] 304 329 fn references_for_private_constant() { 305 330 assert_references!( ··· 438 463 } 439 464 ", 440 465 find_position_of("wobble +"), 466 + ); 467 + } 468 + 469 + #[test] 470 + fn references_for_constant_from_import() { 471 + assert_references!( 472 + ( 473 + "mod", 474 + " 475 + pub const wibble = 10 476 + 477 + fn wobble() { 478 + wibble 479 + } 480 + " 481 + ), 482 + " 483 + import mod.{wibble} 484 + 485 + pub fn main() { 486 + let value = mod.wibble 487 + wibble + value 488 + } 489 + ", 490 + find_position_of("wibble"), 441 491 ); 442 492 } 443 493 ··· 586 636 } 587 637 588 638 #[test] 639 + fn references_for_type_variant_from_import() { 640 + assert_references!( 641 + ( 642 + "mod", 643 + " 644 + pub type Wibble { Wibble } 645 + 646 + fn wobble() { 647 + Wibble 648 + } 649 + " 650 + ), 651 + " 652 + import mod.{Wibble} 653 + 654 + pub fn main() { 655 + let value = mod.Wibble 656 + Wibble 657 + } 658 + ", 659 + find_position_of("Wibble"), 660 + ); 661 + } 662 + 663 + #[test] 589 664 fn no_references_for_keyword() { 590 665 assert_no_references!( 591 666 " ··· 804 879 } 805 880 ", 806 881 find_position_of("-> Wobble").under_char('W'), 882 + ); 883 + } 884 + 885 + #[test] 886 + fn references_for_type_from_import() { 887 + assert_references!( 888 + ( 889 + "mod", 890 + " 891 + pub type Wibble { Wibble } 892 + 893 + fn wobble() -> Wibble { 894 + todo 895 + } 896 + " 897 + ), 898 + " 899 + import mod.{type Wibble} 900 + 901 + pub fn main() -> Wibble { 902 + let _: mod.Wibble = todo 903 + } 904 + ", 905 + find_position_of("Wibble"), 807 906 ); 808 907 } 809 908
+26
language-server/src/tests/snapshots/gleam_language_server__tests__reference__references_for_constant_from_import.snap
··· 1 + --- 2 + source: language-server/src/tests/reference.rs 3 + expression: "\nimport mod.{wibble}\n\npub fn main() {\n let value = mod.wibble\n wibble + value\n}\n" 4 + --- 5 + -- mod.gleam 6 + 7 + pub const wibble = 10 8 + ▔▔▔▔▔▔ 9 + 10 + fn wobble() { 11 + wibble 12 + ▔▔▔▔▔▔ 13 + } 14 + 15 + 16 + -- app.gleam 17 + 18 + import mod.{wibble} 19 + ↑▔▔▔▔▔ 20 + 21 + pub fn main() { 22 + let value = mod.wibble 23 + ▔▔▔▔▔▔ 24 + wibble + value 25 + ▔▔▔▔▔▔ 26 + }
+25
language-server/src/tests/snapshots/gleam_language_server__tests__reference__references_for_function_from_import.snap
··· 1 + --- 2 + source: language-server/src/tests/reference.rs 3 + expression: "\nimport mod.{wibble}\n\npub fn main() {\n let value = wibble()\n mod.wibble()\n value\n}\n" 4 + --- 5 + -- mod.gleam 6 + 7 + pub fn wibble() { 8 + ▔▔▔▔▔▔ 9 + wibble() 10 + ▔▔▔▔▔▔ 11 + } 12 + 13 + 14 + -- app.gleam 15 + 16 + import mod.{wibble} 17 + ↑▔▔▔▔▔ 18 + 19 + pub fn main() { 20 + let value = wibble() 21 + ▔▔▔▔▔▔ 22 + mod.wibble() 23 + ▔▔▔▔▔▔ 24 + value 25 + }
+25
language-server/src/tests/snapshots/gleam_language_server__tests__reference__references_for_type_from_import.snap
··· 1 + --- 2 + source: language-server/src/tests/reference.rs 3 + expression: "\nimport mod.{type Wibble}\n\npub fn main() -> Wibble {\n let _: mod.Wibble = todo\n}\n" 4 + --- 5 + -- mod.gleam 6 + 7 + pub type Wibble { Wibble } 8 + ▔▔▔▔▔▔ 9 + 10 + fn wobble() -> Wibble { 11 + ▔▔▔▔▔▔ 12 + todo 13 + } 14 + 15 + 16 + -- app.gleam 17 + 18 + import mod.{type Wibble} 19 + ↑▔▔▔▔▔ 20 + 21 + pub fn main() -> Wibble { 22 + ▔▔▔▔▔▔ 23 + let _: mod.Wibble = todo 24 + ▔▔▔▔▔▔ 25 + }
+26
language-server/src/tests/snapshots/gleam_language_server__tests__reference__references_for_type_variant_from_import.snap
··· 1 + --- 2 + source: language-server/src/tests/reference.rs 3 + expression: "\nimport mod.{Wibble}\n\npub fn main() {\n let value = mod.Wibble\n Wibble\n}\n" 4 + --- 5 + -- mod.gleam 6 + 7 + pub type Wibble { Wibble } 8 + ▔▔▔▔▔▔ 9 + 10 + fn wobble() { 11 + Wibble 12 + ▔▔▔▔▔▔ 13 + } 14 + 15 + 16 + -- app.gleam 17 + 18 + import mod.{Wibble} 19 + ↑▔▔▔▔▔ 20 + 21 + pub fn main() { 22 + let value = mod.Wibble 23 + ▔▔▔▔▔▔ 24 + Wibble 25 + ▔▔▔▔▔▔ 26 + }