Skip to content

Commit ed177c2

Browse files
Resolve CI / CD Failures
1 parent c1b6d11 commit ed177c2

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitati
2222
<NuGetAuditMode>all</NuGetAuditMode>
2323

2424
<!-- MAUI Specific -->
25-
<MauiPackageVersion>10.0.20</MauiPackageVersion>
25+
<MauiPackageVersion>10.0.30</MauiPackageVersion>
2626
<MauiStrictXamlCompilation>true</MauiStrictXamlCompilation>
2727
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
2828
<MauiEnableXamlCBindingWithSourceCompilation>true</MauiEnableXamlCBindingWithSourceCompilation>

src/CommunityToolkit.Maui.UnitTests/Behaviors/BaseBehaviorTest.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,17 @@ public void EnsureTryRemoveBindingContextUnchangedWhenViewAttached()
6666
Assert.True(wasSuccessful);
6767
Assert.Equal(view.BindingContext, attachedBehavior.BindingContext);
6868
}
69+
70+
protected override void Dispose(bool isDisposing)
71+
{
72+
base.Dispose(isDisposing);
73+
74+
view.Behaviors.Clear();
75+
}
6976

70-
protected class MockValidationBehavior : ValidationBehavior<string>
77+
sealed class MockViewModel;
78+
79+
protected sealed class MockValidationBehavior : ValidationBehavior<string>
7180
{
7281
public string? ExpectedValue { get; init; }
7382
public bool SimulateValidationDelay { get; init; } = false;
@@ -82,9 +91,4 @@ protected override async ValueTask<bool> ValidateAsync(string? value, Cancellati
8291
return value == ExpectedValue;
8392
}
8493
}
85-
86-
class MockViewModel
87-
{
88-
89-
}
9094
}

src/CommunityToolkit.Maui.UnitTests/Behaviors/BaseBehaviorTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
using CommunityToolkit.Maui.Behaviors;
12
using CommunityToolkit.Maui.UnitTests.Mocks;
23
using FluentAssertions;
34
using Xunit;
45

56
namespace CommunityToolkit.Maui.UnitTests.Behaviors;
67

7-
public class BaseBehaviorTests
8+
public class BaseBehaviorTests() : BaseBehaviorTest<MockBehavior, Label>(new MockBehavior(), new Label())
89
{
910
[Fact]
1011
public void AttachAndDetachCallsShouldCorrectlyAssignView()

src/CommunityToolkit.Maui/Behaviors/Validators/ValidationBehavior.shared.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -330,15 +330,24 @@ async ValueTask UpdateStateAsync(VisualElement? view, ValidationFlags flags, boo
330330

331331
if (view is not null)
332332
{
333-
UpdateStyle(view, IsValid);
333+
TryUpdateStyle(view, IsValid);
334334
}
335335
}
336336

337-
void UpdateStyle(in VisualElement view, bool isValid)
337+
bool TryUpdateStyle(in VisualElement view, bool isValid)
338338
{
339-
VisualStateManager.GoToState(view, isValid ? ValidVisualState : InvalidVisualState);
339+
try
340+
{
341+
VisualStateManager.GoToState(view, isValid ? ValidVisualState : InvalidVisualState);
342+
343+
view.Style = (isValid ? ValidStyle : InvalidStyle) ?? view.Style;
340344

341-
view.Style = (isValid ? ValidStyle : InvalidStyle) ?? view.Style;
345+
return true;
346+
}
347+
catch (ArgumentException)
348+
{
349+
return false;
350+
}
342351
}
343352

344353
void ResetValidationTokenSource(CancellationTokenSource? newTokenSource)

0 commit comments

Comments
 (0)