Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2015-03-02 20:06:34 +0300
committerMike Krüger <mkrueger@xamarin.com>2015-03-02 20:06:52 +0300
commit6649b8a84e71d32146fec7ade18448764e9d21b0 (patch)
tree6664eab76803b743914aac32f2ce73736105dc09 /main/tests/UnitTests/MonoDevelop.SourceEditor
parent2b9680ed8e0484656cbf81444a0b11f296b2a1ad (diff)
[UnitTests] DebugTooltipTests are running again.
Diffstat (limited to 'main/tests/UnitTests/MonoDevelop.SourceEditor')
-rw-r--r--main/tests/UnitTests/MonoDevelop.SourceEditor/DebugTooltipTests.cs45
1 files changed, 33 insertions, 12 deletions
diff --git a/main/tests/UnitTests/MonoDevelop.SourceEditor/DebugTooltipTests.cs b/main/tests/UnitTests/MonoDevelop.SourceEditor/DebugTooltipTests.cs
index 6487c107c6..4dc7a2085a 100644
--- a/main/tests/UnitTests/MonoDevelop.SourceEditor/DebugTooltipTests.cs
+++ b/main/tests/UnitTests/MonoDevelop.SourceEditor/DebugTooltipTests.cs
@@ -36,11 +36,16 @@ using ICSharpCode.NRefactory.CSharp;
using ICSharpCode.NRefactory.CSharp.TypeSystem;
using ICSharpCode.NRefactory.CSharp.Resolver;
using MonoDevelop.CSharp;
+using MonoDevelop.Projects;
+using MonoDevelop.Core.ProgressMonitoring;
+using MonoDevelop.Ide.TypeSystem;
+using MonoDevelop.Debugger;
+using UnitTests;
namespace MonoDevelop.SourceEditor
{
[TestFixture]
- public class DebugTooltipTests
+ public class DebugTooltipTests : TestBase
{
Document document;
string content;
@@ -50,23 +55,44 @@ namespace MonoDevelop.SourceEditor
var tww = new TestWorkbenchWindow ();
var content = new TestViewContent ();
tww.ViewContent = content;
- content.ContentName = "a.cs";
+ content.ContentName = "/a.cs";
content.Data.MimeType = "text/x-csharp";
- var doc = new Document (tww);
var text = input;
int endPos = text.IndexOf ('$');
if (endPos >= 0)
text = text.Substring (0, endPos) + text.Substring (endPos + 1);
+ var project = new DotNetAssemblyProject (Microsoft.CodeAnalysis.LanguageNames.CSharp);
+ project.Name = "test";
+ project.References.Add (new MonoDevelop.Projects.ProjectReference (ReferenceType.Package, "mscorlib"));
+ project.References.Add (new MonoDevelop.Projects.ProjectReference (ReferenceType.Package, "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));
+ project.References.Add (new MonoDevelop.Projects.ProjectReference (ReferenceType.Package, "System.Core"));
+
+ project.FileName = "test.csproj";
+ project.Files.Add (new ProjectFile ("/a.cs", BuildAction.Compile));
+
+ var solution = new MonoDevelop.Projects.Solution ();
+ var config = solution.AddConfiguration ("", true);
+ solution.DefaultSolutionFolder.AddItem (project);
+ using (var monitor = new NullProgressMonitor ())
+ TypeSystemService.Load (solution, monitor);
+
+ content.Project = project;
+
+
content.Text = text;
content.CursorPosition = Math.Max (0, endPos);
+ var doc = new Document (tww);
+ doc.SetProject (project);
var compExt = new CSharpCompletionTextEditorExtension ();
compExt.Initialize (doc.Editor, doc);
content.Contents.Add (compExt);
doc.UpdateParseDocument ();
+ TypeSystemService.Unload (solution);
+
return doc;
}
@@ -179,16 +205,11 @@ namespace DebuggerTooltipTests
static string ResolveExpression (Document doc, string content, int offset)
{
var editor = doc.Editor;
- ResolveResult result;
+ var loc = editor.OffsetToLocation (offset);
+ var resolver = doc.GetContent<IDebuggerExpressionResolver> ();
+
int startOffset;
- AstNode node;
-// TODO: Roslyn port
- //var loc = editor.OffsetToLocation (offset);
- //if (!doc.TryResolveAt (loc, out result, out node))
- // return null;
-//
- //return CSharpCompletionTextEditorExtension.ResolveExpression (doc.Editor, result, node, out startOffset);
- return "";
+ return resolver.ResolveExpression (editor, doc, offset, out startOffset);
}
int GetBasicOffset (string expr)