@@ -31,6 +31,7 @@ public CreatePackageTests(ITestOutputHelper output)
3131 task = new CreatePackage
3232 {
3333 BuildEngine = engine ,
34+ NuspecFile = Path . GetTempFileName ( ) ,
3435 Manifest = new TaskItem ( "package" , new Metadata
3536 {
3637 { "Id" , "package" } ,
@@ -148,6 +149,85 @@ public void when_creating_package_with_simple_dependency_then_contains_dependenc
148149 Assert . Equal ( "8.0.0" , manifest . Metadata . DependencyGroups . First ( ) . Packages . First ( ) . VersionRange . MinVersion . ToString ( ) ) ;
149150 }
150151
152+ [ Fact ]
153+ public void when_creating_package_with_non_framework_secific_dependency_then_contains_generic_dependency_group ( )
154+ {
155+ task . Contents = new [ ]
156+ {
157+ new TaskItem ( "Newtonsoft.Json" , new Metadata
158+ {
159+ { MetadataName . PackageId , task . Manifest . GetMetadata ( "Id" ) } ,
160+ { MetadataName . Kind , PackageItemKind . Dependency } ,
161+ { MetadataName . Version , "8.0.0" } ,
162+ { MetadataName . TargetFramework , "net45" } ,
163+ { MetadataName . FrameworkSpecific , "false" } ,
164+ } ) ,
165+ new TaskItem ( "Microsoft.Build" , new Metadata
166+ {
167+ { MetadataName . PackageId , task . Manifest . GetMetadata ( "Id" ) } ,
168+ { MetadataName . Kind , PackageItemKind . Dependency } ,
169+ { MetadataName . Version , "15.0.0" } ,
170+ { MetadataName . TargetFramework , "net45" }
171+ } ) ,
172+ } ;
173+
174+ var manifest = ExecuteTask ( ) ;
175+
176+ //Process.Start("notepad.exe", task.NuspecFile);
177+
178+ Assert . NotNull ( manifest ) ;
179+ Assert . Equal ( 2 , manifest . Metadata . DependencyGroups . Count ( ) ) ;
180+ Assert . Equal ( NuGetFramework . UnsupportedFramework , manifest . Metadata . DependencyGroups . First ( ) . TargetFramework ) ;
181+ Assert . Equal ( NuGetFramework . Parse ( ".NETFramework,Version=v4.5" ) , manifest . Metadata . DependencyGroups . Last ( ) . TargetFramework ) ;
182+
183+ Assert . Equal ( 1 , manifest . Metadata . DependencyGroups . First ( ) . Packages . Count ( ) ) ;
184+ Assert . Equal ( "Newtonsoft.Json" , manifest . Metadata . DependencyGroups . First ( ) . Packages . First ( ) . Id ) ;
185+ Assert . Equal ( "8.0.0" , manifest . Metadata . DependencyGroups . First ( ) . Packages . First ( ) . VersionRange . MinVersion . ToString ( ) ) ;
186+
187+ Assert . Equal ( 1 , manifest . Metadata . DependencyGroups . Last ( ) . Packages . Count ( ) ) ;
188+ Assert . Equal ( "Microsoft.Build" , manifest . Metadata . DependencyGroups . Last ( ) . Packages . First ( ) . Id ) ;
189+ Assert . Equal ( "15.0.0" , manifest . Metadata . DependencyGroups . Last ( ) . Packages . First ( ) . VersionRange . MinVersion . ToString ( ) ) ;
190+ }
191+
192+ [ Fact ]
193+ public void when_creating_package_with_any_framework_secific_dependency_then_contains_generic_dependency_group ( )
194+ {
195+ task . Contents = new [ ]
196+ {
197+ new TaskItem ( "Newtonsoft.Json" , new Metadata
198+ {
199+ { MetadataName . PackageId , task . Manifest . GetMetadata ( "Id" ) } ,
200+ { MetadataName . Kind , PackageItemKind . Dependency } ,
201+ { MetadataName . Version , "8.0.0" } ,
202+ { MetadataName . TargetFramework , "any" } ,
203+ } ) ,
204+ new TaskItem ( "Microsoft.Build" , new Metadata
205+ {
206+ { MetadataName . PackageId , task . Manifest . GetMetadata ( "Id" ) } ,
207+ { MetadataName . Kind , PackageItemKind . Dependency } ,
208+ { MetadataName . Version , "15.0.0" } ,
209+ { MetadataName . TargetFramework , "net45" }
210+ } ) ,
211+ } ;
212+
213+ var manifest = ExecuteTask ( ) ;
214+
215+ //Process.Start("notepad.exe", task.NuspecFile);
216+
217+ Assert . NotNull ( manifest ) ;
218+ Assert . Equal ( 2 , manifest . Metadata . DependencyGroups . Count ( ) ) ;
219+ Assert . Equal ( NuGetFramework . UnsupportedFramework , manifest . Metadata . DependencyGroups . First ( ) . TargetFramework ) ;
220+ Assert . Equal ( NuGetFramework . Parse ( ".NETFramework,Version=v4.5" ) , manifest . Metadata . DependencyGroups . Last ( ) . TargetFramework ) ;
221+
222+ Assert . Equal ( 1 , manifest . Metadata . DependencyGroups . First ( ) . Packages . Count ( ) ) ;
223+ Assert . Equal ( "Newtonsoft.Json" , manifest . Metadata . DependencyGroups . First ( ) . Packages . First ( ) . Id ) ;
224+ Assert . Equal ( "8.0.0" , manifest . Metadata . DependencyGroups . First ( ) . Packages . First ( ) . VersionRange . MinVersion . ToString ( ) ) ;
225+
226+ Assert . Equal ( 1 , manifest . Metadata . DependencyGroups . Last ( ) . Packages . Count ( ) ) ;
227+ Assert . Equal ( "Microsoft.Build" , manifest . Metadata . DependencyGroups . Last ( ) . Packages . First ( ) . Id ) ;
228+ Assert . Equal ( "15.0.0" , manifest . Metadata . DependencyGroups . Last ( ) . Packages . First ( ) . VersionRange . MinVersion . ToString ( ) ) ;
229+ }
230+
151231 [ Fact ]
152232 public void when_creating_package_with_empty_dependency_groups_then_succeeds ( )
153233 {
@@ -194,7 +274,8 @@ public void when_creating_package_with_empty_dependency_groups_then_succeeds()
194274
195275 var manifest = ExecuteTask ( ) ;
196276
197- Process . Start ( "notepad.exe" , task . NuspecFile ) ;
277+ //if (Debugger.IsAttached)
278+ // Process.Start("notepad.exe", task.NuspecFile);
198279
199280 Assert . NotNull ( manifest ) ;
200281 Assert . Equal ( 4 , manifest . Metadata . DependencyGroups . Count ( ) ) ;
0 commit comments