@@ -445,6 +445,61 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure
445445 } ) ;
446446 }
447447
448+ [ TestCase ( "cs" , "[assembly: AssemblyVersion (AssemblyInfo.Version) ]\r \n [assembly: AssemblyInformationalVersion(AssemblyInfo.InformationalVersion)]\r \n [assembly: AssemblyFileVersion(AssemblyInfo.FileVersion)]" ) ]
449+ [ TestCase ( "fs" , "[<assembly: AssemblyVersion (AssemblyInfo.Version)>]\r \n [<assembly: AssemblyInformationalVersion(AssemblyInfo.InformationalVersion)>]\r \n [<assembly: AssemblyFileVersion(AssemblyInfo.FileVersion)>]" ) ]
450+ [ TestCase ( "vb" , "<Assembly: AssemblyVersion (AssemblyInfo.Version)>\r \n <Assembly: AssemblyInformationalVersion(AssemblyInfo.InformationalVersion)>\r \n <Assembly: AssemblyFileVersion(AssemblyInfo.FileVersion)>" ) ]
451+ public void ShouldReplaceAssemblyVersionInRelativePathWithVariables ( string fileExtension , string assemblyFileContent )
452+ {
453+ var workingDir = Path . GetTempPath ( ) ;
454+ var fileName = Path . Combine ( workingDir , "Project" , "src" , "Properties" , "AssemblyInfo." + fileExtension ) ;
455+
456+ VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fileSystem , variables ) =>
457+ {
458+ var args = new Arguments
459+ {
460+ UpdateAssemblyInfo = true ,
461+ UpdateAssemblyInfoFileName = new HashSet < string >
462+ {
463+ Path . Combine ( "Project" , "src" , "Properties" , "AssemblyInfo." + fileExtension )
464+ }
465+ } ;
466+ using ( new AssemblyInfoFileUpdate ( args , workingDir , variables , fileSystem ) )
467+ {
468+ fileSystem . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
469+ s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
470+ s . Contains ( @"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")" ) &&
471+ s . Contains ( @"AssemblyFileVersion(""2.3.1.0"")" ) ) ) ;
472+ }
473+ } ) ;
474+ }
475+
476+ [ TestCase ( "cs" , "[assembly: AssemblyVersion ( AssemblyInfo.VersionInfo ) ]\r \n [assembly: AssemblyInformationalVersion\t (\t AssemblyInfo.InformationalVersion\t )]\r \n [assembly: AssemblyFileVersion\r \n (\r \n AssemblyInfo.FileVersion\r \n )]" ) ]
477+ [ TestCase ( "fs" , "[<assembly: AssemblyVersion ( AssemblyInfo.VersionInfo )>]\r \n [<assembly: AssemblyInformationalVersion\t (\t AssemblyInfo.InformationalVersion\t )>]\r \n [<assembly: AssemblyFileVersion\r \n (\r \n AssemblyInfo.FileVersion\r \n )>]" ) ]
478+ [ TestCase ( "vb" , "<Assembly: AssemblyVersion ( AssemblyInfo.VersionInfo )>\r \n <Assembly: AssemblyInformationalVersion\t (\t AssemblyInfo.InformationalVersion\t )>\r \n <Assembly: AssemblyFileVersion\r \n (\r \n AssemblyInfo.FileVersion\r \n )>" ) ]
479+ public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace ( string fileExtension , string assemblyFileContent )
480+ {
481+ var workingDir = Path . GetTempPath ( ) ;
482+ var fileName = Path . Combine ( workingDir , "Project" , "src" , "Properties" , "AssemblyInfo." + fileExtension ) ;
483+
484+ VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fileSystem , variables ) =>
485+ {
486+ var args = new Arguments
487+ {
488+ UpdateAssemblyInfo = true ,
489+ UpdateAssemblyInfoFileName = new HashSet < string >
490+ {
491+ Path . Combine ( "Project" , "src" , "Properties" , "AssemblyInfo." + fileExtension )
492+ }
493+ } ;
494+ using ( new AssemblyInfoFileUpdate ( args , workingDir , variables , fileSystem ) )
495+ {
496+ fileSystem . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
497+ s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
498+ s . Contains ( @"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")" ) &&
499+ s . Contains ( @"AssemblyFileVersion(""2.3.1.0"")" ) ) ) ;
500+ }
501+ } ) ;
502+ }
448503
449504 [ TestCase ( "cs" , "[assembly: AssemblyVersion(\" 1.0.0.0\" )]\r \n [assembly: AssemblyFileVersion(\" 1.0.0.0\" )]" ) ]
450505 [ TestCase ( "fs" , "[<assembly: AssemblyVersion(\" 1.0.0.0\" )>]\r \n [<assembly: AssemblyFileVersion(\" 1.0.0.0\" )>]" ) ]
0 commit comments