Browse Source

fix: Address reviw

pull/9189/head
Giuseppe Lippolis 3 years ago
parent
commit
2aa79269e8
  1. 4
      samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml.cs
  2. 2
      samples/ControlCatalog/Pages/CompositionPage.axaml.cs
  3. 2
      samples/ControlCatalog/Pages/ImagePage.xaml.cs
  4. 20
      samples/ControlCatalog/Pages/OpenGlPage.xaml.cs
  5. 6
      samples/ControlCatalog/Pages/ScreenPage.cs
  6. 4
      samples/ControlCatalog/Pages/TabControlPage.xaml.cs
  7. 2
      src/Avalonia.Base/Input/KeyboardDevice.cs
  8. 12
      src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs
  9. 4
      src/Avalonia.Base/Rendering/DeferredRenderer.cs
  10. 4
      src/Avalonia.Base/Rendering/SceneGraph/SceneBuilder.cs
  11. 4
      src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs
  12. 2
      src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs
  13. 8
      src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs
  14. 2
      src/Avalonia.X11/XI2Manager.cs
  15. 4
      src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs
  16. 10
      tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/BindingExtensionTests.cs
  17. 8
      tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceExtensionTests.cs
  18. 33
      tests/Avalonia.Markup.Xaml.UnitTests/Parsers/PropertyParserTests.cs

4
samples/ControlCatalog/Pages/AutoCompleteBoxPage.xaml.cs

@ -109,8 +109,8 @@ namespace ControlCatalog.Pages
{
this.InitializeComponent();
States = AutoCompleteBoxPage.BuildAllStates();
Sentences = AutoCompleteBoxPage.BuildAllSentences();
States = BuildAllStates();
Sentences = BuildAllSentences();
foreach (AutoCompleteBox box in GetAllAutoCompleteBox().Where(x => x.Name != "CustomAutocompleteBox"))
{

2
samples/ControlCatalog/Pages/CompositionPage.axaml.cs

@ -22,7 +22,7 @@ public partial class CompositionPage : UserControl
protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
{
base.OnAttachedToVisualTree(e);
this.Get<ItemsControl>("Items").Items = CompositionPage.CreateColorItems();
this.Get<ItemsControl>("Items").Items = CreateColorItems();
}
private static List<CompositionPageColorItem> CreateColorItems()

2
samples/ControlCatalog/Pages/ImagePage.xaml.cs

@ -52,7 +52,7 @@ namespace ControlCatalog.Pages
var comboxBox = (ComboBox)sender;
if (_croppedImage.Source is CroppedBitmap croppedBitmap)
{
croppedBitmap.SourceRect = ImagePage.GetCropRect(comboxBox.SelectedIndex);
croppedBitmap.SourceRect = GetCropRect(comboxBox.SelectedIndex);
}
}

20
samples/ControlCatalog/Pages/OpenGlPage.xaml.cs

@ -256,7 +256,7 @@ namespace ControlCatalog.Pages
protected unsafe override void OnOpenGlInit(GlInterface GL, int fb)
{
OpenGlPageControl.CheckError(GL);
CheckError(GL);
Info = $"Renderer: {GL.GetString(GL_RENDERER)} Version: {GL.GetString(GL_VERSION)}";
@ -277,13 +277,13 @@ namespace ControlCatalog.Pages
GL.BindAttribLocationString(_shaderProgram, positionLocation, "aPos");
GL.BindAttribLocationString(_shaderProgram, normalLocation, "aNormal");
Console.WriteLine(GL.LinkProgramAndGetError(_shaderProgram));
OpenGlPageControl.CheckError(GL);
CheckError(GL);
// Create the vertex buffer object (VBO) for the vertex data.
_vertexBufferObject = GL.GenBuffer();
// Bind the VBO and copy the vertex data into it.
GL.BindBuffer(GL_ARRAY_BUFFER, _vertexBufferObject);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
var vertexSize = Marshal.SizeOf<Vertex>();
fixed (void* pdata = _points)
GL.BufferData(GL_ARRAY_BUFFER, new IntPtr(_points.Length * vertexSize),
@ -291,21 +291,21 @@ namespace ControlCatalog.Pages
_indexBufferObject = GL.GenBuffer();
GL.BindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBufferObject);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
fixed (void* pdata = _indices)
GL.BufferData(GL_ELEMENT_ARRAY_BUFFER, new IntPtr(_indices.Length * sizeof(ushort)), new IntPtr(pdata),
GL_STATIC_DRAW);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
_vertexArrayObject = GL.GenVertexArray();
GL.BindVertexArray(_vertexArrayObject);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
GL.VertexAttribPointer(positionLocation, 3, GL_FLOAT,
0, vertexSize, IntPtr.Zero);
GL.VertexAttribPointer(normalLocation, 3, GL_FLOAT,
0, vertexSize, new IntPtr(12));
GL.EnableVertexAttribArray(positionLocation);
GL.EnableVertexAttribArray(normalLocation);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
}
@ -339,7 +339,7 @@ namespace ControlCatalog.Pages
GL.BindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBufferObject);
GL.BindVertexArray(_vertexArrayObject);
GL.UseProgram(_shaderProgram);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
var projection =
Matrix4x4.CreatePerspectiveFieldOfView((float)(Math.PI / 4), (float)(Bounds.Width / Bounds.Height),
0.01f, 1000);
@ -361,10 +361,10 @@ namespace ControlCatalog.Pages
GL.Uniform1f(minYLoc, _minY);
GL.Uniform1f(timeLoc, (float)St.Elapsed.TotalSeconds);
GL.Uniform1f(discoLoc, _disco);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
GL.DrawElements(GL_TRIANGLES, _indices.Length, GL_UNSIGNED_SHORT, IntPtr.Zero);
OpenGlPageControl.CheckError(GL);
CheckError(GL);
if (_disco > 0.01)
Dispatcher.UIThread.Post(InvalidateVisual, DispatcherPriority.Background);
}

6
samples/ControlCatalog/Pages/ScreenPage.cs

@ -55,11 +55,11 @@ namespace ControlCatalog.Pages
context.DrawRectangle(p, workingAreaRect);
var formattedText = ScreenPage.CreateFormattedText($"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}");
var formattedText = CreateFormattedText($"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}");
context.DrawText(formattedText, boundsRect.Position.WithY(boundsRect.Size.Height));
formattedText =
ScreenPage.CreateFormattedText($"WorkArea: {screen.WorkingArea.Width}:{screen.WorkingArea.Height}");
CreateFormattedText($"WorkArea: {screen.WorkingArea.Width}:{screen.WorkingArea.Height}");
context.DrawText(formattedText, boundsRect.Position.WithY(boundsRect.Size.Height + 20));
formattedText = CreateFormattedText($"Scaling: {screen.Scaling * 100}%");
@ -70,7 +70,7 @@ namespace ControlCatalog.Pages
context.DrawText(formattedText, boundsRect.Position.WithY(boundsRect.Size.Height + 60));
formattedText =
ScreenPage.CreateFormattedText(
CreateFormattedText(
$"Current: {screen.Equals(w.Screens.ScreenFromBounds(new PixelRect(w.Position, PixelSize.FromSize(w.Bounds.Size, scaling))))}");
context.DrawText(formattedText, boundsRect.Position.WithY(boundsRect.Size.Height + 80));
}

4
samples/ControlCatalog/Pages/TabControlPage.xaml.cs

@ -25,13 +25,13 @@ namespace ControlCatalog.Pages
{
Header = "Arch",
Text = "This is the first templated tab page.",
Image = TabControlPage.LoadBitmap("avares://ControlCatalog/Assets/delicate-arch-896885_640.jpg"),
Image = LoadBitmap("avares://ControlCatalog/Assets/delicate-arch-896885_640.jpg"),
},
new TabControlPageViewModelItem
{
Header = "Leaf",
Text = "This is the second templated tab page.",
Image = TabControlPage.LoadBitmap("avares://ControlCatalog/Assets/maple-leaf-888807_640.jpg"),
Image = LoadBitmap("avares://ControlCatalog/Assets/maple-leaf-888807_640.jpg"),
},
new TabControlPageViewModelItem
{

2
src/Avalonia.Base/Input/KeyboardDevice.cs

@ -67,7 +67,7 @@ namespace Avalonia.Input
{
if (newElement == null && oldElement != null)
{
KeyboardDevice.ClearFocusWithinAncestors(oldElement);
ClearFocusWithinAncestors(oldElement);
return;
}

12
src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs

@ -55,7 +55,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(Transform, brush, pen, geometry))
{
Add(new GeometryNode(Transform, brush, pen, geometry, CompositionDrawingContext.CreateChildScene(brush)));
Add(new GeometryNode(Transform, brush, pen, geometry, CreateChildScene(brush)));
}
else
{
@ -94,7 +94,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(Transform, pen, p1, p2))
{
Add(new LineNode(Transform, pen, p1, p2, CompositionDrawingContext.CreateChildScene(pen.Brush)));
Add(new LineNode(Transform, pen, p1, p2, CreateChildScene(pen.Brush)));
}
else
{
@ -110,7 +110,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(Transform, brush, pen, rect, boxShadows))
{
Add(new RectangleNode(Transform, brush, pen, rect, boxShadows, CompositionDrawingContext.CreateChildScene(brush)));
Add(new RectangleNode(Transform, brush, pen, rect, boxShadows, CreateChildScene(brush)));
}
else
{
@ -139,7 +139,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(Transform, brush, pen, rect))
{
Add(new EllipseNode(Transform, brush, pen, rect, CompositionDrawingContext.CreateChildScene(brush)));
Add(new EllipseNode(Transform, brush, pen, rect, CreateChildScene(brush)));
}
else
{
@ -165,7 +165,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(Transform, foreground, glyphRun))
{
Add(new GlyphRunNode(Transform, foreground, glyphRun, CompositionDrawingContext.CreateChildScene(foreground)));
Add(new GlyphRunNode(Transform, foreground, glyphRun, CreateChildScene(foreground)));
}
else
@ -324,7 +324,7 @@ internal class CompositionDrawingContext : IDrawingContextImpl, IDrawingContextW
if (next == null || !next.Item.Equals(mask, bounds))
{
Add(new OpacityMaskNode(mask, bounds, CompositionDrawingContext.CreateChildScene(mask)));
Add(new OpacityMaskNode(mask, bounds, CreateChildScene(mask)));
}
else
{

4
src/Avalonia.Base/Rendering/DeferredRenderer.cs

@ -277,13 +277,13 @@ namespace Avalonia.Rendering
/// <inheritdoc/>
Size IVisualBrushRenderer.GetRenderTargetSize(IVisualBrush brush)
{
return DeferredRenderer.TryGetChildScene(_currentDraw)?.Size ?? Size.Empty;
return TryGetChildScene(_currentDraw)?.Size ?? Size.Empty;
}
/// <inheritdoc/>
void IVisualBrushRenderer.RenderVisualBrush(IDrawingContextImpl context, IVisualBrush brush)
{
var childScene = DeferredRenderer.TryGetChildScene(_currentDraw);
var childScene = TryGetChildScene(_currentDraw);
if (childScene != null)
{

4
src/Avalonia.Base/Rendering/SceneGraph/SceneBuilder.cs

@ -18,7 +18,7 @@ namespace Avalonia.Rendering.SceneGraph
_ = scene ?? throw new ArgumentNullException(nameof(scene));
Dispatcher.UIThread.VerifyAccess();
SceneBuilder.UpdateSize(scene);
UpdateSize(scene);
scene.Layers.GetOrAdd(scene.Root.Visual);
using (var impl = new DeferredDrawingContextImpl(this, scene.Layers))
@ -46,7 +46,7 @@ namespace Avalonia.Rendering.SceneGraph
if (visual == scene.Root.Visual)
{
SceneBuilder.UpdateSize(scene);
UpdateSize(scene);
}
if (visual.VisualRoot == scene.Root.Visual)

4
src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs

@ -180,7 +180,7 @@ namespace Avalonia.Controls.Primitives
if (IsRoundingEnabled)
{
hsvColor = ColorSlider.RoundComponentValues(hsvColor);
hsvColor = RoundComponentValues(hsvColor);
}
// Note: Components converted into a usable range for the user
@ -305,7 +305,7 @@ namespace Avalonia.Controls.Primitives
if (IsRoundingEnabled)
{
hsvColor = ColorSlider.RoundComponentValues(hsvColor);
hsvColor = RoundComponentValues(hsvColor);
}
return (rgbColor, hsvColor);

2
src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs

@ -1074,7 +1074,7 @@ namespace Avalonia.Controls.Primitives
{
for (int y = pixelDimension - 1; y >= 0; --y)
{
ColorSpectrum.FillPixelForBox(
FillPixelForBox(
x, y, hsv, pixelDimension, components, minHue, maxHue, minSaturation, maxSaturation, minValue, maxValue,
bgraMinPixelData, bgraMiddle1PixelData, bgraMiddle2PixelData, bgraMiddle3PixelData, bgraMiddle4PixelData, bgraMaxPixelData,
newHsvValues);

8
src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs

@ -82,7 +82,7 @@ namespace Avalonia.Diagnostics.ViewModels
{
var setterValue = regularSetter.Value;
var resourceInfo = ControlDetailsViewModel.GetResourceInfo(setterValue);
var resourceInfo = GetResourceInfo(setterValue);
SetterViewModel setterVm;
@ -95,7 +95,7 @@ namespace Avalonia.Diagnostics.ViewModels
}
else
{
var isBinding = ControlDetailsViewModel.IsBinding(setterValue);
var isBinding = IsBinding(setterValue);
if (isBinding)
{
@ -509,8 +509,8 @@ namespace Avalonia.Diagnostics.ViewModels
SelectedEntityName = entityName;
SelectedEntityType = o.ToString();
var properties = ControlDetailsViewModel.GetAvaloniaProperties(o)
.Concat(ControlDetailsViewModel.GetClrProperties(o, _showImplementedInterfaces))
var properties = GetAvaloniaProperties(o)
.Concat(GetClrProperties(o, _showImplementedInterfaces))
.OrderBy(x => x, PropertyComparer.Instance)
.ThenBy(x => x.Name)
.ToArray();

2
src/Avalonia.X11/XI2Manager.cs

@ -197,7 +197,7 @@ namespace Avalonia.X11
}
}
static void OnEnterLeaveEvent(IXI2Client client, ref XIEnterLeaveEvent ev)
void OnEnterLeaveEvent(IXI2Client client, ref XIEnterLeaveEvent ev)
{
if (ev.evtype == XiEventType.XI_Leave)
{

4
src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs

@ -3,7 +3,6 @@ using System.ComponentModel;
using System.Globalization;
using Avalonia.Controls;
using Avalonia.Logging;
using Avalonia.Markup.Parsers;
using Avalonia.Markup.Xaml.Parsers;
using Avalonia.Markup.Xaml.Templates;
using Avalonia.Styling;
@ -21,9 +20,8 @@ namespace Avalonia.Markup.Xaml.Converters
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var registry = AvaloniaPropertyRegistry.Instance;
var parser = new PropertyParser();
var (ns, owner, propertyName) = PropertyParser.Parse(new CharacterReader(((string)value).AsSpan()));
var ownerType = AvaloniaPropertyTypeConverter.TryResolveOwnerByName(context, ns, owner);
var ownerType = TryResolveOwnerByName(context, ns, owner);
var targetType = context.GetFirstParent<ControlTemplate>()?.TargetType ??
context.GetFirstParent<Style>()?.Selector?.TargetType ??
typeof(Control);

10
tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/BindingExtensionTests.cs

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Avalonia.Controls;
using Avalonia.Controls.Presenters;
using Avalonia.Controls.Primitives;
@ -17,7 +15,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void BindingExtension_Binds_To_Source()
{
using (BindingExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -41,7 +39,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void BindingExtension_Binds_To_TargetNullValue()
{
using (BindingExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -66,7 +64,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void BindingExtension_TargetNullValue_UnsetByDefault()
{
using (BindingExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -143,7 +141,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
assetLoader: new MockAssetLoader(assets),
theme: () => new Styles
{
BindingExtensionTests.WindowStyle(),
WindowStyle(),
});
return UnitTestApplication.Start(services);

8
tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceExtensionTests.cs

@ -380,7 +380,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void StaticResource_Can_Be_Assigned_To_Converter()
{
using (StaticResourceExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -406,7 +406,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void StaticResource_Can_Be_Assigned_To_Binding_Converter_In_DataTemplate()
{
using (StaticResourceExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -441,7 +441,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
{
// this tests if IAmbientProviders in DataTemplate contexts are in correct order
// if they wouldn't be, Purple brush would be bound to
using (StaticResourceExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'
@ -522,7 +522,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
[Fact]
public void Automatically_Converts_Color_To_SolidColorBrush_From_Setter()
{
using (StaticResourceExtensionTests.StyledWindow())
using (StyledWindow())
{
var xaml = @"
<Window xmlns='https://github.com/avaloniaui'

33
tests/Avalonia.Markup.Xaml.UnitTests/Parsers/PropertyParserTests.cs

@ -12,7 +12,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Parses_Name()
{
var target = new PropertyParser();
var reader = new CharacterReader("Foo".AsSpan());
var (ns, owner, name) = PropertyParser.Parse(reader);
@ -24,7 +23,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Parses_Owner_And_Name()
{
var target = new PropertyParser();
var reader = new CharacterReader("Foo.Bar".AsSpan());
var (ns, owner, name) = PropertyParser.Parse(reader);
@ -36,7 +34,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Parses_Namespace_Owner_And_Name()
{
var target = new PropertyParser();
var reader = new CharacterReader("foo:Bar.Baz".AsSpan());
var (ns, owner, name) = PropertyParser.Parse(reader);
@ -48,7 +45,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Parses_Owner_And_Name_With_Parentheses()
{
var target = new PropertyParser();
var reader = new CharacterReader("(Foo.Bar)".AsSpan());
var (ns, owner, name) = PropertyParser.Parse(reader);
@ -60,7 +56,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Parses_Namespace_Owner_And_Name_With_Parentheses()
{
var target = new PropertyParser();
var reader = new CharacterReader("(foo:Bar.Baz)".AsSpan());
var (ns, owner, name) = PropertyParser.Parse(reader);
@ -72,8 +67,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Empty_String()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader(ReadOnlySpan<char>.Empty)));
Assert.Equal(0, ex.Column);
Assert.Equal("Expected property name.", ex.Message);
@ -82,8 +75,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Only_Whitespace()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader(" ".AsSpan())));
Assert.Equal(0, ex.Column);
Assert.Equal("Unexpected ' '.", ex.Message);
@ -92,8 +83,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Leading_Whitespace()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader(" Foo".AsSpan())));
Assert.Equal(0, ex.Column);
Assert.Equal("Unexpected ' '.", ex.Message);
@ -102,8 +91,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Trailing_Whitespace()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo ".AsSpan())));
Assert.Equal(3, ex.Column);
Assert.Equal("Unexpected ' '.", ex.Message);
@ -112,8 +99,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Invalid_Property_Name()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("123".AsSpan())));
Assert.Equal(0, ex.Column);
Assert.Equal("Unexpected '1'.", ex.Message);
@ -122,8 +107,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Trailing_Junk()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo%".AsSpan())));
Assert.Equal(3, ex.Column);
Assert.Equal("Unexpected '%'.", ex.Message);
@ -132,8 +115,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Invalid_Property_Name_After_Owner()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo.123".AsSpan())));
Assert.Equal(4, ex.Column);
Assert.Equal("Unexpected '1'.", ex.Message);
@ -142,8 +123,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Whitespace_Between_Owner_And_Name()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo. Bar".AsSpan())));
Assert.Equal(4, ex.Column);
Assert.Equal("Unexpected ' '.", ex.Message);
@ -152,8 +131,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Too_Many_Segments()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo.Bar.Baz".AsSpan())));
Assert.Equal(8, ex.Column);
Assert.Equal("Unexpected '.'.", ex.Message);
@ -162,8 +139,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Too_Many_Namespaces()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("foo:bar:Baz".AsSpan())));
Assert.Equal(8, ex.Column);
Assert.Equal("Unexpected ':'.", ex.Message);
@ -172,8 +147,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Parens_But_No_Owner()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("(Foo)".AsSpan())));
Assert.Equal(1, ex.Column);
Assert.Equal("Expected property owner.", ex.Message);
@ -182,8 +155,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Parens_And_Namespace_But_No_Owner()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("(foo:Bar)".AsSpan())));
Assert.Equal(1, ex.Column);
Assert.Equal("Expected property owner.", ex.Message);
@ -192,8 +163,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Missing_Close_Parens()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("(Foo.Bar".AsSpan())));
Assert.Equal(8, ex.Column);
Assert.Equal("Expected ')'.", ex.Message);
@ -202,8 +171,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
[Fact]
public void Fails_With_Unexpected_Close_Parens()
{
var target = new PropertyParser();
var ex = Assert.Throws<ExpressionParseException>(() => PropertyParser.Parse(new CharacterReader("Foo.Bar)".AsSpan())));
Assert.Equal(7, ex.Column);
Assert.Equal("Unexpected ')'.", ex.Message);

Loading…
Cancel
Save