From d1cd273aa8639ec7b9ce62d7f42bb38703addba4 Mon Sep 17 00:00:00 2001 From: Isamu Mogi Date: Tue, 15 Nov 2022 18:11:47 +0900 Subject: [PATCH] =?UTF-8?q?Windows=E4=BB=A5=E5=A4=96=E3=81=A7DetectInvalid?= =?UTF-8?q?Characters=E3=83=86=E3=82=B9=E3=83=88=E3=81=8C=E5=A4=B1?= =?UTF-8?q?=E6=95=97=E3=81=99=E3=82=8B=E3=80=82=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E5=AF=BE=E8=B1=A1=E3=83=A1=E3=82=BD=E3=83=83=E3=83=89=E3=81=8C?= =?UTF-8?q?=E3=82=82=E3=81=86=E4=BD=BF=E3=82=8F=E3=82=8C=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E8=87=AA=E4=BD=93=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit macOS上のUnity 2020.3.34f1でDetectInvalidCharactersテストが失敗していました。テスト対象メソッドの Path.GetInvalidFileNameCharsの実装をUnityのレポジトリで確認したところ https://github.com/Unity-Technologies/mono/blob/2020.3.34f1/mcs/class/corlib/System.IO/Path.cs#L560-L571 Windows以外の環境では、必ずテストに失敗することがわかりました。 調査したところ、Path.GetInvalidFileNameChars自体がUniVRMとそのサブモジュールですでに使われていないことが判明したため テスト自体が不要になったと考え、削除しました。 --- Assets/VRM/Tests/InvalidFileNameTest.cs | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/Assets/VRM/Tests/InvalidFileNameTest.cs b/Assets/VRM/Tests/InvalidFileNameTest.cs index 935bb0a41..26741209e 100644 --- a/Assets/VRM/Tests/InvalidFileNameTest.cs +++ b/Assets/VRM/Tests/InvalidFileNameTest.cs @@ -1,6 +1,5 @@ using NUnit.Framework; using System.Linq; -using System.IO; using UniGLTF; namespace VRM @@ -31,19 +30,5 @@ namespace VRM var result = fileName.Any(x => char.IsControl(x)); Assert.AreEqual(result, isIllegal); } - - [Test] - [TestCase("VRM|Alicia?VRM", true)] - [TestCase("UniVRMUniVRM:UniVRM", true)] - [TestCase("VRMIsVRFileFormat", false)] - [TestCase("AliciaAlicia", true)] - [TestCase("UniVRMIsVRMImplementationInUnityPlatform", false)] - [TestCase("Avator*Avator/Avator", true)] - public void DetectInvalidCharacters(string fileName, bool isIllegal) - { - char[] invalidPathChars = Path.GetInvalidFileNameChars(); - var result = fileName.Any(x => invalidPathChars.Contains(x)); - Assert.AreEqual(result, isIllegal); - } } }