#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

127 lines
3.8 KiB

// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Christian Hornung" email="chhornung@googlemail.com"/>
// <version>$Revision$</version>
// </file>
using System;
using Hornung.ResourceToolkit;
using Hornung.ResourceToolkit.Resolver;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using NUnit.Framework;
namespace ResourceToolkit.Tests.VBNet
{
[TestFixture]
[Ignore("VB ExpressionFinder is broken")]
public sealed class BclNRefactoryResourceResolverTests : AbstractVBNetResourceResolverTestFixture
{
// ********************************************************************************************************************************
const string CodeLocalSRMDirectInitFullName = @"Class A
Sub B
Dim mgr As New System.Resources.ResourceManager(""Test.TestResources"", System.Reflection.Assembly.GetExecutingAssembly())
mgr.GetString(""TestKey"")
End Sub
Sub C
mgr.GetString(""TestKey"")
End Sub
End Class
";
[Test]
public void LocalSRMDirectInitFullNameGetString()
{
ResourceResolveResult rrr = Resolve(CodeLocalSRMDirectInitFullName, 3, 18, null);
TestHelper.CheckReference(rrr, "Test.TestResources", "TestKey", "A", "A.B");
}
[Test]
public void LocalSRMDirectInitFullNameOutOfScope()
{
ResourceResolveResult rrr = Resolve(CodeLocalSRMDirectInitFullName, 7, 18, null);
TestHelper.CheckNoReference(rrr);
}
// ********************************************************************************************************************************
const string CodeLocalSRMDeferredInitUsing = @"Imports System.Resources
Class A
Sub B
Dim mgr As ResourceManager
mgr = New ResourceManager(""Test.TestResources"", System.Reflection.Assembly.GetExecutingAssembly())
mgr.GetString(""TestKey"")
mgr.GetString(
End Sub
End Class
";
[Test]
public void LocalSRMDeferredInitUsingGetString()
{
ResourceResolveResult rrr = Resolve(CodeLocalSRMDeferredInitUsing, 6, 18, null);
TestHelper.CheckReference(rrr, "Test.TestResources", "TestKey", "A", "A.B");
}
[Test]
public void LocalSRMDeferredInitUsingGetStringCompletion()
{
ResourceResolveResult rrr = Resolve(CodeLocalSRMDeferredInitUsing, 7, 16, '(');
TestHelper.CheckReference(rrr, "Test.TestResources", null, "A", "A.B");
}
// ********************************************************************************************************************************
const string CodeStaticPropertySRMFieldDirectInitUsing = @"Imports System.Resources
Class A
Public Shared ReadOnly Property Resources As ResourceManager
Get
Return mgr
End Get
End Property
Private Shared mgr As New ResourceManager(""Test.TestResources"", System.Reflection.Assembly.GetExecutingAssembly())
Sub B()
A.Resources.GetString(""TestKey"")
Resources.GetString(""TestKey"")
End Sub
End Class
";
[Test]
public void StaticPropertySRMFieldDirectInitUsingClassGetString()
{
ResourceResolveResult rrr = Resolve(CodeStaticPropertySRMFieldDirectInitUsing, 11, 25, null);
TestHelper.CheckReference(rrr, "Test.TestResources", "TestKey", "A", "A.B");
}
[Test]
public void StaticPropertySRMFieldDirectInitUsingGetString()
{
ResourceResolveResult rrr = Resolve(CodeStaticPropertySRMFieldDirectInitUsing, 12, 23, null);
TestHelper.CheckReference(rrr, "Test.TestResources", "TestKey", "A", "A.B");
}
// ********************************************************************************************************************************
const string CodeWithSyntaxErrorTooltipExceptionBug1 = @"Class A
Sub B()
(""OK"" & & foo)
End Sub
End Class
";
[Test]
public void SyntaxErrorTooltipExceptionBug1()
{
ResourceResolveResult rrr = Resolve(CodeWithSyntaxErrorTooltipExceptionBug1, 2, 9, null);
TestHelper.CheckNoReference(rrr);
}
}
}