Skip to content

Commit

Permalink
User/ranjeshj/itemsviewfi (#227)
Browse files Browse the repository at this point in the history
* Update localization workflow for breaking changes (#162)

* Adding instrumentation for AcrylicBrush.TintLuminosityOpacity propert… (#149)

* Adding instrumentation for AcrylicBrush.TintLuminosityOpacity property change

* Changing telemetry logging of property change as a member instead of class

* Oops.  Forgot to remove the old id.

* Back-porting external changes from the OS repo. (#175)

* Avoid Narrator pronouncing the MenuFlyoutItem's keyboard accelerator. (#181)

* Avoid Narrator pronouncing the MenuFlyoutItem's keyboard accelerator.

* Expanding fix to pre-19H1 releases.

* Add screen capture and improved logging to helix tests (#176)

Enable /screencaptureonerror for TAEF tests and upload the screenshots to helix storage.
Also upload te.wtl log file.

Report uploaded urls of both of these to the Azure DevOps test report so that someone investigating a test failure can link directly to them instead of having to go to through the Mission Control site.

Here is an example run showing this in action:
https://dev.azure.com/ms/microsoft-ui-xaml/_build/results?buildId=1332&view=ms.vss-test-web.test-result-details

* Update the bug report issue template to not use checkboxes (#183)

* Renaming a few Scroller/ScrollViewer APIs (#185)

* Fixing Scroller's SnapPointsWithInvalidArgsThrow test.

* Renaming enum ScrollerState to InteractionState.
Renaming its enum values Interacting to Interaction and CustomAnimation to Animation.

* Updating ScrollBarVisibility enum. Replacing Collapsed with Hidden.

* Fix OS ports (#186)

* Update feature request issue template (#191)

* Make CalendarViewCalendarItemBackground the same as RS3 (#189)

* add SystemControlBackgroundAltHighRevealBackgroundBrush

* lift CalendarViewCalendarItemRevealBackground

* move CalendarViewCalendarItemRevealBackground to difference file

* Update TwoPaneView for API changes  (#193)

* MUX NavigationView should throw if WUXC NavViewItems are added to it (#69)

MUX NavigationView should throw if WUXC NavViewItems are added to it

Use IsItemItsOwnContainerOverride as a hook to approximate list contents change events and deny any WUX items in the MUX list.

[Internal Issue](https://microsoft.visualstudio.com/OS/ft_xamlcon/_workitems/edit/19017881)

* Applying some of the changes that came out of the API review meetings: (#200)

- Renaming enumerations
    ScrollerScrollMode --> ScrollMode
    ScrollerZoomMode --> ZoomMode
    ScrollerChainingMode --> ChainingMode
    ScrollerRailingMode --> RailingMode
    ScrollerInputKind --> InputKind
- Removing the ScrollMode.Auto enum value and make ScrollMode.Enabled the new default. I am preserving the old code with #ifdef USE_SCROLLMODE_AUTO since the Auto value may be re-introduced later.

* Adding telemetry for XLayout types (#169)

* Adding telemetry for XLayout types

* Update localization workflow for breaking changes (#162)

* Adding instrumentation for AcrylicBrush.TintLuminosityOpacity propert… (#149)

* Adding instrumentation for AcrylicBrush.TintLuminosityOpacity property change

* Changing telemetry logging of property change as a member instead of class

* Oops.  Forgot to remove the old id.

* Adding telemetry for XLayout types

* Undoing noisy merge

* Undoing another noisy merge

* Changes for Mux Acrylic and Reveal fallback is islands (#192)

* Keyboard Navigation: 'Back' button cannot be reached using tab order  (#204)

* Keyboard Navigation: 'Back' button cannot be reached using tab order
Remove special case code that disabled tab navigation on the NavigationView back button.
[Internal Issue](https://microsoft.visualstudio.com/OS/ft_xamlcon/_workitems/edit/20149845)
* Remove test case that assumes tab navigation is disabled on the back button
* Remove no longer used m_buttonHolderGettingFocusRevoker

* Add hints to cause GUID calculations to happen during precompile (#209)

* CommandBarFlyout Narrator fix (#199)

* Adding FlowsTo and FlowsFrom to ensure that the primary commands are connected to the secondary commands.

* Disabling new test to cut down on noise until it's fixed to work on all versions (#213)

[GitHub Issue](#211)

* Renaming Scroller.Child to Scroller.Content (#212)

* Scroller.Child renamed to Scroller.Content.

* Merging with master.

* Fix an animation bug of NavigationViewList. (#188)

*  Fix an animation bug of NavigationViewList.

* modify code to avoid /0 exception.

* When in mutiselect make sure that the treeview list supports selection pattern (#210)

* When in mutiselect make sure that the treeview list supports selection pattern

* Update Helix SDK version (#215)

This should improve PR validation from forks.

Also publish binlog from RunTestsInHelix.proj to aid debugging.

* Fix RatingControl scaling (#187)

* Fix spacing

* Fix margins

* Update comment

* Update calculations

* Remove inline

* Update comments

* Update dev/RatingControl/RatingControl.cpp

Co-Authored-By: kaiguo <[email protected]>

* Remove margin changes in markup

* Fix crash when scrolling nested ItemsRepeaters (#152)

* fix add pin bug
* update fix and also fix unrealiable canbringintoviewelements test
* fix unpinning case

* Pane Title is completely not visible in HC mode (#177)

* The pane title was being obscured by the pane toggle button. Outside of High Contrast that works
fine... but in HC the button background is opaque. I could split out resources for that background
to be transparent in HC... but fundamentally this is a weird layout to have the text _under_ the
button. It means that any non-transparent background is actually doing the wrong thing with regards
to layering on the text. So... I opted to change how this was built.

The key to fixing this was to have the button support both an icon and a piece of text. Since the
control already has a forked template this was pretty easy. Move the ContentPresenter to be to the
right of the fixed icon and update the layout accordingly.

The search button was riding on the same style as the toggle button for some reason. That wasn't
really necessary, as with a couple tweaks it could use a lightly styled standard Button template.

* Fix the behaviour of TreeViewItem.HorizontalContentAlignment (#203) (#218)

Remove the StackPanel containing the ContentPresenter and move layout
and indentation to the containing Grid.

Fix #203

* Remove workaround made for a midl bug. (#121)

* Fixing ScrollViewer name to turn on its tests in Helix. (#224)

* Replacing Scroller and ScrollViewer's IsChildAvailableWidthConstrained/IsChildAvailableHeightConstrained with ContentOrientation (#214)

* Step #1: Introduce Scroller/ScrollViewer.ContentOrientation.

* Step #2: Replace IsChildAvailableWidthConstrained/IsChildAvailableHeightConstrained usage with ContentOrientation and remove them.

* Updating ScrollerDynamicPage test UI.

* Fixing test ValidateSupportForScrollerConfigurationChanges.
  • Loading branch information
ranjeshj authored Jan 25, 2019
1 parent 00adb37 commit 33dc17c
Show file tree
Hide file tree
Showing 130 changed files with 6,419 additions and 3,069 deletions.
36 changes: 22 additions & 14 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
name: Bug report
about: File a bug report
title: ''
labels: ''
assignees: ''

---

Expand All @@ -25,20 +28,25 @@ Steps to reproduce the behavior:
NuGet package version:
<!-- [e.g. Microsoft.UI.Xaml 2.0.181011001] -->

Windows 10 version:
- [ ] Insider Build (xxxxx)
- [ ] October 2018 Update (17763)
- [ ] April 2018 Update (17134)
- [ ] Fall Creators Update (16299)
- [ ] Creators Update (15063)
- [ ] Anniversary Update (14393)

Device form factor:
- [ ] Desktop
- [ ] Mobile
- [ ] Xbox
- [ ] Surface Hub
- [ ] IoT
<!-- Which Windows versions did you see the issue on? Leave blank if you didn't try that version. -->
| Windows 10 version | Saw the problem? |
| :--------------------------------- | :-------------------- |
| Insider Build (xxxxx) | <!-- Yes/No? --> |
| October 2018 Update (17763) | <!-- Yes/No? --> |
| April 2018 Update (17134) | <!-- Yes/No? --> |
| Fall Creators Update (16299) | <!-- Yes/No? --> |
| Creators Update (15063) | <!-- Yes/No? --> |
| Anniversary Update (14393) | <!-- Yes/No? --> |

<!-- Which device form factors did you see the issue on? Leave blank if you didn't try that device. -->
| Device form factor | Saw the problem? |
| :-------------------- | :------------------- |
| Desktop | <!-- Yes/No? --> |
| Mobile | <!-- Yes/No? --> |
| Xbox | <!-- Yes/No? --> |
| Surface Hub | <!-- Yes/No? --> |
| IoT | <!-- Yes/No? --> |


**Additional context**
<!-- Enter any other applicable info here -->
16 changes: 7 additions & 9 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
name: Feature request
about: Suggest a new feature or idea
title: 'Proposal:'
labels: feature request
assignees: ''

---

Expand Down Expand Up @@ -32,17 +35,12 @@ All sections are required before we'll accept a PR to master, but aren't necessa
## Functional Requirements
<!-- Please include a prioritized list of what the feature should and shouldn't do -->

## Usage Examples
<!-- Please include one or more examples showing how you would use the feature.
You can include code examples or screenshots if that helps -->

## Detailed Feature Design
<!-- Please include any important design details.
## Important Notes
<!-- Please include any other important design details.
This could include one or more of:
- usage examples
- an API proposal (any supported language or pseudocode is fine)
- design mockups for a new user experience
- details on accessibility compliance for new UI
- design mockups or example screenshots
- other implementation notes
-->

Expand Down
2 changes: 1 addition & 1 deletion SdkVersion.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<SDKVersionRS3>10.0.16299.0</SDKVersionRS3>
<SDKVersionRS4>10.0.17134.0</SDKVersionRS4>
<SDKVersionRS5>10.0.17763.0</SDKVersionRS5>
<SDKVersion19H1Insider>10.0.18283.0</SDKVersion19H1Insider>
<SDKVersion19H1Insider>10.0.18312.0</SDKVersion19H1Insider>
</PropertyGroup>
<PropertyGroup>
<!-- By default we use the publicly shipped SDK version which is RS5 now -->
Expand Down
69 changes: 66 additions & 3 deletions build/Helix/ConvertWttLogToXUnit.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace HelixTestHelpers
Expand All @@ -16,14 +17,21 @@ public class TestPass

public class TestResult
{
public TestResult()
{
Screenshots = new List<string>();
}

public string Name { get; set; }
public bool Passed { get; set; }
public bool CleanupPassed { get; set; }
public TimeSpan ExecutionTime { get; set; }
public string Details { get; set; }

public List<string> Screenshots { get; private set; }
}

public static void ConvertWttLogToXUnitLog(string wttInputPath, string xunitOutputPath, string testNamePrefix)
public static void ConvertWttLogToXUnitLog(string wttInputPath, string xunitOutputPath, string testNamePrefix, string helixResultsContainerUri, string helixResultsContainerRsas)
{
var testPass = TestResultParser.ParseTestWttFile(wttInputPath, true);
var results = testPass.TestResults;
Expand Down Expand Up @@ -80,7 +88,24 @@ public static void ConvertWttLogToXUnitLog(string wttInputPath, string xunitOutp
failure.SetAttributeValue("exception-type", "Exception");

var message = new XElement("message");
message.Add(new XCData(result.Details));

StringBuilder errorMessage = new StringBuilder();

errorMessage.AppendLine("Log: " + GetUploadedFileUrl(wttInputPath, helixResultsContainerUri, helixResultsContainerRsas));

if(result.Screenshots.Any())
{
errorMessage.AppendLine("Screenshots:");
foreach(var screenshot in result.Screenshots)
{
errorMessage.AppendLine(GetUploadedFileUrl(screenshot, helixResultsContainerUri, helixResultsContainerRsas));
}
}

errorMessage.AppendLine("Error Log: ");
errorMessage.AppendLine(result.Details);

message.Add(new XCData(errorMessage.ToString()));
failure.Add(message);

test.Add(failure);
Expand Down Expand Up @@ -272,6 +297,26 @@ public static TestPass ParseTestWttFile(string fileName, bool cleanupFailuresAre
currentResult.Details += "]";
}
}

if (currentResult != null && element.Name == "Msg")
{
var dataElement = element.Element("Data");
if (dataElement != null)
{
var supportingInfo = dataElement.Element("SupportingInfo");
if (supportingInfo != null)
{
var screenshots = supportingInfo.Elements("Item")
.Where(item => GetAttributeValue(item, "Name") == "Screenshot")
.Select(item => GetAttributeValue(item, "Value"));

foreach(var screenshot in screenshots)
{
currentResult.Screenshots.Add(screenshot);
}
}
}
}
}

testPassStartTime = Int64.Parse(doc.Root.Descendants("WexTraceInfo").First().Attribute("TimeStamp").Value);
Expand All @@ -288,5 +333,23 @@ public static TestPass ParseTestWttFile(string fileName, bool cleanupFailuresAre
return testpass;
}
}

private static string GetAttributeValue(XElement element, string attributeName)
{
if(element.Attribute(attributeName) != null)
{
return element.Attribute(attributeName).Value;
}

return null;
}

private static string GetUploadedFileUrl(string filePath, string helixResultsContainerUri, string helixResultsContainerRsas)
{
var filename = Path.GetFileName(filePath);
return string.Format("{0}/{1}{2}", helixResultsContainerUri, filename, helixResultsContainerRsas);
}
}


}
7 changes: 6 additions & 1 deletion build/Helix/ConvertWttLogToXUnit.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ Param(
[string]$testNamePrefix
)

# Ideally these would be passed as parameters to the script. However ps makes it difficult to deal with string literals containing '&', so we just
# read the values directly from the environment variables
$helixResultsContainerUri = $Env:HELIX_RESULTS_CONTAINER_URI
$helixResultsContainerRsas = $Env:HELIX_RESULTS_CONTAINER_RSAS

Add-Type -Language CSharp -ReferencedAssemblies System.Xml,System.Xml.Linq (Get-Content .\ConvertWttLogToXUnit.cs -Raw)

[HelixTestHelpers.TestResultParser]::ConvertWttLogToXUnitLog($WttInputPath, $XUnitOutputPath, $testNamePrefix)
[HelixTestHelpers.TestResultParser]::ConvertWttLogToXUnitLog($WttInputPath, $XUnitOutputPath, $testNamePrefix, $helixResultsContainerUri, $helixResultsContainerRsas)
9 changes: 5 additions & 4 deletions build/Helix/RunTestsInHelix.proj
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<HelixType>test/product/</HelixType>
<EnableXUnitReporter>true</EnableXUnitReporter>
<EnableAzurePipelinesReporter>true</EnableAzurePipelinesReporter>
<FailOnMissionControlTestFailure>true</FailOnMissionControlTestFailure>
<HelixPreCommands>$(HelixPreCommands);set testnameprefix=$(Configuration).$(Platform)</HelixPreCommands>
</PropertyGroup>

Expand Down Expand Up @@ -34,9 +35,9 @@
<Timeout>00:20:00</Timeout>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.InteractionTests.ScrollBar2TestsWithInputHelper.*</Command>
</HelixWorkItem>
<HelixWorkItem Include="InteractionTests.ScrollerViewTestsWithInputHelper">
<HelixWorkItem Include="InteractionTests.ScrollViewerTestsWithInputHelper">
<Timeout>00:20:00</Timeout>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.InteractionTests.ScrollerViewTestsWithInputHelper.*</Command>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.InteractionTests.ScrollViewerTestsWithInputHelper.*</Command>
</HelixWorkItem>
<HelixWorkItem Include="InteractionTests.PersonPictureTests">
<Timeout>00:20:00</Timeout>
Expand Down Expand Up @@ -166,9 +167,9 @@
<Timeout>00:20:00</Timeout>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.ApiTests.ScrollerTests.*</Command>
</HelixWorkItem>
<HelixWorkItem Include="ApiTests.ScrollerViewTests">
<HelixWorkItem Include="ApiTests.ScrollViewerTests">
<Timeout>00:20:00</Timeout>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.ApiTests.ScrollerViewTests.*</Command>
<Command>call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /name:Windows.UI.Xaml.Tests.MUXControls.ApiTests.ScrollViewerTests.*</Command>
</HelixWorkItem>
<HelixWorkItem Include="ApiTests.SplitButtonTests">
<Timeout>00:20:00</Timeout>
Expand Down
2 changes: 1 addition & 1 deletion build/Helix/global.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"msbuild-sdks": {
"Microsoft.DotNet.Helix.Sdk": "1.0.0-beta.18619.3"
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19072.5"
}
}
11 changes: 9 additions & 2 deletions build/Helix/runtests.cmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
robocopy %HELIX_CORRELATION_PAYLOAD% . /s
robocopy %HELIX_CORRELATION_PAYLOAD% . /s /NP

te MUXControls.Test.dll MUXControlsTestApp.appx IXMPTestApp.appx /enablewttlogging /unicodeOutput:false /sessionTimeout:0:15 /testtimeout:0:10 %*
te MUXControls.Test.dll MUXControlsTestApp.appx IXMPTestApp.appx /enablewttlogging /unicodeOutput:false /sessionTimeout:0:15 /testtimeout:0:10 /screenCaptureOnError %*

%HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py -result te.wtl -result_name te.wtl

FOR %%I in (WexLogFileOutput\*.jpg) DO (
echo Uploading %%I to "%HELIX_RESULTS_CONTAINER_URI%/%%I%HELIX_RESULTS_CONTAINER_RSAS%"
%HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py -result %%I -result_name %%~nI%%~xI
)

cd scripts
powershell -ExecutionPolicy Bypass .\ConvertWttLogToXUnit.ps1 ..\te.wtl ..\testResults.xml %testnameprefix%
Expand Down
19 changes: 12 additions & 7 deletions build/RunHelixTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
matrix:
Release_x86:
buildPlatform: 'x86'
buildConfiguration: 'Release'
buildConfiguration: 'release'
Release_x64:
buildPlatform: 'x64'
buildConfiguration: 'Release'
buildConfiguration: 'release'

steps:
- task: CmdLine@1
Expand Down Expand Up @@ -76,19 +76,18 @@ jobs:
vmImage: 'VS2017-Win2016'
timeoutInMinutes: 120
variables:
- group: DotNet-HelixApi-Access
- name: artifactsDir
value: $(Build.SourcesDirectory)\Artifacts
strategy:
maxParallel: 4
matrix:
Release_x86:
buildPlatform: 'x86'
buildConfiguration: 'Release'
buildConfiguration: 'release'
helixTargetQueues: 'Windows.10.Amd64.ClientRS4.Open'
Release_x64:
buildPlatform: 'x64'
buildConfiguration: 'Release'
buildConfiguration: 'release'
# %3b is the escape code for ';' which is used as the delimiter
helixTargetQueues: 'Windows.10.Amd64.Open%3bWindows.10.Amd64.ServerRS5.Open'
steps:
Expand Down Expand Up @@ -126,5 +125,11 @@ jobs:
command: custom
projects: build\Helix\RunTestsInHelix.proj
custom: msbuild
arguments: '/p:Creator=WinUI /p:IsExternal=true /p:HelixBuild=$(Build.BuildId).$(buildPlatform).$(buildConfiguration) /p:Platform=$(buildPlatform) /p:Configuration=$(buildConfiguration) /p:HelixTargetQueues=$(helixTargetQueues)'

arguments: '/binaryLogger:$(Build.SourcesDirectory)/RunTestsInHelix.$(buildPlatform).$(buildConfiguration).binlog /p:Creator=WinUI /p:IsExternal=true /p:HelixBuild=$(Build.BuildId).$(buildPlatform).$(buildConfiguration) /p:Platform=$(buildPlatform) /p:Configuration=$(buildConfiguration) /p:HelixTargetQueues=$(helixTargetQueues)'

- task: PublishBuildArtifacts@1
displayName: 'Publish RunTestsInHelix binlog'
condition: succeededOrFailed()
inputs:
PathtoPublish: $(Build.SourcesDirectory)/RunTestsInHelix.$(buildPlatform).$(buildConfiguration).binlog
artifactName: 'drop'
7 changes: 7 additions & 0 deletions dev/CommandBarFlyout/CommandBarFlyout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@
CommandBarFlyout::CommandBarFlyout()
{
__RP_Marker_ClassById(RuntimeProfiler::ProfId_CommandBarFlyout);

#ifdef USE_INSIDER_SDK
if (winrt::IFlyoutBase6 thisAsFlyoutBase6 = *this)
{
thisAsFlyoutBase6.ShouldConstrainToRootBounds(false);
}
#endif

if (winrt::IFlyoutBase5 thisAsFlyoutBase5 = *this)
{
Expand Down
Loading

0 comments on commit 33dc17c

Please sign in to comment.