Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/dotnet-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -212,24 +212,24 @@ jobs:
- name: Run CommunityToolkit Analyzers UnitTests
run: |
cd ${{ env.PathToCommunityToolkitAnalyzersUnitTestProjectDirectory }}
dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-analyzers.cobertura.xml" --coverage-output-format cobertura --report-xunit
dotnet test -c Release --report-gh -report-xunit-trx --report-xunit-trx-filename "ut-analyzers.trx" --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-analyzers.cobertura.xml" --coverage-output-format cobertura

- name: Run CommunityToolkit Source Generators UnitTests
if: runner.os == 'Windows'
run: |
cd ${{ env.PathToCommunityToolkitSourceGeneratorsUnitTestDirectory }}
dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-sourcegenerators.cobertura.xml" --coverage-output-format cobertura --report-xunit
dotnet test -c Release --report-gh -report-xunit-trx --report-xunit-trx-filename "ut-sourcegenerators.trx" --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-sourcegenerators.cobertura.xml" --coverage-output-format cobertura

- name: Run CommunityToolkit MediaElement Source Generators UnitTests
if: runner.os == 'Windows'
run: |
cd ${{ env.PathToCommunityToolkitMediaElementSourceGeneratorsUnitTestDirectory }}
dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-mediaelement-sourcegenerators.cobertura.xml" --coverage-output-format cobertura --report-xunit
dotnet test -c Release --report-gh -report-xunit-trx --report-xunit-trx-filename "ut-mediaelement-sourcegenerators.trx" --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-mediaelement-sourcegenerators.cobertura.xml" --coverage-output-format cobertura

- name: Run CommunityToolkit UnitTests
run: |
cd ${{ env.PathToCommunityToolkitUnitTestProjectDirectory }}
dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut.cobertura.xml" --coverage-output-format cobertura --report-xunit
dotnet test -c Release --report-gh -report-xunit-trx --report-xunit-trx-filename "ut.trx" --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut.cobertura.xml" --coverage-output-format cobertura

- name: Create code coverage report
if: ${{ runner.os == 'Windows' && (success() || failure()) }}
Expand Down
33 changes: 30 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,30 @@ https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitati
xUnit1041: Fixture arguments to test classes must have fixture sources
xUnit1042: The member referenced by the MemberData attribute returns untyped data rows
xUnit1043: Constructors on classes derived from FactAttribute must be public when used on test methods
xUnit1044: Avoid using TheoryData type arguments that are not serializable
xUnit1046: Avoid using TheoryDataRow arguments that are not serializable
xUnit1048: Avoid using 'async void' for test methods as it is deprecated in xUnit.net v3
xUnit1049: Do not use 'async void' for test methods as it is no longer supported
xUnit1050: The class referenced by the ClassData attribute returns untyped data rows
xUnit1051: Calls to methods which accept CancellationToken should use TestContext.Current.CancellationToken
xUnit1052: Avoid using 'TheoryData<...>' with types that implement 'ITheoryDataRow'
xUnit1053: The static member used as theory data must be statically initialized
xUnit1054: Properties used for conditional skipping must be public, static, and return bool
xUnit1055: Conditional skipping cannot set both SkipUnless and SkipWhen
xUnit1056: Type must have a single public non-static constructor
xUnit1057: Type must be public or internal
xUnit1058: Generic collection definitions are not supported in Native AOT
xUnit1059: Test classes may not be decorated with ICollectionFixture<>
xUnit1060: Cultured test methods must have at least one culture
xUnit1061: Fact methods cannot be generic
xUnit1062: Theory methods cannot be generic in Native AOT
xUnit1063: Test class cannot be an open generic type
xUnit1064: Theory parameter cannot use params modifier in Native AOT
xUnit1065: MemberData method is ambiguous
xUnit1066: MemberData parameter cannot use params modifier in Native AOT
xUnit1067: There is no matching MemberData method argument
xUnit1068: MemberData cannot point to an open generic type
xUnit1069: Test methods with a Timeout should reference TestContext.Current.CancellationToken
xUnit2000: Constants and literals should be the expected argument
xUnit2001: Do not use invalid equality check
xUnit2002: Do not use null check on value type
Expand Down Expand Up @@ -178,9 +198,16 @@ https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitati
xUnit2030: Do not use Assert.NotEmpty to check if a value exists in a collection
xUnit2031: Do not use Where clause with Assert.Single
xUnit2032: Type assertions based on 'assignable from' are confusingly named
xUnit2033: Use the assertion return value instead of re-deriving it
xUnit3000: Classes which cross AppDomain boundaries must derive directly or indirectly from LongLivedMarshalByRefObject
xUnit3001: Classes that are marked as serializable (or created by the test framework at runtime) must have a public parameterless constructor
xUnit3002: Classes which are JSON serializable should not be tested for their concrete type
xUnit3003: Classes which extend FactAttribute (directly or indirectly) should provide a public constructor for source information
xUnit3004: Type must implement appropriate interface
xUnit3005: Type must have an appropriate non-obsolete public constructor
xUnit3006: Test case implementation must be serializable
xUnit3007: Test case implementation might not be serializable
xUnit1045 + xUnit1047 ("might not be serializable") are intentionally excluded: they flag every TheoryData<object?>, TheoryData<IEnumerable?>, etc. used to test converters and behaviors, which cannot be resolved without suppressing the diagnostic
XC0045: Binding: Property not found
XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any
XC0618: Property, Property setter or BindableProperty "BackgroundColor" is deprecated
Expand All @@ -194,9 +221,9 @@ https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitati
CsWinRT1028,CsWinRT1030,
MVVMTK0001,MVVMTK0002,MVVMTK0003,MVVMTK0009,MVVMTK0010,MVVMTK0011,MVVMTK0012,MVVMTK0013,MVVMTK0017,MVVMTK0018,MVVMTK0019,MVVMTK0020,MVVMTK0023,MVVMTK0024,MVVMTK0032,MVVMTK0033,MVVMTK0034,MVVMTK0035,MVVMTK0036,MVVMTK0039,MVVMTK0042,MVVMTK0049,MVVMTK0050,MVVMTK0052,MVVMTK0053,MVVMTK0054,MVVMTK0055,MVVMTK0056,
NU1900,NU1901,NU1902,NU1903,NU1904,NU1905,
xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1048,xUnit1049,xUnit1050,xUnit1051,
xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032,
xUnit3000,xUnit3001,xUnit3002,
xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1044,xUnit1046,xUnit1048,xUnit1049,xUnit1050,xUnit1051,xUnit1052,xUnit1053,xUnit1054,xUnit1055,xUnit1056,xUnit1057,xUnit1058,xUnit1059,xUnit1060,xUnit1061,xUnit1062,xUnit1063,xUnit1064,xUnit1065,xUnit1066,xUnit1067,xUnit1068,xUnit1069,
xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032,xUnit2033,
xUnit3000,xUnit3001,xUnit3002,xUnit3003,xUnit3004,xUnit3005,xUnit3006,xUnit3007,
XC0045,XC0103,XC0618,
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
Expand Down
3 changes: 3 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@
"version": "10.0.100",
"rollForward": "latestFeature",
"allowPrerelease": false
},
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<RootNamespace>CommunityToolkit.Maui.Analyzers.UnitTests</RootNamespace>
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
</PropertyGroup>

<ItemGroup>
Expand All @@ -19,17 +20,13 @@
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.4" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.4" />
<PackageReference Include="xunit.v3.mtp-v2" Version="3.2.2" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.10.0" />
<PackageReference Include="xunit.v3" Version="4.0.0" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.0" />
<PackageReference Include="Microsoft.Testing.Extensions.GitHubActionsReport" Version="2.4.0" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(CodeAnalysisVersion)" />
</ItemGroup>

<ItemGroup>
<!--Fix vulnerabilities-->
<PackageReference Include="System.Formats.Asn1" Version="10.0.11" />
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Maui.Analyzers.CodeFixes\CommunityToolkit.Maui.Analyzers.CodeFixes.csproj" />
<ProjectReference Include="..\CommunityToolkit.Maui.Camera.Analyzers.CodeFixes\CommunityToolkit.Maui.Camera.Analyzers.CodeFixes.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == '$(NetVersion)-windows10.0.19041.0'">
<PackageReference Include="System.Speech" Version="10.0.1" />
<PackageReference Include="System.Speech" Version="10.0.11" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<RootNamespace>CommunityToolkit.Maui.MediaElement.SourceGenerators.UnitTests</RootNamespace>
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
</PropertyGroup>

<ItemGroup>
Expand All @@ -18,19 +19,15 @@
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.4" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.4" />
<PackageReference Include="xunit.v3.mtp-v2" Version="3.2.2" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.10.0" />
<PackageReference Include="xunit.v3" Version="4.0.0" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.0" />
<PackageReference Include="Microsoft.Testing.Extensions.GitHubActionsReport" Version="2.4.0" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(CodeAnalysisVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing" Version="1.1.4" />
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiPackageVersion)" />
</ItemGroup>

<ItemGroup>
<!--Fix vulnerabilities-->
<PackageReference Include="System.Formats.Asn1" Version="10.0.11" />
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Maui.Core\CommunityToolkit.Maui.Core.csproj" />
<ProjectReference Include="..\CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes\CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<RootNamespace>CommunityToolkit.Maui.SourceGenerators.UnitTests</RootNamespace>
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
</PropertyGroup>

<ItemGroup>
Expand All @@ -18,19 +19,15 @@
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.4" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.4" />
<PackageReference Include="xunit.v3.mtp-v2" Version="3.2.2" />
<PackageReference Include="xunit.v3" Version="4.0.0" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.11.0" />
<PackageReference Include="Microsoft.Testing.Extensions.GitHubActionsReport" Version="2.4.0" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(CodeAnalysisVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing" Version="1.1.4" />
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiPackageVersion)" />
</ItemGroup>

<ItemGroup>
<!--Fix vulnerabilities-->
<PackageReference Include="System.Formats.Asn1" Version="10.0.11" />
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Maui.SourceGenerators\CommunityToolkit.Maui.SourceGenerators.csproj" OutputItemType="Analyzer" SetTargetFramework="TargetFramework=netstandard2.0" />
<ProjectReference Include="..\CommunityToolkit.Maui\CommunityToolkit.Maui.csproj" />
Expand Down
12 changes: 6 additions & 6 deletions src/CommunityToolkit.Maui.UnitTests/Alerts/SnackbarTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public async Task SnackbarShow_CancellationTokenExpires()
[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarShow_CancellationTokenCanceled()
{
var cts = new CancellationTokenSource();
using var cts = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);

await Assert.ThrowsAsync<OperationCanceledException>(() =>
{
Expand All @@ -69,7 +69,7 @@ public async Task SnackbarDismiss_CancellationTokenExpires()
[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarDismiss_CancellationTokenCanceled()
{
var cts = new CancellationTokenSource();
using var cts = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);

await Assert.ThrowsAsync<OperationCanceledException>(() =>
{
Expand Down Expand Up @@ -176,7 +176,7 @@ public void SnackbarMake_NewSnackbarCreatedWithValidProperties()
[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarShow_CancellationTokenCancelled_ReceiveException()
{
using var cancellationTokenSource = new CancellationTokenSource();
using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);

cancellationTokenSource.Cancel();

Expand All @@ -186,7 +186,7 @@ public async Task SnackbarShow_CancellationTokenCancelled_ReceiveException()
[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarDismiss_CancellationTokenCancelled_ReceiveException()
{
using var cancellationTokenSource = new CancellationTokenSource();
using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);

cancellationTokenSource.Cancel();

Expand All @@ -196,14 +196,14 @@ public async Task SnackbarDismiss_CancellationTokenCancelled_ReceiveException()
[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarShow_CancellationTokenNotCancelled_NotReceiveException()
{
using var cancellationTokenSource = new CancellationTokenSource();
using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);
await snackbar.Invoking(x => x.Show(cancellationTokenSource.Token)).Should().NotThrowAsync<OperationCanceledException>();
}

[Fact(Timeout = (int)TestDuration.Short)]
public async Task SnackbarDismiss_CancellationTokenNotCancelled_NotReceiveException()
{
using var cancellationTokenSource = new CancellationTokenSource();
using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken);
await snackbar.Invoking(x => x.Dismiss(cancellationTokenSource.Token)).Should().NotThrowAsync<OperationCanceledException>();
}

Expand Down
Loading
Loading