@@ -81,6 +81,31 @@ public void GetHashCode_NeverDiffersFromModuleSpec() {
8181
8282 Assert . That ( module . GetHashCode ( ) , Is . EqualTo ( module . ModuleSpec . GetHashCode ( ) ) ) ;
8383 }
84+
85+ [ Test ]
86+ public async Task ResolveRequirements_NormalisesWindowsSeparators ( ) {
87+ var root = Path . Combine ( TestContext . CurrentContext . WorkDirectory , "LocalModulePathSep" ) ;
88+ var commonDir = Path . Combine ( root , "common" ) ;
89+ Directory . CreateDirectory ( commonDir ) ;
90+
91+ var parentPath = Path . Combine ( commonDir , "Parent.psm1" ) ;
92+ var childPath = Path . Combine ( commonDir , "Child.psm1" ) ;
93+
94+ await File . WriteAllTextAsync ( parentPath , "Using module .\\ Child.psm1" ) ;
95+ await File . WriteAllTextAsync ( childPath , "function Invoke-Child {}" ) ;
96+
97+ var module = new ResolvableLocalModule ( new PathedModuleSpec ( root , parentPath ) ) ;
98+ var result = await module . ResolveRequirements ( ) ;
99+
100+ Assert . Multiple ( ( ) => {
101+ Assert . That ( result , Is . EqualTo ( LanguageExt . Option < Error > . None ) ) ;
102+ var requirement = module . Requirements . GetRequirements < ModuleSpec > ( )
103+ . OfType < PathedModuleSpec > ( )
104+ . FirstOrDefault ( r => r . FullPath == Path . GetFullPath ( childPath ) ) ;
105+ Assert . That ( requirement , Is . Not . Null ) ;
106+ Assert . That ( requirement ! . Name , Is . EqualTo ( "Child" ) ) ;
107+ } ) ;
108+ }
84109}
85110
86111file static class TestData {
0 commit comments