Browse Source

Merge branch 'master' into fixes/Warnings/DevGenerators/RS1024

pull/8902/head
workgroupengineering 4 years ago
committed by GitHub
parent
commit
69f65f208d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/Avalonia.Base/Media/DashStyle.cs
  2. 5
      tests/Avalonia.Base.UnitTests/Media/PenTests.cs
  3. 50
      tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs

1
src/Avalonia.Base/Media/DashStyle.cs

@ -35,7 +35,6 @@ namespace Avalonia.Media
/// Initializes a new instance of the <see cref="DashStyle"/> class.
/// </summary>
public DashStyle()
: this(null, 0)
{
}

5
tests/Avalonia.Base.UnitTests/Media/PenTests.cs

@ -53,7 +53,10 @@ namespace Avalonia.Base.UnitTests.Media
var raised = false;
target.Invalidated += (s, e) => raised = true;
dashes.Dashes.Add(0.3);
dashes.Dashes = new AvaloniaList<double>
{
0.3
};
Assert.True(raised);
}

50
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs

@ -1,3 +1,5 @@
using System;
using System.Linq;
using Avalonia.Controls;
using Avalonia.Controls.Presenters;
using Avalonia.Data;
@ -5,12 +7,49 @@ using Avalonia.Diagnostics;
using Avalonia.Markup.Xaml.Templates;
using Avalonia.Media;
using Avalonia.UnitTests;
using Avalonia.VisualTree;
using Xunit;
namespace Avalonia.Markup.Xaml.UnitTests.Xaml
{
public class ControlTemplateTests : XamlTestBase
{
[Fact]
public void StyledProperties_Should_Be_Set_In_The_ControlTemplate()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:controls=""using:Avalonia.Markup.Xaml.UnitTests.Xaml"">
<Button>
<Button.Template>
<ControlTemplate>
<controls:ListBoxHierachyLine>
<controls:ListBoxHierachyLine.LineDashStyle>
<DashStyle Dashes=""2,2"" Offset=""1"" />
</controls:ListBoxHierachyLine.LineDashStyle>
</controls:ListBoxHierachyLine>
</ControlTemplate>
</Button.Template>
</Button>
</Window>";
var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml);
var button = (Button)window.Content;
window.ApplyTemplate();
button.ApplyTemplate();
var listBoxHierarchyLine = button.GetVisualChildren().ElementAt(0) as ListBoxHierachyLine;
Assert.Equal(1, listBoxHierarchyLine.LineDashStyle.Offset);
Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes.Count);
Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes[0]);
Assert.Equal(2, listBoxHierarchyLine.LineDashStyle.Dashes[1]);
}
}
[Fact]
public void Inline_ControlTemplate_Styled_Values_Are_Set_With_Style_Priority()
{
@ -270,4 +309,15 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Assert.Equal("Bar", bar.Name);
}
}
public class ListBoxHierachyLine : Panel
{
public static readonly StyledProperty<DashStyle> LineDashStyleProperty =
AvaloniaProperty.Register<ListBoxHierachyLine, DashStyle>(nameof(LineDashStyle));
public DashStyle LineDashStyle
{
get => GetValue(LineDashStyleProperty);
set => SetValue(LineDashStyleProperty, value);
}
}
}

Loading…
Cancel
Save