public IEnumerator FilesHaveSameExistingGuids_ShouldFail() { var fileName = GetPackageName(); PreparePackage(out var dataDir); var guidToFile = new Dictionary <string, string>(); var guid = Guid.NewGuid(); try { for (int i = 0; i < 2; i++) { var file = $"{dataDir}file_{i}.txt"; // unique content File.WriteAllText(file, $"content:{i}"); // create meta File.WriteAllText(file + ".meta", "guid: " + guid.ToString("N")); UnitypackageExporter.AddToUnityPackage(file, TemporaryPackageDirectory, ref guidToFile); } } catch (ArgumentException) { Assert.Pass("Exception was thrown when adding duplicate GUID"); } Assert.Fail("We shouldn't get here!"); CreatePackage(TemporaryPackageDirectory, fileName); yield return(null); }
public IEnumerator AssetDatabaseGuidAddedAfterGeneratedGuid_ShouldFail() { var fileName = GetPackageName(); PreparePackage(out var dataDir); var guidToFile = new Dictionary <string, string>(); var existingFile = "Packages/com.needle.upm-in-unitypackage/Tests/Data/ImageWithGuidConflict.png"; var newFile = $"{dataDir}file_with_content_collision.txt"; File.WriteAllText(newFile, $"content:very-colliding-content"); // produces GUID 58147484c7ca7af8bf7d69ec3916dc90 UnitypackageExporter.AddToUnityPackage(newFile, TemporaryPackageDirectory, ref guidToFile); try { UnitypackageExporter.AddToUnityPackage(existingFile, TemporaryPackageDirectory, ref guidToFile); } catch (ArgumentException) { Assert.Pass("Exception was thrown when adding duplicate GUID"); } Assert.Fail("We shouldn't get here!"); Debug.Log(string.Join("\n", guidToFile.Select(x => x.Key + ": " + x.Value))); CreatePackage(TemporaryPackageDirectory, fileName); yield return(null); }
public IEnumerator MultipleIdenticalFilePaths_ShouldFail() { var fileName = GetPackageName(); PreparePackage(out var dataDir); var guidToFile = new Dictionary <string, string>(); var newFile = $"{dataDir}file_with_content_collision.txt"; File.WriteAllText(newFile, $"content:very-colliding-content"); // produces GUID 58147484c7ca7af8bf7d69ec3916dc90 UnitypackageExporter.AddToUnityPackage(newFile, TemporaryPackageDirectory, ref guidToFile); try { UnitypackageExporter.AddToUnityPackage(newFile, TemporaryPackageDirectory, ref guidToFile); } catch (ArgumentException) { Assert.Pass("Exception was thrown when adding duplicate paths"); } Assert.Fail("We shouldn't get here!"); CreatePackage(TemporaryPackageDirectory, fileName); yield return(null); }
public IEnumerator FilesHaveSameContent() { var fileName = GetPackageName(); PreparePackage(out var dataDir); var guidToFile = new Dictionary <string, string>(); for (int i = 0; i < 23; i++) { var file = $"{dataDir}file_{i}.txt"; File.WriteAllText(file, $"content:{i % 4}"); // some files have the same content UnitypackageExporter.AddToUnityPackage(file, TemporaryPackageDirectory, ref guidToFile); } CreatePackage(TemporaryPackageDirectory, fileName); yield return(null); }
public IEnumerator GeneratedGuidConflictsWithAssetDatabaseGuid() { var fileName = GetPackageName(); PreparePackage(out var dataDir); var guidToFile = new Dictionary <string, string>(); var existingFile = "Packages/com.needle.upm-in-unitypackage/Tests/Data/ImageWithGuidConflict.png"; var newFile = $"{dataDir}file_with_content_collision.txt"; File.WriteAllText(newFile, $"content:very-colliding-content"); // produces GUID 58147484c7ca7af8bf7d69ec3916dc90 UnitypackageExporter.AddToUnityPackage(existingFile, TemporaryPackageDirectory, ref guidToFile); UnitypackageExporter.AddToUnityPackage(newFile, TemporaryPackageDirectory, ref guidToFile); Debug.Log(string.Join("\n", guidToFile.Select(x => x.Key + ": " + x.Value))); CreatePackage(TemporaryPackageDirectory, fileName); yield return(null); }