use bat_assetbundle::UnityFsParser; use std::path::PathBuf; #[test] #[ignore = "requires BAT_REAL_UNITYFS_BUNDLE pointing at an isolated real UnityFS bundle"] fn parses_isolated_real_unityfs_bundle() { let path = PathBuf::from( std::env::var("BAT_REAL_UNITYFS_BUNDLE").expect("BAT_REAL_UNITYFS_BUNDLE must be set"), ); let data = std::fs::read(&path).expect("read isolated real UnityFS bundle"); let parsed = UnityFsParser::new() .parse_bytes(&data) .expect("parse isolated real UnityFS bundle"); assert_eq!(parsed.header.total_size, data.len() as u64); assert!(!parsed.header.unity_version.is_empty()); assert!(!parsed.blocks.is_empty()); assert!(!parsed.directories.is_empty()); assert_eq!(parsed.files.len(), parsed.directories.len()); assert_eq!( parsed.uncompressed_data_size, parsed.files.iter().map(|file| file.size).sum::() ); }