@@ -211,6 +211,38 @@ public void BuildBindingsTest2 (string platform)
211
211
Assert . That ( ad . MainModule . Resources [ 0 ] . Name , Is . EqualTo ( "libtest2.a" ) , "libtest2.a" ) ;
212
212
}
213
213
214
+ [ TestCase ( "iOS" , "monotouch" ) ]
215
+ [ TestCase ( "tvOS" , "monotouch" ) ]
216
+ [ TestCase ( "watchOS" , "monotouch" ) ]
217
+ [ TestCase ( "macOS" , "xammac" ) ]
218
+ public void BuildBundledResources ( string platform , string prefix )
219
+ {
220
+ var assemblyName = "BundledResources" ;
221
+ var dotnet_bindings_dir = Path . Combine ( Configuration . SourceRoot , "tests" , assemblyName , "dotnet" ) ;
222
+ var project_dir = Path . Combine ( dotnet_bindings_dir , platform ) ;
223
+ var project_path = Path . Combine ( project_dir , $ "{ assemblyName } .csproj") ;
224
+
225
+ Clean ( project_path ) ;
226
+ CopyDotNetSupportingFiles ( dotnet_bindings_dir ) ;
227
+ var result = DotNet . AssertBuild ( project_path , verbosity ) ;
228
+ var lines = result . StandardOutput . ToString ( ) . Split ( '\n ' ) ;
229
+ // Find the resulting binding assembly from the build log
230
+ var assemblies = FilterToAssembly ( lines , assemblyName ) ;
231
+ Assert . That ( assemblies , Is . Not . Empty , "Assemblies" ) ;
232
+ // Make sure there's no other assembly confusing our logic
233
+ Assert . That ( assemblies . Distinct ( ) . Count ( ) , Is . EqualTo ( 1 ) , "Unique assemblies" ) ;
234
+ var asm = assemblies . First ( ) ;
235
+ Assert . That ( asm , Does . Exist , "Assembly existence" ) ;
236
+
237
+ // Verify that there's one resource in the binding assembly, and its name
238
+ var ad = AssemblyDefinition . ReadAssembly ( asm , new ReaderParameters { ReadingMode = ReadingMode . Deferred } ) ;
239
+ Assert . That ( ad . MainModule . Resources . Count , Is . EqualTo ( 2 ) , "2 resources" ) ;
240
+ // Sort the resources before we assert, since we don't care about the order, and sorted order makes the asserts simpler.
241
+ var resources = ad . MainModule . Resources . OrderBy ( v => v . Name ) . ToArray ( ) ;
242
+ Assert . That ( resources [ 0 ] . Name , Is . EqualTo ( $ "__{ prefix } _content_basn3p08.png") , $ "__{ prefix } _content_basn3p08.png") ;
243
+ Assert . That ( resources [ 1 ] . Name , Is . EqualTo ( $ "__{ prefix } _content_xamvideotest.mp4") , $ "__{ prefix } _content_xamvideotest.mp4") ;
244
+ }
245
+
214
246
[ TestCase ( "iOS" ) ]
215
247
[ TestCase ( "tvOS" ) ]
216
248
// [TestCase ("watchOS")] // No watchOS Touch.Client project for .NET yet
0 commit comments