using System; using Xunit; using Amazon.Util.Internal; using System.Runtime.InteropServices; namespace AWSSDK_NetStandard.UnitTests { public class InternalSDKUtilsTests { [Fact] public void RuntimeInformationTest() { var framework = InternalSDKUtils.DetermineFramework(); Assert.NotEqual("Unknown", framework); Assert.False(framework.Contains(" ")); var os = InternalSDKUtils.DetermineOS(); Assert.NotEqual("Unknown", os); Assert.False(os.Contains(" ")); var platform = InternalSDKUtils.PlatformUserAgent(); Assert.NotEqual("Unknown", platform); Assert.False(platform.Contains(" ")); } [Theory] [InlineData(@"c:\a\b\c\test.txt", @"c:\a\b\c", true)] [InlineData(@"c:\a\b\c\..\test.txt", @"c:\a\b\c", false)] [InlineData(@"c:\a\b\c\..\ctest.txt", @"c:\a\b\c", false)] [InlineData(@"c:\a\b\c\test.txt", @"c:\a\b\c\", true)] [InlineData(@"c:\a\b\c\..\test.txt", @"c:\a\b\c\", false)] [InlineData(@"c:\a\b\c\..\ctest.txt", @"c:\a\b\c\", false)] [InlineData(@"/home/a/b/c/test.txt", @"/home/a/b/c", true)] [InlineData(@"/home/a/b/c/../test.txt", @"/home/a/b/c", false)] [InlineData(@"/home/a/b/c/../ctest.txt", @"/home/a/b/c", false)] [InlineData(@"/home/a/b/c/test.txt", @"/home/a/b/c/", true)] [InlineData(@"/home/a/b/c/../test.txt", @"/home/a/b/c/", false)] [InlineData(@"/home/a/b/c/../ctest.txt", @"/home/a/b/c/", false)] [InlineData(@"c:\a\b\c\\test.txt", @"c:\a\b\c", true)] [InlineData(@"c:/a/b/c/test.txt", @"c:\a\b\c", true)] [InlineData(@"c:/a/b/c/test.txt", @"c:/a/b/c", true)] [InlineData(@"c:\a\b\c\d\test.txt", @"c:\a\b\c", true)] [InlineData(@"c:\a\b\c\d/test.txt", @"c:\a\b\c", true)] public void IsFilePathRootedWithDirectoryPathTests(string filePath, string directoryPath, bool expectedResult) { var result = InternalSDKUtils.IsFilePathRootedWithDirectoryPath(filePath, directoryPath); Assert.Equal(expectedResult, result); } } }