@@ -445,6 +445,61 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure
445
445
} ) ;
446
446
}
447
447
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
+ }
448
503
449
504
[ TestCase ( "cs" , "[assembly: AssemblyVersion(\" 1.0.0.0\" )]\r \n [assembly: AssemblyFileVersion(\" 1.0.0.0\" )]" ) ]
450
505
[ TestCase ( "fs" , "[<assembly: AssemblyVersion(\" 1.0.0.0\" )>]\r \n [<assembly: AssemblyFileVersion(\" 1.0.0.0\" )>]" ) ]
0 commit comments