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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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