File tree Expand file tree Collapse file tree 4 files changed +25
-4
lines changed Expand file tree Collapse file tree 4 files changed +25
-4
lines changed Original file line number Diff line number Diff line change 1
1
# Unreleased
2
2
3
+ ### Bug Fixes
4
+
5
+ - Fixed multiple reflections mapping to the same file name on case insensitive file systems, #2012 .
6
+
3
7
## v0.23.8 (2022-07-17)
4
8
5
9
### Features
Original file line number Diff line number Diff line change @@ -413,6 +413,9 @@ export abstract class Reflection {
413
413
if ( alias === "" ) {
414
414
alias = "reflection-" + this . id ;
415
415
}
416
+ // NTFS/ExFAT use uppercase, so we will too. It probably won't matter
417
+ // in this case since names will generally be valid identifiers, but to be safe...
418
+ const upperAlias = alias . toUpperCase ( ) ;
416
419
417
420
let target = this as Reflection ;
418
421
while ( target . parent && ! target . hasOwnDocument ) {
@@ -422,12 +425,12 @@ export abstract class Reflection {
422
425
target . _aliases ||= new Map ( ) ;
423
426
424
427
let suffix = "" ;
425
- if ( ! target . _aliases . has ( alias ) ) {
426
- target . _aliases . set ( alias , 1 ) ;
428
+ if ( ! target . _aliases . has ( upperAlias ) ) {
429
+ target . _aliases . set ( upperAlias , 1 ) ;
427
430
} else {
428
- const count = target . _aliases . get ( alias ) ! ;
431
+ const count = target . _aliases . get ( upperAlias ) ! ;
429
432
suffix = "-" + count . toString ( ) ;
430
- target . _aliases . set ( alias , count + 1 ) ;
433
+ target . _aliases . set ( upperAlias , count + 1 ) ;
431
434
}
432
435
433
436
alias += suffix ;
Original file line number Diff line number Diff line change
1
+ export function model ( ) : number {
2
+ return 1 ;
3
+ }
4
+ export function Model ( ) : string {
5
+ return "" ;
6
+ }
Original file line number Diff line number Diff line change @@ -665,4 +665,12 @@ export const issueTests: {
665
665
equal ( b . signatures ! [ 0 ] . sources ?. [ 0 ] . line , 3 ) ;
666
666
equal ( b . signatures ! [ 0 ] . sources ?. [ 0 ] . character , 0 ) ;
667
667
} ,
668
+
669
+ gh2012 ( project ) {
670
+ project . hasOwnDocument = true ;
671
+ const model = query ( project , "model" ) ;
672
+ const Model = query ( project , "Model" ) ;
673
+ equal ( model . getAlias ( ) , "model" ) ;
674
+ equal ( Model . getAlias ( ) , "Model-1" ) ;
675
+ } ,
668
676
} ;
You can’t perform that action at this time.
0 commit comments