Skip to content

Commit 45b895c

Browse files
committed
Modify unit tests
1 parent 392fa0f commit 45b895c

12 files changed

Lines changed: 199 additions & 65 deletions

OrchardCoreContrib.PoExtractor.sln

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D1336C32-7
2525
EndProject
2626
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCoreContrib.PoExtractor.Abstractions", "src\OrchardCoreContrib.PoExtractor.Abstractions\OrchardCoreContrib.PoExtractor.Abstractions.csproj", "{3CEF8D52-49EB-49C9-A421-64A59C031B61}"
2727
EndProject
28-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCoreContrib.PoExtractor.Tests", "test\OrchardCoreContrib.PoExtractor.Tests\OrchardCoreContrib.PoExtractor.Tests.csproj", "{7989E10F-A776-44FE-B3CF-1EB377EFD665}"
28+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCoreContrib.PoExtractor.Tests", "test\OrchardCoreContrib.PoExtractor.Tests\OrchardCoreContrib.PoExtractor.Tests.csproj", "{7989E10F-A776-44FE-B3CF-1EB377EFD665}"
29+
EndProject
30+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCoreContrib.PoExtractor.DotNet.CS.Tests", "test\OrchardCoreContrib.PoExtractor.DotNet.CS.Tests\OrchardCoreContrib.PoExtractor.DotNet.CS.Tests.csproj", "{8BD3C4A9-2778-4B2F-8709-79FDC027CA01}"
31+
EndProject
32+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCoreContrib.PoExtractor.DotNet.VB.Tests", "test\OrchardCoreContrib.PoExtractor.DotNet.VB.Tests\OrchardCoreContrib.PoExtractor.DotNet.VB.Tests.csproj", "{A5885141-EDF9-4C6C-AFF7-B0BE92079E31}"
2933
EndProject
3034
Global
3135
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -73,6 +77,14 @@ Global
7377
{7989E10F-A776-44FE-B3CF-1EB377EFD665}.Debug|Any CPU.Build.0 = Debug|Any CPU
7478
{7989E10F-A776-44FE-B3CF-1EB377EFD665}.Release|Any CPU.ActiveCfg = Release|Any CPU
7579
{7989E10F-A776-44FE-B3CF-1EB377EFD665}.Release|Any CPU.Build.0 = Release|Any CPU
80+
{8BD3C4A9-2778-4B2F-8709-79FDC027CA01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
81+
{8BD3C4A9-2778-4B2F-8709-79FDC027CA01}.Debug|Any CPU.Build.0 = Debug|Any CPU
82+
{8BD3C4A9-2778-4B2F-8709-79FDC027CA01}.Release|Any CPU.ActiveCfg = Release|Any CPU
83+
{8BD3C4A9-2778-4B2F-8709-79FDC027CA01}.Release|Any CPU.Build.0 = Release|Any CPU
84+
{A5885141-EDF9-4C6C-AFF7-B0BE92079E31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
85+
{A5885141-EDF9-4C6C-AFF7-B0BE92079E31}.Debug|Any CPU.Build.0 = Debug|Any CPU
86+
{A5885141-EDF9-4C6C-AFF7-B0BE92079E31}.Release|Any CPU.ActiveCfg = Release|Any CPU
87+
{A5885141-EDF9-4C6C-AFF7-B0BE92079E31}.Release|Any CPU.Build.0 = Release|Any CPU
7688
EndGlobalSection
7789
GlobalSection(SolutionProperties) = preSolution
7890
HideSolutionNode = FALSE
@@ -88,6 +100,8 @@ Global
88100
{042754CC-2E1A-4ED9-8944-E51708A43515} = {D1336C32-75A4-411A-90D3-E011D2CEB076}
89101
{3CEF8D52-49EB-49C9-A421-64A59C031B61} = {FCA7649D-2A78-4580-8866-A00571045744}
90102
{7989E10F-A776-44FE-B3CF-1EB377EFD665} = {D1336C32-75A4-411A-90D3-E011D2CEB076}
103+
{8BD3C4A9-2778-4B2F-8709-79FDC027CA01} = {D1336C32-75A4-411A-90D3-E011D2CEB076}
104+
{A5885141-EDF9-4C6C-AFF7-B0BE92079E31} = {D1336C32-75A4-411A-90D3-E011D2CEB076}
91105
EndGlobalSection
92106
GlobalSection(ExtensibilityGlobals) = postSolution
93107
SolutionGuid = {694D0244-80FF-47D4-A54D-2DB1356B72A1}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
13+
<PackageReference Include="xunit" Version="2.4.2" />
14+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
<PrivateAssets>all</PrivateAssets>
17+
</PackageReference>
18+
<PackageReference Include="coverlet.collector" Version="3.1.2">
19+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20+
<PrivateAssets>all</PrivateAssets>
21+
</PackageReference>
22+
</ItemGroup>
23+
24+
<ItemGroup>
25+
<ProjectReference Include="..\..\src\OrchardCoreContrib.PoExtractor.DotNet.CS\OrchardCoreContrib.PoExtractor.DotNet.CS.csproj" />
26+
</ItemGroup>
27+
28+
</Project>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Microsoft.CodeAnalysis.CSharp;
2+
using OrchardCoreContrib.PoExtractor.DotNet.CS.MetadataProviders;
3+
4+
namespace OrchardCoreContrib.PoExtractor.DotNet.CS.Tests;
5+
6+
public class PluralStringExtractorTests
7+
{
8+
[Fact]
9+
public void ShouldExtractValidString()
10+
{
11+
// Arrange
12+
var text = "{0} thing";
13+
var pluralText = "{0} things";
14+
var metadataProvider = new CSharpMetadataProvider("DummyBasePath");
15+
var extractor = new PluralStringExtractor(metadataProvider);
16+
17+
var syntaxTree = CSharpSyntaxTree
18+
.ParseText($"S.Plural(1, \"{text}\", \"{pluralText}\");", path: "DummyPath");
19+
20+
var node = syntaxTree
21+
.GetRoot()
22+
.DescendantNodes()
23+
.ElementAt(2);
24+
25+
// Act
26+
var extracted = extractor.TryExtract(node, out var result);
27+
28+
// Assert
29+
Assert.True(extracted);
30+
Assert.Equal(text, result.Text);
31+
Assert.Equal(pluralText, result.TextPlural);
32+
}
33+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using Microsoft.CodeAnalysis.CSharp;
2+
using OrchardCoreContrib.PoExtractor.DotNet.CS.MetadataProviders;
3+
4+
namespace OrchardCoreContrib.PoExtractor.DotNet.CS.Tests;
5+
6+
public class SingularStringExtractorTests
7+
{
8+
[Fact]
9+
public void ExtractString()
10+
{
11+
// Arrange
12+
var text = "Thing";
13+
var metadataProvider = new CSharpMetadataProvider("DummyBasePath");
14+
var extractor = new SingularStringExtractor(metadataProvider);
15+
16+
var syntaxTree = CSharpSyntaxTree.ParseText($"S[\"{text}\"];", path: "DummyPath");
17+
18+
var node = syntaxTree
19+
.GetRoot()
20+
.DescendantNodes()
21+
.ElementAt(2);
22+
23+
// Act
24+
var extracted = extractor.TryExtract(node, out var result);
25+
26+
// Assert
27+
Assert.True(extracted);
28+
Assert.Equal(text, result.Text);
29+
}
30+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global using Xunit;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
13+
<PackageReference Include="xunit" Version="2.4.2" />
14+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
<PrivateAssets>all</PrivateAssets>
17+
</PackageReference>
18+
<PackageReference Include="coverlet.collector" Version="3.1.2">
19+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20+
<PrivateAssets>all</PrivateAssets>
21+
</PackageReference>
22+
</ItemGroup>
23+
24+
<ItemGroup>
25+
<ProjectReference Include="..\..\src\OrchardCoreContrib.PoExtractor.DotNet.VB\OrchardCoreContrib.PoExtractor.DotNet.VB.csproj" />
26+
</ItemGroup>
27+
28+
</Project>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Microsoft.CodeAnalysis.VisualBasic;
2+
using OrchardCoreContrib.PoExtractor.DotNet.VB.MetadataProviders;
3+
4+
namespace OrchardCoreContrib.PoExtractor.DotNet.VB.Tests;
5+
6+
public class PluralStringExtractorTests
7+
{
8+
[Fact]
9+
public void ShouldExtractValidString()
10+
{
11+
// Arrange
12+
var text = "{0} thing";
13+
var pluralText = "{0} things";
14+
var metadataProvider = new VisualBasicMetadataProvider("DummyBasePath");
15+
var extractor = new PluralStringExtractor(metadataProvider);
16+
17+
var syntaxTree = VisualBasicSyntaxTree
18+
.ParseText($"S.Plural(1, \"{text}\", \"{pluralText}\")", path: "DummyPath");
19+
20+
var node = syntaxTree
21+
.GetRoot()
22+
.DescendantNodes()
23+
.ElementAt(1);
24+
25+
// Act
26+
var extracted = extractor.TryExtract(node, out var result);
27+
28+
// Assert
29+
Assert.True(extracted);
30+
Assert.Equal(text, result.Text);
31+
Assert.Equal(pluralText, result.TextPlural);
32+
}
33+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using Microsoft.CodeAnalysis.VisualBasic;
2+
using OrchardCoreContrib.PoExtractor.DotNet.VB.MetadataProviders;
3+
4+
namespace OrchardCoreContrib.PoExtractor.DotNet.VB.Tests;
5+
6+
public class SingularStringExtractorTests
7+
{
8+
[Fact]
9+
public void ExtractString()
10+
{
11+
// Arrange
12+
var text = "Thing";
13+
var metadataProvider = new VisualBasicMetadataProvider("DummyBasePath");
14+
var extractor = new SingularStringExtractor(metadataProvider);
15+
16+
var syntaxTree = VisualBasicSyntaxTree.ParseText($"S(\"{text}\")", path: "DummyPath");
17+
18+
var node = syntaxTree
19+
.GetRoot()
20+
.DescendantNodes()
21+
.ElementAt(1);
22+
23+
// Act
24+
var extracted = extractor.TryExtract(node, out var result);
25+
26+
// Assert
27+
Assert.True(extracted);
28+
Assert.Equal(text, result.Text);
29+
}
30+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global using Xunit;

test/OrchardCoreContrib.PoExtractor.Tests/OrchardCoreContrib.PoExtractor.Tests.csproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,4 @@
2525
<ProjectReference Include="..\..\src\OrchardCoreContrib.PoExtractor\OrchardCoreContrib.PoExtractor.csproj" />
2626
</ItemGroup>
2727

28-
<ItemGroup>
29-
<Compile Update="ProjectFiles\StringLocalizerExample.cs">
30-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
31-
</Compile>
32-
</ItemGroup>
33-
3428
</Project>

0 commit comments

Comments
 (0)