LANCommander.PlaynitePlugin/LANCommander.SDK.Tests/StringExtensions.cs

48 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LANCommander.SDK.Extensions;
namespace LANCommander.SDK.Tests
{
public class StringExtensions
{
[Theory]
[InlineData("C:\\Games\\Age of Empires 2", "{InstallDir}", "C:\\Games\\Age of Empires 2")]
[InlineData("C:\\Games\\Age of Empires 2", "{InstallDir}", "C:\\Games\\Age of Empires 2\\")]
[InlineData("C:\\Games\\Age of Empires 2\\Data", "{InstallDir}\\Data", "C:\\Games\\Age of Empires 2")]
[InlineData("C:\\Users\\{UserName}\\Documents", "%MyDocuments%", "C:\\Games")]
[InlineData("C:\\Users\\{UserName}\\Documents", "%MyDocuments%\\", "C:\\Games")]
[InlineData("C:\\Users\\{UserName}\\Documents\\My Games", "%MyDocuments%\\My Games", "C:\\Games")]
[InlineData("C:\\Users\\{UserName}\\AppData\\Roaming", "%APPDATA%", "C:\\Games")]
[InlineData("C:\\Users\\{UserName}\\AppData\\Local", "%LOCALAPPDATA%", "C:\\Games")]
public void ExpandEnvironmentVariablesShouldExpand(string expected, string input, string installDirectory)
{
expected = expected.Replace("{UserName}", Environment.UserName);
var result = input.ExpandEnvironmentVariables(installDirectory);
Assert.Equal(expected, result);
}
[Theory]
[InlineData("{InstallDir}", "C:\\Games\\Age of Empires 2", "C:\\Games\\Age of Empires 2")]
[InlineData("{InstallDir}\\", "C:\\Games\\Age of Empires 2\\", "C:\\Games\\Age of Empires 2")]
[InlineData("{InstallDir}\\Data", "C:\\Games\\Age of Empires 2\\Data", "C:\\Games\\Age of Empires 2")]
[InlineData("%MyDocuments%", "C:\\Users\\{UserName}\\Documents", "C:\\Games")]
[InlineData("%MyDocuments%\\", "C:\\Users\\{UserName}\\Documents\\", "C:\\Games")]
[InlineData("%MyDocuments%\\My Games", "C:\\Users\\{UserName}\\Documents\\My Games", "C:\\Games")]
[InlineData("%APPDATA%", "C:\\Users\\{UserName}\\AppData\\Roaming", "C:\\Games")]
[InlineData("%LOCALAPPDATA%", "C:\\Users\\{UserName}\\AppData\\Local", "C:\\Games")]
public void DeflateEnvironmentVariablesShouldDeflate(string expected, string input, string installDirectory)
{
input = input.Replace("{UserName}", Environment.UserName);
var result = input.DeflateEnvironmentVariables(installDirectory);
Assert.Equal(expected, result);
}
}
}