@@ -269,197 +269,3 @@ private void ValidateDatabase(string databasePath, bool withRefs)
269269 }
270270 }
271271}
272-
273- public class UnityDataToolPlayerDataTests : PlayerDataTestFixture
274- {
275- private string m_TestOutputFolder ;
276-
277- public UnityDataToolPlayerDataTests ( Context context ) : base ( context )
278- {
279- }
280-
281- [ OneTimeSetUp ]
282- public void OneTimeSetup ( )
283- {
284- m_TestOutputFolder = Path . Combine ( TestContext . CurrentContext . TestDirectory , "test_folder" ) ;
285- Directory . CreateDirectory ( m_TestOutputFolder ) ;
286- Directory . SetCurrentDirectory ( m_TestOutputFolder ) ;
287- }
288-
289- [ TearDown ]
290- public void Teardown ( )
291- {
292- SqliteConnection . ClearAllPools ( ) ;
293-
294- foreach ( var file in new DirectoryInfo ( m_TestOutputFolder ) . EnumerateFiles ( ) )
295- {
296- file . Delete ( ) ;
297- }
298- }
299-
300- [ Test ]
301- public async Task Analyze_PlayerData_DatabaseCorrect ( )
302- {
303- var databasePath = Path . Combine ( m_TestOutputFolder , "database.db" ) ;
304- var analyzePath = Path . Combine ( Context . UnityDataFolder ) ;
305-
306- Assert . AreEqual ( 0 , await Program . Main ( new string [ ] { "analyze" , analyzePath , "-p" , "*." } ) ) ;
307- using var db = new SqliteConnection ( new SqliteConnectionStringBuilder
308- {
309- DataSource = databasePath ,
310- Mode = SqliteOpenMode . ReadWriteCreate ,
311- Pooling = false ,
312- ForeignKeys = false ,
313- } . ConnectionString ) ;
314- db . Open ( ) ;
315-
316- using var cmd = db . CreateCommand ( ) ;
317-
318- cmd . CommandText =
319- @"SELECT
320- (SELECT COUNT(*) FROM asset_bundles),
321- (SELECT COUNT(*) FROM assets),
322- (SELECT COUNT(*) FROM objects),
323- (SELECT COUNT(*) FROM refs),
324- (SELECT COUNT(*) FROM serialized_files)" ;
325-
326- using var reader = cmd . ExecuteReader ( ) ;
327-
328- reader . Read ( ) ;
329-
330- Assert . AreEqual ( 0 , reader . GetInt32 ( 0 ) ) ;
331- Assert . AreEqual ( 0 , reader . GetInt32 ( 1 ) ) ;
332- Assert . Greater ( reader . GetInt32 ( 2 ) , 0 ) ;
333- Assert . Greater ( reader . GetInt32 ( 3 ) , 0 ) ;
334- Assert . AreEqual ( 1 , reader . GetInt32 ( 4 ) ) ;
335- }
336-
337- [ Test ]
338- public async Task DumpText_PlayerData_TextFileCreatedCorrectly ( )
339- {
340- var path = Path . Combine ( Context . UnityDataFolder , "level0" ) ;
341- var outputFile = Path . Combine ( m_TestOutputFolder , "level0.txt" ) ;
342-
343- Assert . AreEqual ( 0 , await Program . Main ( new string [ ] { "dump" , path } ) ) ;
344- Assert . IsTrue ( File . Exists ( outputFile ) ) ;
345-
346- var content = File . ReadAllText ( outputFile ) ;
347- var expected = File . ReadAllText ( Path . Combine ( Context . ExpectedDataFolder , "level0.txt" ) ) ;
348-
349- // Normalize line endings.
350- content = Regex . Replace ( content , @"\r\n|\n\r|\r" , "\n " ) ;
351- expected = Regex . Replace ( expected , @"\r\n|\n\r|\r" , "\n " ) ;
352-
353- Assert . AreEqual ( expected , content ) ;
354- }
355- }
356-
357- public class WebBundleSupportTests
358- {
359- private string m_TestOutputFolder ;
360- private string m_TestDataFolder ;
361-
362- [ OneTimeSetUp ]
363- public void OneTimeSetup ( )
364- {
365- m_TestOutputFolder = Path . Combine ( TestContext . CurrentContext . TestDirectory , "test_folder" ) ;
366- m_TestDataFolder = Path . Combine ( TestContext . CurrentContext . TestDirectory , "Data" ) ;
367- Directory . CreateDirectory ( m_TestOutputFolder ) ;
368- Directory . SetCurrentDirectory ( m_TestOutputFolder ) ;
369- }
370-
371- [ TearDown ]
372- public void Teardown ( )
373- {
374- SqliteConnection . ClearAllPools ( ) ;
375-
376- var testDir = new DirectoryInfo ( m_TestOutputFolder ) ;
377- testDir . EnumerateFiles ( )
378- . ToList ( ) . ForEach ( f => f . Delete ( ) ) ;
379- testDir . EnumerateDirectories ( )
380- . ToList ( ) . ForEach ( d => d . Delete ( true ) ) ;
381- }
382-
383- [ Test ]
384- public void IsWebBundle_True ( )
385- {
386- var webBundlePath = Path . Combine ( m_TestDataFolder , "WebBundles" , "HelloWorld.data" ) ;
387- Assert . IsTrue ( Archive . IsWebBundle ( new FileInfo ( webBundlePath ) ) ) ;
388- }
389-
390- [ Test ]
391- public void IsWebBundle_False ( )
392- {
393- var nonWebBundlePath = Path . Combine ( m_TestDataFolder , "WebBundles" , "NotAWebBundle.txt" ) ;
394- Assert . IsFalse ( Archive . IsWebBundle ( new FileInfo ( nonWebBundlePath ) ) ) ;
395- }
396-
397- [ Test ]
398- public async Task ArchiveList_WebBundle_ListFilesCorrectly (
399- [ Values (
400- "HelloWorld.data" ,
401- "HelloWorld.data.gz" ,
402- "HelloWorld.data.br"
403- ) ] string bundlePath )
404- {
405- var path = Path . Combine ( m_TestDataFolder , "WebBundles" , bundlePath ) ;
406- using var sw = new StringWriter ( ) ;
407- var currentOut = Console . Out ;
408- try
409- {
410- Console . SetOut ( sw ) ;
411-
412- Assert . AreEqual ( 0 , await Program . Main ( new string [ ] { "archive" , "list" , path } ) ) ;
413-
414- var actualOutput = sw . ToString ( ) ;
415- var expectedOutput = (
416- @"data.unity3d
417- Size: 253044
418-
419- RuntimeInitializeOnLoads.json
420- Size: 700
421-
422- ScriptingAssemblies.json
423- Size: 3060
424-
425- boot.config
426- Size: 93
427-
428- Il2CppData/Metadata/global-metadata.dat
429- Size: 1641180
430-
431- Resources/unity_default_resources
432- Size: 607376
433-
434- "
435- ) ;
436-
437- Assert . AreEqual ( expectedOutput , actualOutput ) ;
438- }
439- finally
440- {
441- Console . SetOut ( currentOut ) ;
442- }
443- }
444-
445- [ Test ]
446- public async Task ArchiveExtract_WebBundle_FileExtractedSuccessfully (
447- [ Values ( "" , "-o archive" , "--output-path archive" ) ] string options ,
448- [ Values ( "HelloWorld.data" , "HelloWorld.data.gz" , "HelloWorld.data.br" ) ] string bundlePath )
449- {
450- var path = Path . Combine ( m_TestDataFolder , "WebBundles" , bundlePath ) ;
451- string [ ] expectedFiles = {
452- "boot.config" ,
453- "data.unity3d" ,
454- "RuntimeInitializeOnLoads.json" ,
455- "ScriptingAssemblies.json" ,
456- Path . Combine ( "Il2CppData" , "Metadata" , "global-metadata.dat" ) ,
457- Path . Combine ( "Resources" , "unity_default_resources" ) ,
458- } ;
459- Assert . AreEqual ( 0 , await Program . Main ( new string [ ] { "archive" , "extract" , path } . Concat ( options . Split ( " " , StringSplitOptions . RemoveEmptyEntries ) ) . ToArray ( ) ) ) ;
460- foreach ( var file in expectedFiles )
461- {
462- Assert . IsTrue ( File . Exists ( Path . Combine ( m_TestOutputFolder , "archive" , file ) ) ) ;
463- }
464- }
465- }
0 commit comments