Merge branch 'master' into winui
|
@ -7,10 +7,7 @@ assignees: ''
|
|||
|
||||
---
|
||||
|
||||
<!--
|
||||
PLEASE HELP US PROCESS GITHUB ISSUES FASTER BY PROVIDING THE FOLLOWING INFORMATION.
|
||||
ISSUES MISSING IMPORTANT INFORMATION MAY BE CLOSED WITHOUT INVESTIGATION.
|
||||
-->
|
||||
<!-- 🚨 Please Do Not skip any instructions and information mentioned below as they are all required and essential to investigate the issue. Issues with missing information may be closed without investigation 🚨 -->
|
||||
|
||||
## Describe the bug
|
||||
A clear and concise description of what the bug is.
|
||||
|
|
|
@ -7,6 +7,8 @@ assignees: ''
|
|||
|
||||
---
|
||||
|
||||
<!-- 🚨 Please provide detailed information and Do Not skip any instructions as they are all required and essential to help us understand the feature 🚨 -->
|
||||
|
||||
## Describe the problem this feature would solve
|
||||
<!-- Please describe or link to any existing issues or discussions.
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
|
|
@ -13,6 +13,7 @@ Hi!
|
|||
We try and keep our GitHub issue list for bugs and features.
|
||||
|
||||
Ideally, it'd be great to post your question on Stack Overflow using the 'windows-community-toolkit' tag here: https://stackoverflow.com/questions/tagged/windows-community-toolkit
|
||||
🚨 Please provide detailed information that includes examples, screenshots, and relevant issues if possible 🚨
|
||||
|
||||
If this is more about a scenario that you think is missing documentation, please file an issue instead at https://github.com/MicrosoftDocs/WindowsCommunityToolkitDocs/issues/new
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
<!-- 🚨 Please Do Not skip any instructions and information mentioned below as they are all required and essential to evaluate and test the PR. By fulfilling all the required information you will be able to reduce the volume of questions and most likely help merge the PR faster 🚨 -->
|
||||
|
||||
## Fixes #
|
||||
<!-- Add the relevant issue number after the "#" mentioned above (for ex: Fixes #1234) which will automatically close the issue once the PR is merged. -->
|
||||
|
||||
|
@ -38,7 +40,7 @@ Please check if your PR fulfills the following requirements:
|
|||
- [ ] Contains **NO** breaking changes
|
||||
|
||||
<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below.
|
||||
Please note that breaking changes are likely to be rejected. -->
|
||||
Please note that breaking changes are likely to be rejected within minor release cycles or held until major versions. -->
|
||||
|
||||
|
||||
## Other information
|
||||
|
|
|
@ -231,3 +231,7 @@ msbuild.binlog
|
|||
|
||||
# Files generated by the VS build
|
||||
**/Generated Files/**
|
||||
|
||||
# TAEF Log output
|
||||
WexLogFileOutput
|
||||
*.wtl
|
|
@ -9,7 +9,10 @@
|
|||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="controls:ImageEx">
|
||||
<Grid Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<Grid Background="{TemplateBinding Background}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<Image Name="PlaceholderImage"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalAlignment}"
|
||||
|
|
|
@ -20,11 +20,6 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls
|
|||
/// </summary>
|
||||
public static readonly DependencyProperty StretchProperty = DependencyProperty.Register(nameof(Stretch), typeof(Stretch), typeof(ImageExBase), new PropertyMetadata(Stretch.Uniform));
|
||||
|
||||
/// <summary>
|
||||
/// Identifies the <see cref="CornerRadius"/> dependency property.
|
||||
/// </summary>
|
||||
public static new readonly DependencyProperty CornerRadiusProperty = DependencyProperty.Register(nameof(CornerRadius), typeof(CornerRadius), typeof(ImageExBase), new PropertyMetadata(new CornerRadius(0)));
|
||||
|
||||
/// <summary>
|
||||
/// Identifies the <see cref="DecodePixelHeight"/> dependency property.
|
||||
/// </summary>
|
||||
|
@ -81,16 +76,6 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls
|
|||
/// </summary>
|
||||
public bool IsInitialized { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the CornerRadius for underlying image. <para/>
|
||||
/// Used to created rounded/circular images.
|
||||
/// </summary>
|
||||
public new CornerRadius CornerRadius
|
||||
{
|
||||
get { return (CornerRadius)GetValue(CornerRadiusProperty); }
|
||||
set { SetValue(CornerRadiusProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets DecodePixelHeight for underlying bitmap
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<Application
|
||||
x:Class="UITests.App.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:UITests.App">
|
||||
|
||||
</Application>
|
|
@ -0,0 +1,89 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.ApplicationModel.Activation;
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Navigation;
|
||||
|
||||
namespace UITests.App
|
||||
{
|
||||
public sealed partial class App
|
||||
{
|
||||
public App()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.Suspending += OnSuspending;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when the application is launched normally by the end user. Other entry points
|
||||
/// will be used such as when the application is launched to open a specific file.
|
||||
/// </summary>
|
||||
/// <param name="e">Details about the launch request and process.</param>
|
||||
protected override void OnLaunched(LaunchActivatedEventArgs e)
|
||||
{
|
||||
Frame rootFrame = Window.Current.Content as Frame;
|
||||
|
||||
// Do not repeat app initialization when the Window already has content,
|
||||
// just ensure that the window is active
|
||||
if (rootFrame == null)
|
||||
{
|
||||
// Create a Frame to act as the navigation context and navigate to the first page
|
||||
rootFrame = new Frame();
|
||||
|
||||
rootFrame.NavigationFailed += OnNavigationFailed;
|
||||
|
||||
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
|
||||
{
|
||||
// TODO: Load state from previously suspended application
|
||||
}
|
||||
|
||||
// Place the frame in the current Window
|
||||
Window.Current.Content = rootFrame;
|
||||
}
|
||||
|
||||
if (e.PrelaunchActivated == false)
|
||||
{
|
||||
if (rootFrame.Content == null)
|
||||
{
|
||||
// When the navigation stack isn't restored navigate to the first page,
|
||||
// configuring the new page by passing required information as a navigation
|
||||
// parameter
|
||||
rootFrame.Navigate(typeof(MainPage), e.Arguments);
|
||||
}
|
||||
|
||||
// Ensure the current window is active
|
||||
Window.Current.Activate();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when Navigation to a certain page fails
|
||||
/// </summary>
|
||||
/// <param name="sender">The Frame which failed navigation</param>
|
||||
/// <param name="e">Details about the navigation failure</param>
|
||||
private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
|
||||
{
|
||||
throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when application execution is being suspended. Application state is saved
|
||||
/// without knowing whether the application will be terminated or resumed with the contents
|
||||
/// of memory still intact.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the suspend request.</param>
|
||||
/// <param name="e">Details about the suspend request.</param>
|
||||
private void OnSuspending(object sender, SuspendingEventArgs e)
|
||||
{
|
||||
var deferral = e.SuspendingOperation.GetDeferral();
|
||||
|
||||
// TODO: Save application state and stop any background activity
|
||||
deferral.Complete();
|
||||
}
|
||||
}
|
||||
}
|
После Ширина: | Высота: | Размер: 1.4 KiB |
После Ширина: | Высота: | Размер: 7.5 KiB |
После Ширина: | Высота: | Размер: 2.9 KiB |
После Ширина: | Высота: | Размер: 1.6 KiB |
Двоичные данные
UITests/UITests.App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
Normal file
После Ширина: | Высота: | Размер: 1.2 KiB |
После Ширина: | Высота: | Размер: 1.4 KiB |
После Ширина: | Высота: | Размер: 3.1 KiB |
|
@ -0,0 +1,19 @@
|
|||
<Page
|
||||
x:Class="UITests.App.MainPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:testhelpers="using:AppTestAutomationHelpers"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
|
||||
<Grid>
|
||||
<testhelpers:TestAutomationHelpersPanel />
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||
<Button Content="Click Me" Click="Button_Click"/>
|
||||
<TextBlock x:Name="textBlock"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Page>
|
|
@ -0,0 +1,19 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
namespace UITests.App
|
||||
{
|
||||
public sealed partial class MainPage
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
|
||||
{
|
||||
textBlock.Text = "Clicked";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
IgnorableNamespaces="uap mp">
|
||||
|
||||
<Identity
|
||||
Name="3568ebdf-5b6b-4ddd-bb17-462d614ba50f"
|
||||
Publisher="CN=alzollin"
|
||||
Version="1.0.0.0" />
|
||||
|
||||
<mp:PhoneIdentity PhoneProductId="3568ebdf-5b6b-4ddd-bb17-462d614ba50f" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
|
||||
|
||||
<Properties>
|
||||
<DisplayName>UITests.App</DisplayName>
|
||||
<PublisherDisplayName>alzollin</PublisherDisplayName>
|
||||
<Logo>Assets\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
|
||||
</Dependencies>
|
||||
|
||||
<Resources>
|
||||
<Resource Language="x-generate"/>
|
||||
</Resources>
|
||||
|
||||
<Applications>
|
||||
<Application Id="App"
|
||||
Executable="$targetnametoken$.exe"
|
||||
EntryPoint="UITests.App.App">
|
||||
<uap:VisualElements
|
||||
DisplayName="UITests.App"
|
||||
Square150x150Logo="Assets\Square150x150Logo.png"
|
||||
Square44x44Logo="Assets\Square44x44Logo.png"
|
||||
Description="UITests.App"
|
||||
BackgroundColor="transparent">
|
||||
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
|
||||
<uap:SplashScreen Image="Assets\SplashScreen.png" />
|
||||
</uap:VisualElements>
|
||||
</Application>
|
||||
</Applications>
|
||||
|
||||
<Capabilities>
|
||||
<Capability Name="internetClient" />
|
||||
</Capabilities>
|
||||
</Package>
|
|
@ -0,0 +1,30 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("UITests.App")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("UITests.App")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: ComVisible(false)]
|
|
@ -0,0 +1,31 @@
|
|||
<!--
|
||||
This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most
|
||||
developers. However, you can modify these parameters to modify the behavior of the .NET Native
|
||||
optimizer.
|
||||
|
||||
Runtime Directives are documented at https://go.microsoft.com/fwlink/?LinkID=391919
|
||||
|
||||
To fully enable reflection for App1.MyClass and all of its public/private members
|
||||
<Type Name="App1.MyClass" Dynamic="Required All"/>
|
||||
|
||||
To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32
|
||||
<TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" />
|
||||
|
||||
Using the Namespace directive to apply reflection policy to all the types in a particular namespace
|
||||
<Namespace Name="DataClasses.ViewModels" Serialize="All" />
|
||||
-->
|
||||
|
||||
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
|
||||
<Application>
|
||||
<!--
|
||||
An Assembly element with Name="*Application*" applies to all assemblies in
|
||||
the application package. The asterisks are not wildcards.
|
||||
-->
|
||||
<Assembly Name="*Application*" Dynamic="Required All" />
|
||||
|
||||
|
||||
<!-- Add your application specific runtime directives here. -->
|
||||
|
||||
|
||||
</Application>
|
||||
</Directives>
|
|
@ -0,0 +1,255 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProjectGuid>{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}</ProjectGuid>
|
||||
<OutputType>AppContainerExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>UITests.App</RootNamespace>
|
||||
<AssemblyName>UITests.App</AssemblyName>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
|
||||
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.19041.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WindowsXamlEnableOverview>true</WindowsXamlEnableOverview>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||
<AppxBundle>Never</AppxBundle>
|
||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||
<PackageCertificateKeyFile>UITests.App.pfx</PackageCertificateKeyFile>
|
||||
<PackageCertificateThumbprint>24D62F3B13B8B9514EAD9C4DE48CC30F7CC6151D</PackageCertificateThumbprint>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
<GenerateAppxPackageOnBuild>true</GenerateAppxPackageOnBuild>
|
||||
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
|
||||
</PropertyGroup>
|
||||
<Target Name="Pack">
|
||||
</Target>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\ARM\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
|
||||
<OutputPath>bin\ARM\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\ARM64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
|
||||
<OutputPath>bin\ARM64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Properties\Default.rd.xml" />
|
||||
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Assets\SplashScreen.scale-200.png" />
|
||||
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Assets\Square44x44Logo.scale-200.png" />
|
||||
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||
<Content Include="Assets\StoreLogo.png" />
|
||||
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="MainPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
|
||||
<Version>6.2.10</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="MUXAppTestHelpers">
|
||||
<Version>0.0.4</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="UITests.App.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.HighPerformance\Microsoft.Toolkit.HighPerformance.csproj">
|
||||
<Project>{7e30d48c-4cd8-47be-b557-10a20391dcc4}</Project>
|
||||
<Name>Microsoft.Toolkit.HighPerformance</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Mvvm\Microsoft.Toolkit.Mvvm.csproj">
|
||||
<Project>{d82ae6e1-e612-434e-acb2-363ee48738d3}</Project>
|
||||
<Name>Microsoft.Toolkit.Mvvm</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Parsers\Microsoft.Toolkit.Parsers.csproj">
|
||||
<Project>{42ca4935-54be-42ea-ac19-992378c08de6}</Project>
|
||||
<Name>Microsoft.Toolkit.Parsers</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Services\Microsoft.Toolkit.Services.csproj">
|
||||
<Project>{34398053-fc70-4243-84f9-f355defff66d}</Project>
|
||||
<Name>Microsoft.Toolkit.Services</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.Connectivity\Microsoft.Toolkit.Uwp.Connectivity.csproj">
|
||||
<Project>{b1e850ff-dde6-44d5-a830-34250e97a687}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.Connectivity</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.DeveloperTools\Microsoft.Toolkit.Uwp.DeveloperTools.csproj">
|
||||
<Project>{e7697922-9555-4cfb-aee0-c5f4d657e559}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.DeveloperTools</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.UWP.Input.GazeInteraction\Microsoft.Toolkit.Uwp.Input.GazeInteraction.csproj">
|
||||
<Project>{a5e98964-45b1-442d-a07a-298a3221d81e}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.Input.GazeInteraction</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.Notifications\Microsoft.Toolkit.Uwp.Notifications.csproj">
|
||||
<Project>{97ee849b-403c-490e-80ed-d19d7cc153fd}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.Notifications</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Animations\Microsoft.Toolkit.Uwp.UI.Animations.csproj">
|
||||
<Project>{b24a296c-b3eb-4e06-a64e-74ac2d1acc91}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Animations</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Controls.DataGrid\Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.csproj">
|
||||
<Project>{daeb9cec-c817-33b2-74b2-bc379380db72}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Controls.DataGrid</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Controls.Layout\Microsoft.Toolkit.Uwp.UI.Controls.Layout.csproj">
|
||||
<Project>{cb444381-18ba-4a51-bb32-3a498bcc1e99}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Controls.Layout</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Controls.Markdown\Microsoft.Toolkit.Uwp.UI.Controls.Markdown.csproj">
|
||||
<Project>{6fedf199-b052-49dd-8f3e-2a9224998e0f}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Controls.Markdown</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Controls\Microsoft.Toolkit.Uwp.UI.Controls.csproj">
|
||||
<Project>{e9faabfb-d726-42c1-83c1-cb46a29fea81}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Controls</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI.Media\Microsoft.Toolkit.Uwp.UI.Media.csproj">
|
||||
<Project>{75f9ee44-3efa-47bc-aedd-351b9834a0af}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI.Media</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp.UI\Microsoft.Toolkit.Uwp.UI.csproj">
|
||||
<Project>{3dd8aa7c-3569-4e51-992f-0c2257e8878e}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp.UI</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Uwp\Microsoft.Toolkit.Uwp.csproj">
|
||||
<Project>{805f80df-75c6-4c2f-8fd9-b47f6d0df5a3}</Project>
|
||||
<Name>Microsoft.Toolkit.Uwp</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit\Microsoft.Toolkit.csproj">
|
||||
<Project>{6fe128a8-cefa-4a61-a987-ec92de6b538e}</Project>
|
||||
<Name>Microsoft.Toolkit</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,156 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting.Logging;
|
||||
|
||||
namespace UITests.Tests
|
||||
{
|
||||
// TAEF has a different terms for the same concepts as compared with MSTest.
|
||||
// In order to allow both to use the same test files, we'll define these helper classes
|
||||
// to translate TAEF into MSTest.
|
||||
public static class Log
|
||||
{
|
||||
public static void Comment(string format, params object[] args)
|
||||
{
|
||||
LogMessage(format, args);
|
||||
}
|
||||
|
||||
public static void Warning(string format, params object[] args)
|
||||
{
|
||||
LogMessage(format, args);
|
||||
}
|
||||
|
||||
public static void Error(string format, params object[] args)
|
||||
{
|
||||
LogMessage(format, args);
|
||||
}
|
||||
|
||||
private static void LogMessage(string format, object[] args)
|
||||
{
|
||||
// string.Format() complains if we pass it something with braces, even if we have no arguments.
|
||||
// To account for that, we'll escape braces if we have no arguments.
|
||||
if (args.Length == 0)
|
||||
{
|
||||
format = format.Replace("{", "{{").Replace("}", "}}");
|
||||
}
|
||||
|
||||
Logger.LogMessage(format, args);
|
||||
}
|
||||
}
|
||||
|
||||
public static class LogController
|
||||
{
|
||||
public static void InitializeLogging()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
}
|
||||
|
||||
public static class Verify
|
||||
{
|
||||
// TODO: implement
|
||||
// NOTE: At the time of this comment, MUXControlsTestApp is hitting a code path where
|
||||
// running tests locally will set this flag to true. Hence an implementation of this flag
|
||||
// will only log errors and not fail the tests.
|
||||
public static bool DisableVerifyFailureExceptions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public static void AreEqual(object expected, object actual, string message = null)
|
||||
{
|
||||
Assert.AreEqual(expected, actual, message);
|
||||
}
|
||||
|
||||
public static void AreEqual<T>(T expected, T actual, string message = null)
|
||||
{
|
||||
Assert.AreEqual(expected, actual, message);
|
||||
}
|
||||
|
||||
public static void AreNotEqual(object notExpected, object actual, string message = null)
|
||||
{
|
||||
Assert.AreNotEqual(notExpected, actual, message);
|
||||
}
|
||||
|
||||
public static void AreNotEqual<T>(T notExpected, T actual, string message = null)
|
||||
{
|
||||
Assert.AreNotEqual(notExpected, actual, message);
|
||||
}
|
||||
|
||||
public static void AreSame(object expected, object actual, string message = null)
|
||||
{
|
||||
Assert.AreSame(expected, actual, message);
|
||||
}
|
||||
|
||||
public static void AreNotSame(object notExpected, object actual, string message = null)
|
||||
{
|
||||
Assert.AreNotSame(notExpected, actual, message);
|
||||
}
|
||||
|
||||
public static void IsLessThan(IComparable expectedLess, IComparable expectedGreater, string message = null)
|
||||
{
|
||||
Assert.IsTrue(expectedLess.CompareTo(expectedGreater) < 0, message);
|
||||
}
|
||||
|
||||
public static void IsLessThanOrEqual(IComparable expectedLess, IComparable expectedGreater, string message = null)
|
||||
{
|
||||
Assert.IsTrue(expectedLess.CompareTo(expectedGreater) <= 0, message);
|
||||
}
|
||||
|
||||
public static void IsGreaterThan(IComparable expectedGreater, IComparable expectedLess, string message = null)
|
||||
{
|
||||
Assert.IsTrue(expectedGreater.CompareTo(expectedLess) > 0, message);
|
||||
}
|
||||
|
||||
public static void IsGreaterThanOrEqual(IComparable expectedGreater, IComparable expectedLess, string message = null)
|
||||
{
|
||||
Assert.IsTrue(expectedGreater.CompareTo(expectedLess) >= 0, message);
|
||||
}
|
||||
|
||||
public static void IsNull(object value, string message = null)
|
||||
{
|
||||
Assert.IsNull(value, message);
|
||||
}
|
||||
|
||||
public static void IsNotNull(object value, string message = null)
|
||||
{
|
||||
Assert.IsNotNull(value, message);
|
||||
}
|
||||
|
||||
public static void IsTrue(bool condition, string message = null)
|
||||
{
|
||||
Assert.IsTrue(condition, message);
|
||||
}
|
||||
|
||||
public static void IsFalse(bool condition, string message = null)
|
||||
{
|
||||
Assert.IsFalse(condition, message);
|
||||
}
|
||||
|
||||
public static void Fail()
|
||||
{
|
||||
Assert.Fail();
|
||||
}
|
||||
|
||||
public static void Fail(string message, params object[] args)
|
||||
{
|
||||
Assert.Fail(message, args);
|
||||
}
|
||||
|
||||
public static void Throws<T>(Action action, string message)
|
||||
where T : Exception
|
||||
{
|
||||
Assert.ThrowsException<T>(action, message);
|
||||
}
|
||||
|
||||
public static void Throws<T>(Action action)
|
||||
where T : Exception
|
||||
{
|
||||
Assert.ThrowsException<T>(action);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v3.1</TargetFrameworkVersion>
|
||||
<RuntimeIdentifier>win10-x86</RuntimeIdentifier>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<OutputType>Exe</OutputType>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
|
||||
<PackageReference Include="MUXTestInfra.MSTest" Version="0.0.4" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="2.1.2" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="2.1.2" />
|
||||
<PackageReference Include="System.Diagnostics.Process" Version="4.3.0" />
|
||||
<PackageReference Include="System.Drawing.Primitives" Version="4.3.0" />
|
||||
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.5.1" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
|
||||
<PackageReference Include="Microsoft.Windows.Apps.Test" Version="1.0.181205002" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\UITests.Tests.Shared\UITests.Tests.Shared.projitems" />
|
||||
</Project>
|
|
@ -0,0 +1,33 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
#if USING_TAEF
|
||||
using WEX.TestExecution.Markup;
|
||||
#else
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
#endif
|
||||
using Windows.UI.Xaml.Tests.MUXControls.InteractionTests.Infra;
|
||||
|
||||
namespace UITests.Tests
|
||||
{
|
||||
// This is marked as a test class to make sure our AssemblyInitialize and AssemblyCleanup
|
||||
// fixtures get executed. It won't actually host any tests.
|
||||
[TestClass]
|
||||
public class TestAssembly
|
||||
{
|
||||
[AssemblyInitialize]
|
||||
[TestProperty("CoreClrProfile", ".")]
|
||||
[TestProperty("RunFixtureAs:Assembly", "ElevatedUserOrSystem")]
|
||||
public static void AssemblyInitialize(TestContext testContext)
|
||||
{
|
||||
TestEnvironment.AssemblyInitialize(testContext, "UITests.App.pfx");
|
||||
}
|
||||
|
||||
[AssemblyCleanup]
|
||||
public static void AssemblyCleanup()
|
||||
{
|
||||
TestEnvironment.AssemblyCleanup();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Microsoft.Windows.Apps.Test.Foundation.Controls;
|
||||
using Windows.UI.Xaml.Tests.MUXControls.InteractionTests.Common;
|
||||
using Windows.UI.Xaml.Tests.MUXControls.InteractionTests.Infra;
|
||||
|
||||
#if USING_TAEF
|
||||
using WEX.Logging.Interop;
|
||||
using WEX.TestExecution;
|
||||
using WEX.TestExecution.Markup;
|
||||
#else
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
#endif
|
||||
|
||||
namespace UITests.Tests
|
||||
{
|
||||
[TestClass]
|
||||
public class Tests
|
||||
{
|
||||
public static TestApplicationInfo WinUICsUWPSampleApp
|
||||
{
|
||||
get
|
||||
{
|
||||
string assemblyDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
string baseDirectory = Path.Combine(Directory.GetParent(assemblyDir).Parent.Parent.Parent.Parent.FullName, "UITests.App");
|
||||
|
||||
Log.Comment($"Base Package Search Directory = \"{baseDirectory}\"");
|
||||
|
||||
var exclude = new[] { "Microsoft.NET.CoreRuntime", "Microsoft.VCLibs", "Microsoft.UI.Xaml", "Microsoft.NET.CoreFramework.Debug" };
|
||||
var files = Directory.GetFiles(baseDirectory, "*.msix", SearchOption.AllDirectories).Where(f => !exclude.Any(Path.GetFileNameWithoutExtension(f).Contains));
|
||||
|
||||
if (files.Count() == 0)
|
||||
{
|
||||
throw new Exception(string.Format("Failed to find '*.msix' in {0}'!", baseDirectory));
|
||||
}
|
||||
|
||||
string mostRecentlyBuiltPackage = string.Empty;
|
||||
DateTime timeMostRecentlyBuilt = DateTime.MinValue;
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
DateTime fileWriteTime = File.GetLastWriteTime(file);
|
||||
|
||||
if (fileWriteTime > timeMostRecentlyBuilt)
|
||||
{
|
||||
timeMostRecentlyBuilt = fileWriteTime;
|
||||
mostRecentlyBuiltPackage = file;
|
||||
}
|
||||
}
|
||||
|
||||
return new TestApplicationInfo(
|
||||
"UITests.App",
|
||||
"3568ebdf-5b6b-4ddd-bb17-462d614ba50f_gspb8g6x97k2t!App",
|
||||
"3568ebdf-5b6b-4ddd-bb17-462d614ba50f_gspb8g6x97k2t",
|
||||
"UITests.App",
|
||||
"UITests.App.exe",
|
||||
mostRecentlyBuiltPackage.Replace(".msix", string.Empty),
|
||||
"24d62f3b13b8b9514ead9c4de48cc30f7cc6151d",
|
||||
baseDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
public static TestSetupHelper.TestSetupHelperOptions TestSetupHelperOptions
|
||||
{
|
||||
get
|
||||
{
|
||||
return new TestSetupHelper.TestSetupHelperOptions
|
||||
{
|
||||
AutomationIdOfSafeItemToClick = string.Empty
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[ClassInitialize]
|
||||
[TestProperty("RunAs", "User")]
|
||||
[TestProperty("Classification", "ScenarioTestSuite")]
|
||||
[TestProperty("Platform", "Any")]
|
||||
public static void ClassInitialize(TestContext testContext)
|
||||
{
|
||||
TestEnvironment.Initialize(testContext, WinUICsUWPSampleApp);
|
||||
}
|
||||
|
||||
[ClassCleanup]
|
||||
public static void ClassCleanup()
|
||||
{
|
||||
TestEnvironment.AssemblyCleanupWorker(WinUICsUWPSampleApp);
|
||||
}
|
||||
|
||||
[TestCleanup]
|
||||
public void TestCleanup()
|
||||
{
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SimpleLaunchTest()
|
||||
{
|
||||
var button = new Button(FindElement.ByName("Click Me"));
|
||||
var textBlock = new TextBlock(FindElement.ById("textBlock"));
|
||||
|
||||
Verify.IsNotNull(button);
|
||||
|
||||
Verify.AreEqual(string.Empty, textBlock.GetText());
|
||||
|
||||
button.Click();
|
||||
|
||||
Wait.ForIdle();
|
||||
|
||||
Verify.AreEqual("Clicked", textBlock.GetText());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
<HasSharedItems>true</HasSharedItems>
|
||||
<SharedGUID>1d8b0260-5c17-41da-9c38-1e37441b3925</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>UITests.Tests.Shared</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)TestAssembly.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Tests.cs" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>1d8b0260-5c17-41da-9c38-1e37441b3925</ProjectGuid>
|
||||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
|
||||
<PropertyGroup />
|
||||
<Import Project="UITests.Tests.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,15 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
namespace UITests.Tests.TAEF
|
||||
{
|
||||
public static class MainClass
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
// Empty main just to force the compiler to copy the DotNet Runtime on the folder as the output (since OutputType = Exe).
|
||||
// The .exe is unused, but we do use the dll generated by this compilation
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft.NET.CoreFramework.Debug.2.2.appx
|
||||
Microsoft.NET.CoreRuntime.2.2.appx
|
||||
Microsoft.UI.Xaml.2.4.appx
|
||||
Microsoft.VCLibs.x86.Debug.14.00.appx
|
|
@ -0,0 +1,4 @@
|
|||
Microsoft.NET.Native.Framework.2.2.appx
|
||||
Microsoft.NET.Native.Runtime.2.2.appx
|
||||
Microsoft.UI.Xaml.2.4.appx
|
||||
Microsoft.VCLibs.x86.14.00.appx
|
|
@ -0,0 +1,68 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v3.1</TargetFrameworkVersion>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
|
||||
<TaefRootDirectory>$(PkgTAEF_Redist_Wlk)\build\Binaries\x86\CoreClr\</TaefRootDirectory>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>$(DefineConstants);USING_TAEF</DefineConstants>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifier>win10-x86</RuntimeIdentifier>
|
||||
<IsPackable>false</IsPackable>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="TE.Managed">
|
||||
<HintPath>$(TaefRootDirectory)TE.Managed.dll</HintPath>
|
||||
<Private>true</Private>
|
||||
</Reference>
|
||||
<Reference Include="TE.ManagedTestMode">
|
||||
<HintPath>$(TaefRootDirectory)TE.ManagedTestMode.dll</HintPath>
|
||||
<Private>true</Private>
|
||||
</Reference>
|
||||
<Reference Include="Wex.Common.Managed">
|
||||
<HintPath>$(TaefRootDirectory)Wex.Common.Managed.dll</HintPath>
|
||||
<Private>true</Private>
|
||||
</Reference>
|
||||
<Reference Include="Wex.Logger.Interop">
|
||||
<HintPath>$(TaefRootDirectory)Wex.Logger.Interop.dll</HintPath>
|
||||
<Private>true</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MUXTestInfra.TAEF" Version="0.0.4" />
|
||||
<PackageReference Include="TAEF.Redist.Wlk" Version="10.31.180822002" GeneratePathProperty="true" />
|
||||
<PackageReference Include="MUXCustomBuildTasks" Version="1.0.67" GeneratePathProperty="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\UITests.App\AppPackages\*\*.msix" Link="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\UITests.App\AppPackages\*\Dependencies\$(PlatformTarget)\*.appx" Link="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\UITests.App\*.pfx" Link="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
|
||||
<None Include="$(PkgMUXCustomBuildTasks)\tools\x86\WttLog.dll" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="MainClass.cs"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="UITests.App.dependencies.Debug.txt" Condition="'$(Configuration)' == 'Debug'">
|
||||
<Link>UITests.App.dependencies.txt</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="UITests.App.dependencies.Release.txt" Condition="'$(Configuration)' == 'Release'">
|
||||
<Link>UITests.App.dependencies.txt</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\UITests.Tests.Shared\UITests.Tests.Shared.projitems" />
|
||||
</Project>
|
|
@ -41,8 +41,8 @@
|
|||
<PackageReference Include="System.Xml.XPath.XmlDocument">
|
||||
<Version>4.3.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.Xml.XPath.XmlDocument">
|
||||
<Version>4.3.0</Version>
|
||||
<PackageReference Include="System.Text.Json">
|
||||
<Version>4.7.2</Version>
|
||||
</PackageReference>
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Mvvm\Microsoft.Toolkit.Mvvm.csproj" />
|
||||
<ProjectReference Include="..\..\Microsoft.Toolkit.Parsers\Microsoft.Toolkit.Parsers.csproj" />
|
||||
|
|
|
@ -119,8 +119,25 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Toolkit.Uwp.UI.Co
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Toolkit.Uwp.UI.Controls.Markdown.Design", "Microsoft.Toolkit.Uwp.UI.Controls.Markdown.Design\Microsoft.Toolkit.Uwp.UI.Controls.Markdown.Design.csproj", "{67FE47A0-CA93-4680-B770-A0A48C1DBC40}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UITests.App", "UITests\UITests.App\UITests.App.csproj", "{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UITests", "UITests", "{6FAA1CFE-3368-4FD2-9DBD-F4700F69174C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UITests.Tests.MSTest", "UITests\UITests.Tests.MSTest\UITests.Tests.MSTest.csproj", "{5F720475-E263-4A5A-8C88-2B805B45B5BC}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0} = {05C83067-FA46-45E2-BEC4-EDEE84AD18D0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UITests.Tests.TAEF", "UITests\UITests.Tests.TAEF\UITests.Tests.TAEF.csproj", "{C8182EF0-77FB-4B43-A588-C71748A309C7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0} = {05C83067-FA46-45E2-BEC4-EDEE84AD18D0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "UITests.Tests.Shared", "UITests\UITests.Tests.Shared\UITests.Tests.Shared.shproj", "{1D8B0260-5C17-41DA-9C38-1E37441B3925}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
UITests\UITests.Tests.Shared\UITests.Tests.Shared.projitems*{1d8b0260-5c17-41da-9c38-1e37441b3925}*SharedItemsImports = 13
|
||||
UnitTests\UnitTests.Shared\UnitTests.Shared.projitems*{4e9466d1-d5aa-46ac-801b-c8fdab79f0d4}*SharedItemsImports = 13
|
||||
UnitTests\UnitTests.HighPerformance.Shared\UnitTests.HighPerformance.Shared.projitems*{5524523e-db0f-41f7-a0d4-43128422a342}*SharedItemsImports = 4
|
||||
UnitTests\UnitTests.Shared\UnitTests.Shared.projitems*{7878cd00-85e8-4d02-9757-8a43db4c6510}*SharedItemsImports = 5
|
||||
|
@ -843,6 +860,70 @@ Global
|
|||
{67FE47A0-CA93-4680-B770-A0A48C1DBC40}.Release|x64.Build.0 = Release|x86
|
||||
{67FE47A0-CA93-4680-B770-A0A48C1DBC40}.Release|x86.ActiveCfg = Release|x86
|
||||
{67FE47A0-CA93-4680-B770-A0A48C1DBC40}.Release|x86.Build.0 = Release|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x64.Build.0 = Debug|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x86.Build.0 = Debug|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM.Build.0 = Release|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x64.ActiveCfg = Release|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x64.Build.0 = Release|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x64.Deploy.0 = Release|x64
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x86.ActiveCfg = Release|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x86.Build.0 = Release|x86
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0}.Release|x86.Deploy.0 = Release|x86
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -879,6 +960,11 @@ Global
|
|||
{88C6FFBE-322D-4CEA-842B-B2CB281D357D} = {CFA75BE0-5A44-45DE-8114-426A605B062B}
|
||||
{6FEDF199-B052-49DD-8F3E-2A9224998E0F} = {F1AFFFA7-28FE-4770-BA48-10D76F3E59BC}
|
||||
{67FE47A0-CA93-4680-B770-A0A48C1DBC40} = {F1AFFFA7-28FE-4770-BA48-10D76F3E59BC}
|
||||
{05C83067-FA46-45E2-BEC4-EDEE84AD18D0} = {6FAA1CFE-3368-4FD2-9DBD-F4700F69174C}
|
||||
{6FAA1CFE-3368-4FD2-9DBD-F4700F69174C} = {B30036C4-D514-4E5B-A323-587A061772CE}
|
||||
{5F720475-E263-4A5A-8C88-2B805B45B5BC} = {6FAA1CFE-3368-4FD2-9DBD-F4700F69174C}
|
||||
{C8182EF0-77FB-4B43-A588-C71748A309C7} = {6FAA1CFE-3368-4FD2-9DBD-F4700F69174C}
|
||||
{1D8B0260-5C17-41DA-9C38-1E37441B3925} = {6FAA1CFE-3368-4FD2-9DBD-F4700F69174C}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {5403B0C4-F244-4F73-A35C-FE664D0F4345}
|
||||
|
|
|
@ -12,6 +12,10 @@ pool:
|
|||
variables:
|
||||
BuildConfiguration: Release
|
||||
|
||||
jobs:
|
||||
- job: ToolkitBuild
|
||||
timeoutInMinutes: 120
|
||||
|
||||
steps:
|
||||
- task: BatchScript@1
|
||||
inputs:
|
||||
|
@ -40,6 +44,9 @@ steps:
|
|||
- script: nbgv cloud
|
||||
displayName: Set Version
|
||||
|
||||
#- powershell: .\build\Install-WindowsSdkISO.ps1 19041
|
||||
# displayName: Insider SDK
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=PATH;]${env:LocalAppData}\Microsoft\dotnet;${env:PATH}";
|
||||
|
||||
|
@ -57,6 +64,7 @@ steps:
|
|||
|
||||
# - powershell: .\build\build.ps1 -target=Test
|
||||
# displayName: Test
|
||||
# timeoutInMinutes: 15
|
||||
|
||||
- powershell: .\build\build.ps1 -target=Package
|
||||
displayName: Package
|
||||
|
@ -66,7 +74,21 @@ steps:
|
|||
testResultsFormat: 'VSTest'
|
||||
testResultsFiles: '**/VsTestResults*.trx'
|
||||
displayName: Publish Test Results
|
||||
condition: succeededOrFailed()
|
||||
condition: always()
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: Publish UI Test Results
|
||||
inputs:
|
||||
targetPath: .\build\UITestResults.wtl
|
||||
artifactName: WexLogFileOutput
|
||||
condition: always()
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: Publish Test WexLogFileOutput
|
||||
inputs:
|
||||
targetPath: .\build\WexLogFileOutput
|
||||
artifactName: WexErrorLogFileOutput
|
||||
condition: failed()
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Authenticode Sign Packages
|
||||
|
|
|
@ -35,6 +35,8 @@ var toolsDir = buildDir + "/tools";
|
|||
var binDir = baseDir + "/bin";
|
||||
var nupkgDir = binDir + "/nupkg";
|
||||
|
||||
var taefBinDir = baseDir + "/UITests/UITests.Tests.TAEF/bin/Release/netcoreapp3.1/win10-x86";
|
||||
|
||||
var styler = toolsDir + "/XamlStyler.Console/tools/xstyler.exe";
|
||||
var stylerFile = baseDir + "/settings.xamlstyler";
|
||||
|
||||
|
@ -264,6 +266,7 @@ Task("Test")
|
|||
.Description("Runs all Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("\nRunning Unit Tests");
|
||||
var vswhere = VSWhereLatest(new VSWhereLatestSettings
|
||||
{
|
||||
IncludePrerelease = true
|
||||
|
@ -279,6 +282,7 @@ Task("Test")
|
|||
VSTest(baseDir + "/**/Release/**/UnitTests.*.appxrecipe", testSettings);
|
||||
}).DoesForEach(GetFiles(baseDir + "/**/UnitTests.*.NetCore.csproj"), (file) =>
|
||||
{
|
||||
Information("\nRunning NetCore Unit Tests");
|
||||
var testSettings = new DotNetCoreTestSettings
|
||||
{
|
||||
Configuration = "Release",
|
||||
|
@ -288,9 +292,34 @@ Task("Test")
|
|||
ArgumentCustomization = arg => arg.Append($"-s {baseDir}/.runsettings"),
|
||||
};
|
||||
DotNetCoreTest(file.FullPath, testSettings);
|
||||
}).DoesForEach(GetFiles(taefBinDir + "/**/UITests.Tests.TAEF.dll"), (file) =>
|
||||
{
|
||||
Information("\nRunning TAEF Interaction Tests");
|
||||
|
||||
var result = StartProcess(System.IO.Path.GetDirectoryName(file.FullPath) + "/TE.exe", file.FullPath + " /screenCaptureOnError /enableWttLogging /logFile:UITestResults.wtl");
|
||||
if (result != 0)
|
||||
{
|
||||
throw new InvalidOperationException("TAEF Tests failed!");
|
||||
}
|
||||
}).DeferOnError();
|
||||
|
||||
|
||||
Task("MSTestUITest")
|
||||
.Description("Runs UITests using MSTest")
|
||||
.DoesForEach(GetFiles(baseDir + "/**/UITests.*.MSTest.csproj"), (file) =>
|
||||
{
|
||||
Information("\nRunning UI Interaction Tests");
|
||||
|
||||
var testSettings = new DotNetCoreTestSettings
|
||||
{
|
||||
Configuration = "Release",
|
||||
NoBuild = true,
|
||||
Logger = "trx;LogFilePrefix=VsTestResults",
|
||||
Verbosity = DotNetCoreVerbosity.Normal
|
||||
};
|
||||
DotNetCoreTest(file.FullPath, testSettings);
|
||||
});
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// TASK TARGETS
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<configuration>
|
||||
<packageSources>
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
|
||||
<add key="MyGetWCT" value="https://dotnet.myget.org/F/uwpcommunitytoolkit/api/v3/index.json" />
|
||||
<add key="MyGet" value="https://dotnet.myget.org/F/uwpcommunitytoolkit/api/v3/index.json" protocolVersion="3" />
|
||||
<add key="MUX-Shared" value="https://pkgs.dev.azure.com/ms/microsoft-ui-xaml/_packaging/MUX-Shared/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|