From 57d1e3e932b80ddf8e1683f617a52bfa8af9af58 Mon Sep 17 00:00:00 2001 From: David Federman Date: Tue, 26 Mar 2024 22:30:48 -0700 Subject: [PATCH] Add WPF test --- src/Tests/E2ETests.cs | 8 +++++++ .../TestData/WpfApp/Dependency/Dependency.cs | 7 ++++++ .../WpfApp/Dependency/Dependency.csproj | 8 +++++++ src/Tests/TestData/WpfApp/WpfApp/App.xaml | 9 +++++++ src/Tests/TestData/WpfApp/WpfApp/App.xaml.cs | 15 ++++++++++++ .../TestData/WpfApp/WpfApp/AssemblyInfo.cs | 10 ++++++++ .../TestData/WpfApp/WpfApp/MainWindow.xaml | 12 ++++++++++ .../TestData/WpfApp/WpfApp/MainWindow.xaml.cs | 24 +++++++++++++++++++ .../TestData/WpfApp/WpfApp/WpfApp.csproj | 15 ++++++++++++ 9 files changed, 108 insertions(+) create mode 100644 src/Tests/TestData/WpfApp/Dependency/Dependency.cs create mode 100644 src/Tests/TestData/WpfApp/Dependency/Dependency.csproj create mode 100644 src/Tests/TestData/WpfApp/WpfApp/App.xaml create mode 100644 src/Tests/TestData/WpfApp/WpfApp/App.xaml.cs create mode 100644 src/Tests/TestData/WpfApp/WpfApp/AssemblyInfo.cs create mode 100644 src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml create mode 100644 src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml.cs create mode 100644 src/Tests/TestData/WpfApp/WpfApp/WpfApp.csproj diff --git a/src/Tests/E2ETests.cs b/src/Tests/E2ETests.cs index 54f219a..557c8eb 100644 --- a/src/Tests/E2ETests.cs +++ b/src/Tests/E2ETests.cs @@ -448,6 +448,14 @@ await RunMSBuildAsync( expectUnusedMsvcLibrariesLog: true); } + [TestMethod] + public Task WpfApp() + { + return RunMSBuildAsync( + projectFile: "WpfApp/WpfApp.csproj", + expectedWarnings: Array.Empty()); + } + private static (string ExePath, string Verb) GetMsBuildExeAndVerb() { // On Windows, try to find Visual Studio diff --git a/src/Tests/TestData/WpfApp/Dependency/Dependency.cs b/src/Tests/TestData/WpfApp/Dependency/Dependency.cs new file mode 100644 index 0000000..ad07022 --- /dev/null +++ b/src/Tests/TestData/WpfApp/Dependency/Dependency.cs @@ -0,0 +1,7 @@ +namespace Dependency +{ + public static class Foo + { + public static string Bar() => "Baz"; + } +} diff --git a/src/Tests/TestData/WpfApp/Dependency/Dependency.csproj b/src/Tests/TestData/WpfApp/Dependency/Dependency.csproj new file mode 100644 index 0000000..85ad25d --- /dev/null +++ b/src/Tests/TestData/WpfApp/Dependency/Dependency.csproj @@ -0,0 +1,8 @@ + + + + Library + netstandard2.0 + + + diff --git a/src/Tests/TestData/WpfApp/WpfApp/App.xaml b/src/Tests/TestData/WpfApp/WpfApp/App.xaml new file mode 100644 index 0000000..c41b4bf --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/src/Tests/TestData/WpfApp/WpfApp/App.xaml.cs b/src/Tests/TestData/WpfApp/WpfApp/App.xaml.cs new file mode 100644 index 0000000..571c409 --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/App.xaml.cs @@ -0,0 +1,15 @@ +using System.Configuration; +using System.Data; +using System.Windows; + +namespace WpfApp +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + // Use the dependency + public string X = Dependency.Foo.Bar(); + } +} diff --git a/src/Tests/TestData/WpfApp/WpfApp/AssemblyInfo.cs b/src/Tests/TestData/WpfApp/WpfApp/AssemblyInfo.cs new file mode 100644 index 0000000..b0ec827 --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml b/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml new file mode 100644 index 0000000..4b92710 --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml.cs b/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml.cs new file mode 100644 index 0000000..0d685fc --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/MainWindow.xaml.cs @@ -0,0 +1,24 @@ +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace WpfApp +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/src/Tests/TestData/WpfApp/WpfApp/WpfApp.csproj b/src/Tests/TestData/WpfApp/WpfApp/WpfApp.csproj new file mode 100644 index 0000000..54770d3 --- /dev/null +++ b/src/Tests/TestData/WpfApp/WpfApp/WpfApp.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + enable + true + + + + + + +