Browse Source

Merge branch 'master' into remove-resm-xaml-compilation

pull/9220/head
Max Katz 4 years ago
committed by GitHub
parent
commit
59eab52205
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .editorconfig
  2. 2
      src/Avalonia.Base/AvaloniaProperty.cs
  3. 2
      src/Avalonia.Base/AvaloniaPropertyRegistry.cs
  4. 12
      src/Avalonia.Base/Compatibility/StringCompatibilityExtensions.cs
  5. 2
      src/Avalonia.Base/Media/UnicodeRange.cs
  6. 2
      src/Avalonia.Controls/Flyouts/FlyoutBase.cs
  7. 4
      src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs
  8. 14
      src/Avalonia.Remote.Protocol/MetsysBson.cs
  9. 4
      src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs
  10. 2
      tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs

2
.editorconfig

@ -143,6 +143,8 @@ dotnet_diagnostic.CA1802.severity = warning
dotnet_diagnostic.CA1825.severity = warning dotnet_diagnostic.CA1825.severity = warning
# CA1821: Remove empty finalizers # CA1821: Remove empty finalizers
dotnet_diagnostic.CA1821.severity = warning dotnet_diagnostic.CA1821.severity = warning
#CA1847: Use string.Contains(char) instead of string.Contains(string) with single characters
dotnet_diagnostic.CA1847.severity = warning
# Wrapping preferences # Wrapping preferences
csharp_wrap_before_ternary_opsigns = false csharp_wrap_before_ternary_opsigns = false

2
src/Avalonia.Base/AvaloniaProperty.cs

@ -41,7 +41,7 @@ namespace Avalonia
{ {
_ = name ?? throw new ArgumentNullException(nameof(name)); _ = name ?? throw new ArgumentNullException(nameof(name));
if (name.Contains(".")) if (name.Contains('.'))
{ {
throw new ArgumentException("'name' may not contain periods."); throw new ArgumentException("'name' may not contain periods.");
} }

2
src/Avalonia.Base/AvaloniaPropertyRegistry.cs

@ -228,7 +228,7 @@ namespace Avalonia
_ = type ?? throw new ArgumentNullException(nameof(type)); _ = type ?? throw new ArgumentNullException(nameof(type));
_ = name ?? throw new ArgumentNullException(nameof(name)); _ = name ?? throw new ArgumentNullException(nameof(name));
if (name.Contains(".")) if (name.Contains('.'))
{ {
throw new InvalidOperationException("Attached properties not supported."); throw new InvalidOperationException("Attached properties not supported.");
} }

12
src/Avalonia.Base/Compatibility/StringCompatibilityExtensions.cs

@ -0,0 +1,12 @@
using System.Runtime.CompilerServices;
namespace System;
#if !NET6_0_OR_GREATER
public static class StringCompatibilityExtensions
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool Contains(this string str, char search) =>
str.Contains(search.ToString());
}
#endif

2
src/Avalonia.Base/Media/UnicodeRange.cs

@ -163,7 +163,7 @@ namespace Avalonia.Media
throw new FormatException("Could not parse specified Unicode range segment."); throw new FormatException("Could not parse specified Unicode range segment.");
} }
if (!single.Value.Contains("?")) if (!single.Value.Contains('?'))
{ {
start = int.Parse(single.Groups[1].Value, System.Globalization.NumberStyles.HexNumber); start = int.Parse(single.Groups[1].Value, System.Globalization.NumberStyles.HexNumber);
end = start; end = start;

2
src/Avalonia.Controls/Flyouts/FlyoutBase.cs

@ -597,7 +597,7 @@ namespace Avalonia.Controls.Primitives
for (int i = presenter.Classes.Count - 1; i >= 0; i--) for (int i = presenter.Classes.Count - 1; i >= 0; i--)
{ {
if (!classes.Contains(presenter.Classes[i]) && if (!classes.Contains(presenter.Classes[i]) &&
!presenter.Classes[i].Contains(":")) !presenter.Classes[i].Contains(':'))
{ {
presenter.Classes.RemoveAt(i); presenter.Classes.RemoveAt(i);
} }

4
src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs

@ -1151,8 +1151,8 @@ namespace Avalonia.Controls
if (PIndex >= 0) if (PIndex >= 0)
{ {
//stringToTest contains a "P" between 2 "'", it's considered as text, not percent //stringToTest contains a "P" between 2 "'", it's considered as text, not percent
var isText = stringToTest.Substring(0, PIndex).Contains("'") var isText = stringToTest.Substring(0, PIndex).Contains('\'')
&& stringToTest.Substring(PIndex, FormatString.Length - PIndex).Contains("'"); && stringToTest.Substring(PIndex, FormatString.Length - PIndex).Contains('\'');
return !isText; return !isText;
} }

14
src/Avalonia.Remote.Protocol/MetsysBson.cs

@ -1364,13 +1364,13 @@ namespace Metsys.Bson
var optionsString = ReadName(); var optionsString = ReadName();
var options = RegexOptions.None; var options = RegexOptions.None;
if (optionsString.Contains("e")) options = options | RegexOptions.ECMAScript; if (optionsString.Contains('e')) options = options | RegexOptions.ECMAScript;
if (optionsString.Contains("i")) options = options | RegexOptions.IgnoreCase; if (optionsString.Contains('i')) options = options | RegexOptions.IgnoreCase;
if (optionsString.Contains("l")) options = options | RegexOptions.CultureInvariant; if (optionsString.Contains('l')) options = options | RegexOptions.CultureInvariant;
if (optionsString.Contains("m")) options = options | RegexOptions.Multiline; if (optionsString.Contains('m')) options = options | RegexOptions.Multiline;
if (optionsString.Contains("s")) options = options | RegexOptions.Singleline; if (optionsString.Contains('s')) options = options | RegexOptions.Singleline;
if (optionsString.Contains("w")) options = options | RegexOptions.IgnorePatternWhitespace; if (optionsString.Contains('w')) options = options | RegexOptions.IgnorePatternWhitespace;
if (optionsString.Contains("x")) options = options | RegexOptions.ExplicitCapture; if (optionsString.Contains('x')) options = options | RegexOptions.ExplicitCapture;
return new Regex(pattern, options); return new Regex(pattern, options);
} }

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

@ -15,7 +15,7 @@ namespace Avalonia.Markup.Xaml.Converters
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{ {
var valueStr = (string)value; var valueStr = (string)value;
if (!valueStr.Contains(":")) if (!valueStr.Contains(':'))
{ {
// shorthand seconds format (ie. "0.25") // shorthand seconds format (ie. "0.25")
var secs = double.Parse(valueStr, CultureInfo.InvariantCulture); var secs = double.Parse(valueStr, CultureInfo.InvariantCulture);
@ -25,4 +25,4 @@ namespace Avalonia.Markup.Xaml.Converters
return base.ConvertFrom(context, culture, value); return base.ConvertFrom(context, culture, value);
} }
} }
} }

2
tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs

@ -109,7 +109,7 @@ namespace Avalonia.IntegrationTests.Appium
using (OpenWindow(new PixelSize(200, 100), ShowWindowMode.Owned, WindowStartupLocation.Manual)) using (OpenWindow(new PixelSize(200, 100), ShowWindowMode.Owned, WindowStartupLocation.Manual))
{ {
mainWindow.Click(); mainWindow.SendClick();
var secondaryWindowIndex = GetWindowOrder("SecondaryWindow"); var secondaryWindowIndex = GetWindowOrder("SecondaryWindow");
Assert.Equal(1, secondaryWindowIndex); Assert.Equal(1, secondaryWindowIndex);
} }

Loading…
Cancel
Save