Browse Source

Add unit test

pull/2841/head
ElektroKill 3 years ago
parent
commit
02cf1d3fe2
No known key found for this signature in database
GPG Key ID: 7E3C5C084E40E3EC
  1. 2
      ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj
  2. 20
      ICSharpCode.Decompiler.Tests/TestCases/VBPretty/VBNonGenericForEach.cs
  3. 11
      ICSharpCode.Decompiler.Tests/TestCases/VBPretty/VBNonGenericForEach.vb
  4. 6
      ICSharpCode.Decompiler.Tests/VBPrettyTestRunner.cs

2
ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj

@ -114,6 +114,8 @@
<Compile Include="TestAssemblyResolver.cs" /> <Compile Include="TestAssemblyResolver.cs" />
<None Include="TestCases\VBPretty\VBAutomaticEvents.vb" /> <None Include="TestCases\VBPretty\VBAutomaticEvents.vb" />
<Compile Include="TestCases\VBPretty\VBAutomaticEvents.cs" /> <Compile Include="TestCases\VBPretty\VBAutomaticEvents.cs" />
<Compile Include="TestCases\VBPretty\VBNonGenericForEach.cs" />
<None Include="TestCases\VBPretty\VBNonGenericForEach.vb" />
<Compile Include="TypeSystem\ReflectionHelperTests.cs" /> <Compile Include="TypeSystem\ReflectionHelperTests.cs" />
<None Include="TestCases\Pretty\MetadataAttributes.cs" /> <None Include="TestCases\Pretty\MetadataAttributes.cs" />
<None Include="TestCases\Correctness\ComInterop.cs" /> <None Include="TestCases\Correctness\ComInterop.cs" />

20
ICSharpCode.Decompiler.Tests/TestCases/VBPretty/VBNonGenericForEach.cs

@ -0,0 +1,20 @@
using System;
using System.Collections;
using System.Runtime.CompilerServices;
public class VBNonGenericForEach
{
public static void M()
{
ArrayList arrayList = new ArrayList();
foreach (object item in arrayList)
{
#if ROSLYN && OPT
Console.WriteLine(RuntimeHelpers.GetObjectValue(RuntimeHelpers.GetObjectValue(item)));
#else
object objectValue = RuntimeHelpers.GetObjectValue(item);
Console.WriteLine(RuntimeHelpers.GetObjectValue(objectValue));
#endif
}
}
}

11
ICSharpCode.Decompiler.Tests/TestCases/VBPretty/VBNonGenericForEach.vb

@ -0,0 +1,11 @@
Imports System
Imports System.Collections
Public Class VBNonGenericForEach
Public Shared Sub M()
Dim collection = New ArrayList
For Each element In collection
Console.WriteLine(element)
Next
End Sub
End Class

6
ICSharpCode.Decompiler.Tests/VBPrettyTestRunner.cs

@ -131,6 +131,12 @@ namespace ICSharpCode.Decompiler.Tests
await Run(options: options | CompilerOptions.Library); await Run(options: options | CompilerOptions.Library);
} }
[Test]
public async Task VBNonGenericForEach([ValueSource(nameof(defaultOptions))] CompilerOptions options)
{
await Run(options: options | CompilerOptions.Library);
}
async Task Run([CallerMemberName] string testName = null, CompilerOptions options = CompilerOptions.UseDebug, DecompilerSettings settings = null) async Task Run([CallerMemberName] string testName = null, CompilerOptions options = CompilerOptions.UseDebug, DecompilerSettings settings = null)
{ {
var vbFile = Path.Combine(TestCasePath, testName + ".vb"); var vbFile = Path.Combine(TestCasePath, testName + ".vb");

Loading…
Cancel
Save