Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5476 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61pull/1/head
15 changed files with 518 additions and 23 deletions
@ -0,0 +1,55 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using System.Collections.Generic; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using ICSharpCode.SharpDevelop.Dom.CSharp; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolveTextBoxFromSystemWindowsFormsImportedAsFooTestFixture : ResolveTestFixtureBase |
||||||
|
{ |
||||||
|
protected override ExpressionResult GetExpressionResult() |
||||||
|
{ |
||||||
|
MockClass textBoxClass = new MockClass(projectContent, "System.Windows.Forms.TextBox"); |
||||||
|
projectContent.ClassToReturnFromGetClass = textBoxClass; |
||||||
|
projectContent.ClassNameForGetClass = "System.Windows.Forms.TextBox"; |
||||||
|
|
||||||
|
return new ExpressionResult("Foo.TextBox", ExpressionContext.Default); |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GetPythonScript() |
||||||
|
{ |
||||||
|
return |
||||||
|
"import System.Windows.Forms as Foo\r\n" + |
||||||
|
"Foo.TextBox\r\n" + |
||||||
|
"\r\n"; |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void ResolveResultIsTypeResolveResult() |
||||||
|
{ |
||||||
|
Assert.IsTrue(resolveResult is TypeResolveResult); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void ResolveResultResolveClassNameIsTextBox() |
||||||
|
{ |
||||||
|
Assert.AreEqual("TextBox", TypeResolveResult.ResolvedClass.Name); |
||||||
|
} |
||||||
|
|
||||||
|
TypeResolveResult TypeResolveResult { |
||||||
|
get { return (TypeResolveResult)resolveResult; } |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolveFooWindowsWithImportSystemAsFooTestFixture : ResolveTestFixtureBase |
||||||
|
{ |
||||||
|
protected override ExpressionResult GetExpressionResult() |
||||||
|
{ |
||||||
|
MockProjectContent referencedContent = new MockProjectContent(); |
||||||
|
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", new ArrayList()); |
||||||
|
projectContent.ReferencedContents.Add(referencedContent); |
||||||
|
|
||||||
|
return new ExpressionResult("Foo.Windows"); |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GetPythonScript() |
||||||
|
{ |
||||||
|
return |
||||||
|
"import System as Foo\r\n" + |
||||||
|
"Foo.Windows\r\n"; |
||||||
|
} |
||||||
|
|
||||||
|
NamespaceResolveResult NamespaceResolveResult { |
||||||
|
get { return resolveResult as NamespaceResolveResult; } |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void NamespaceResolveResultHasSystemWindowsNamespace() |
||||||
|
{ |
||||||
|
Assert.AreEqual("System.Windows", NamespaceResolveResult.Name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolveSystemWindowsFormsWithImportSystemTestFixture : ResolveTestFixtureBase |
||||||
|
{ |
||||||
|
protected override ExpressionResult GetExpressionResult() |
||||||
|
{ |
||||||
|
MockProjectContent referencedContent = new MockProjectContent(); |
||||||
|
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", new ArrayList()); |
||||||
|
projectContent.ReferencedContents.Add(referencedContent); |
||||||
|
|
||||||
|
return new ExpressionResult("System.Windows.Forms"); |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GetPythonScript() |
||||||
|
{ |
||||||
|
return |
||||||
|
"import System\r\n" + |
||||||
|
"System.Windows.Forms\r\n"; |
||||||
|
} |
||||||
|
|
||||||
|
NamespaceResolveResult NamespaceResolveResult { |
||||||
|
get { return resolveResult as NamespaceResolveResult; } |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void NamespaceResolveResultHasSystemNamespace() |
||||||
|
{ |
||||||
|
Assert.AreEqual("System.Windows.Forms", NamespaceResolveResult.Name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolveSystemWindowsWithImportSystemTestFixture : ResolveTestFixtureBase |
||||||
|
{ |
||||||
|
protected override ExpressionResult GetExpressionResult() |
||||||
|
{ |
||||||
|
MockProjectContent referencedContent = new MockProjectContent(); |
||||||
|
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", new ArrayList()); |
||||||
|
projectContent.ReferencedContents.Add(referencedContent); |
||||||
|
|
||||||
|
return new ExpressionResult("System.Windows"); |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GetPythonScript() |
||||||
|
{ |
||||||
|
return |
||||||
|
"import System\r\n" + |
||||||
|
"System.Windows\r\n"; |
||||||
|
} |
||||||
|
|
||||||
|
NamespaceResolveResult NamespaceResolveResult { |
||||||
|
get { return resolveResult as NamespaceResolveResult; } |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void NamespaceResolveResultHasSystemWindowsNamespace() |
||||||
|
{ |
||||||
|
Assert.AreEqual("System.Windows", NamespaceResolveResult.Name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolveSystemWithImportSystemWindowsTestFixture : ResolveTestFixtureBase |
||||||
|
{ |
||||||
|
protected override ExpressionResult GetExpressionResult() |
||||||
|
{ |
||||||
|
return new ExpressionResult("System"); |
||||||
|
} |
||||||
|
|
||||||
|
protected override string GetPythonScript() |
||||||
|
{ |
||||||
|
return |
||||||
|
"import System.Windows\r\n" + |
||||||
|
"System\r\n"; |
||||||
|
} |
||||||
|
|
||||||
|
NamespaceResolveResult NamespaceResolveResult { |
||||||
|
get { return resolveResult as NamespaceResolveResult; } |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void NamespaceResolveResultHasSystemNamespace() |
||||||
|
{ |
||||||
|
Assert.AreEqual("System", NamespaceResolveResult.Name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolverContextDottedImportedNameMatchTests |
||||||
|
{ |
||||||
|
[Test] |
||||||
|
public void HasDottedImportNameReturnsTrueForSystemWithSystemWindowsFormsImported() |
||||||
|
{ |
||||||
|
string code = "import System.Windows.Forms"; |
||||||
|
ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); |
||||||
|
|
||||||
|
PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); |
||||||
|
Assert.IsTrue(resolverContext.HasDottedImportNameThatStartsWith("System")); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void HasDottedImportNameReturnsFalseForMyNamespaceWithMyNamespaceTestImportedWithoutDtso() |
||||||
|
{ |
||||||
|
string code = "import MyNamespaceTest"; |
||||||
|
ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); |
||||||
|
|
||||||
|
PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); |
||||||
|
Assert.IsFalse(resolverContext.HasDottedImportNameThatStartsWith("MyNamespace")); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,57 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.PythonBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using NUnit.Framework; |
||||||
|
using PythonBinding.Tests.Utils; |
||||||
|
|
||||||
|
namespace PythonBinding.Tests.Resolver |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ResolverContextPartialNamespaceExistsTests |
||||||
|
{ |
||||||
|
ParseInformation parseInfo; |
||||||
|
PythonResolverContext resolverContext; |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void Init() |
||||||
|
{ |
||||||
|
MockProjectContent projectContent = new MockProjectContent(); |
||||||
|
MockProjectContent winFormsReferenceProjectContent = new MockProjectContent(); |
||||||
|
winFormsReferenceProjectContent.AddExistingNamespaceContents("System.Windows.Forms", new ArrayList()); |
||||||
|
projectContent.ReferencedContents.Add(winFormsReferenceProjectContent); |
||||||
|
DefaultCompilationUnit unit = new DefaultCompilationUnit(projectContent); |
||||||
|
parseInfo = new ParseInformation(unit); |
||||||
|
|
||||||
|
resolverContext = new PythonResolverContext(parseInfo); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void PartialNamespaceExistsReturnsFalseForUnknownNamespace() |
||||||
|
{ |
||||||
|
string ns = "unknown"; |
||||||
|
Assert.IsFalse(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void PartialNamespaceExistsReturnsTrueForCompleteSystemWinFormsNamespaceMatch() |
||||||
|
{ |
||||||
|
string ns = "System.Windows.Forms"; |
||||||
|
Assert.IsTrue(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void PartialNamespaceExistsReturnsTrueForSystemWindowsNamespace() |
||||||
|
{ |
||||||
|
string ns = "System.Windows"; |
||||||
|
Assert.IsTrue(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue