diff --git a/Directory.Packages.props b/Directory.Packages.props index b2c27c87c0cb..d5a0e46b8d79 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -28,6 +28,7 @@ + diff --git a/Files.slnx b/Files.slnx index 62db94832e31..e96127f8b187 100644 --- a/Files.slnx +++ b/Files.slnx @@ -75,6 +75,12 @@ + + + + + + diff --git a/tests/Files.App.UnitTests/App.xaml b/tests/Files.App.UnitTests/App.xaml new file mode 100644 index 000000000000..fb2d845c9c77 --- /dev/null +++ b/tests/Files.App.UnitTests/App.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/tests/Files.App.UnitTests/App.xaml.cs b/tests/Files.App.UnitTests/App.xaml.cs new file mode 100644 index 000000000000..951cdde57993 --- /dev/null +++ b/tests/Files.App.UnitTests/App.xaml.cs @@ -0,0 +1,30 @@ +// Copyright (c) Files Community +// Licensed under the MIT License. + +using Microsoft.UI.Xaml; +using Microsoft.VisualStudio.TestTools.UnitTesting.AppContainer; + +namespace Files.App.UnitTests +{ + public partial class App : Application + { + private Window? _window; + + public App() + { + InitializeComponent(); + } + + protected override void OnLaunched(LaunchActivatedEventArgs args) + { + Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI(); + + _window = new MainWindow(); + _window.Activate(); + + UITestMethodAttribute.DispatcherQueue = _window.DispatcherQueue; + + Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(System.Environment.CommandLine); + } + } +} diff --git a/tests/Files.App.UnitTests/Assets/LockScreenLogo.scale-200.png b/tests/Files.App.UnitTests/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 000000000000..7440f0d4bf7c Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/LockScreenLogo.scale-200.png differ diff --git a/tests/Files.App.UnitTests/Assets/SplashScreen.scale-200.png b/tests/Files.App.UnitTests/Assets/SplashScreen.scale-200.png new file mode 100644 index 000000000000..32f486a86792 Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/SplashScreen.scale-200.png differ diff --git a/tests/Files.App.UnitTests/Assets/Square150x150Logo.scale-200.png b/tests/Files.App.UnitTests/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 000000000000..53ee3777ea27 Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/Square150x150Logo.scale-200.png differ diff --git a/tests/Files.App.UnitTests/Assets/Square44x44Logo.scale-200.png b/tests/Files.App.UnitTests/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 000000000000..f713bba67f55 Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/Square44x44Logo.scale-200.png differ diff --git a/tests/Files.App.UnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/tests/Files.App.UnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 000000000000..dc9f5bea0c3b Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/tests/Files.App.UnitTests/Assets/StoreLogo.png b/tests/Files.App.UnitTests/Assets/StoreLogo.png new file mode 100644 index 000000000000..a4586f26bdf7 Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/StoreLogo.png differ diff --git a/tests/Files.App.UnitTests/Assets/Wide310x150Logo.scale-200.png b/tests/Files.App.UnitTests/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 000000000000..8b4a5d0dd5f6 Binary files /dev/null and b/tests/Files.App.UnitTests/Assets/Wide310x150Logo.scale-200.png differ diff --git a/tests/Files.App.UnitTests/Files.App.UnitTests.csproj b/tests/Files.App.UnitTests/Files.App.UnitTests.csproj new file mode 100644 index 000000000000..08698e483bde --- /dev/null +++ b/tests/Files.App.UnitTests/Files.App.UnitTests.csproj @@ -0,0 +1,42 @@ + + + + $(WindowsTargetFramework) + $(MinimalWindowsVersion) + WinExe + app.manifest + x86;x64;ARM64 + win-x86;win-x64;win-arm64 + win-$(Platform).pubxml + true + true + enable + true + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Files.App.UnitTests/MainWindow.xaml b/tests/Files.App.UnitTests/MainWindow.xaml new file mode 100644 index 000000000000..64fcd0b80881 --- /dev/null +++ b/tests/Files.App.UnitTests/MainWindow.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/tests/Files.App.UnitTests/MainWindow.xaml.cs b/tests/Files.App.UnitTests/MainWindow.xaml.cs new file mode 100644 index 000000000000..86309f66c8a6 --- /dev/null +++ b/tests/Files.App.UnitTests/MainWindow.xaml.cs @@ -0,0 +1,17 @@ +// Copyright (c) Files Community +// Licensed under the MIT License. + +using Microsoft.UI.Xaml; + +namespace Files.App.UnitTests +{ + public sealed partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + + ExtendsContentIntoTitleBar = true; + } + } +} diff --git a/tests/Files.App.UnitTests/Package.appxmanifest b/tests/Files.App.UnitTests/Package.appxmanifest new file mode 100644 index 000000000000..6fee3989c03f --- /dev/null +++ b/tests/Files.App.UnitTests/Package.appxmanifest @@ -0,0 +1,47 @@ + + + + + + Files Unit Test WinUI app + Files Community + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Files.App.UnitTests/UnitTests.cs b/tests/Files.App.UnitTests/UnitTests.cs new file mode 100644 index 000000000000..e8b5e5ab6dfa --- /dev/null +++ b/tests/Files.App.UnitTests/UnitTests.cs @@ -0,0 +1,26 @@ +// Copyright (c) Files Community +// Licensed under the MIT License. + +using Microsoft.UI.Xaml.Controls; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting.AppContainer; + +namespace App1 +{ + [TestClass] + public class UnitTest1 + { + [TestMethod] + public void TestMethod1() + { + Assert.AreEqual(0, 0); + } + + [UITestMethod] + public void TestMethod2() + { + var grid = new Grid(); + Assert.AreEqual(0, grid.MinWidth); + } + } +} diff --git a/tests/Files.App.UnitTests/app.manifest b/tests/Files.App.UnitTests/app.manifest new file mode 100644 index 000000000000..e68913621268 --- /dev/null +++ b/tests/Files.App.UnitTests/app.manifest @@ -0,0 +1,17 @@ + + + + + + + + + + + + + PerMonitorV2 + + + +