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:
Diffstat (limited to 'main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs')
-rw-r--r--main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs58
1 files changed, 47 insertions, 11 deletions
diff --git a/main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs b/main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs
index 7b1bc7d9d0..7da7a99a82 100644
--- a/main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs
+++ b/main/tests/UnitTests/MonoDevelop.Projects/ProjectTests.cs
@@ -31,6 +31,7 @@ using NUnit.Framework;
using UnitTests;
using MonoDevelop.Core;
using System.Linq;
+using System.Xml;
namespace MonoDevelop.Projects
{
@@ -40,7 +41,7 @@ namespace MonoDevelop.Projects
[Test()]
public void ProjectFilePaths ()
{
- DotNetProject project = new DotNetAssemblyProject ("C#");
+ DotNetProject project = Services.ProjectService.CreateDotNetProject ("C#");
string dir = Environment.CurrentDirectory;
ProjectFile file1 = project.AddFile (Util.Combine (dir, "test1.cs"), BuildAction.Compile);
@@ -67,10 +68,10 @@ namespace MonoDevelop.Projects
public void Resources ()
{
string solFile = Util.GetSampleProject ("resources-tester", "ResourcesTester.sln");
- Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile);
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
CheckResourcesSolution (sol);
- BuildResult res = sol.Build (Util.GetMonitor (), "Debug");
+ BuildResult res = sol.Build (Util.GetMonitor (), "Debug").Result;
Assert.AreEqual (0, res.ErrorCount);
Assert.AreEqual (0, res.WarningCount);
Assert.AreEqual (1, res.BuildCount);
@@ -78,7 +79,7 @@ namespace MonoDevelop.Projects
string spath = Util.Combine (sol.BaseDirectory, "ResourcesTester", "bin", "Debug", "ca", "ResourcesTesterApp.resources.dll");
Assert.IsTrue (File.Exists (spath), "Satellite assembly not generated");
- sol.Clean (Util.GetMonitor (), "Debug");
+ sol.Clean (Util.GetMonitor (), "Debug").Wait ();
Assert.IsFalse (File.Exists (spath), "Satellite assembly not removed");
// msbuild doesn't delete this directory
@@ -173,7 +174,10 @@ namespace MonoDevelop.Projects
ProjectCreateInformation info = new ProjectCreateInformation ();
info.ProjectName = "Some.Test";
info.ProjectBasePath = "/tmp/test";
- DotNetProject p = new DotNetAssemblyProject ("C#", info, null);
+ var doc = new XmlDocument ();
+ var projectOptions = doc.CreateElement ("Options");
+ projectOptions.SetAttribute ("language", "C#");
+ DotNetProject p = (DotNetProject) Services.ProjectService.CreateProject ("DotNet", info, projectOptions);
Assert.AreEqual (2, p.Configurations.Count);
Assert.AreEqual ("Debug", p.Configurations [0].Name);
@@ -186,7 +190,7 @@ namespace MonoDevelop.Projects
[Test()]
public void NewConfigurationsHaveAnAssemblyName ()
{
- DotNetProject p = new DotNetAssemblyProject ("C#");
+ DotNetProject p = Services.ProjectService.CreateDotNetProject ("C#");
p.Name = "HiThere";
DotNetProjectConfiguration c = (DotNetProjectConfiguration) p.CreateConfiguration ("First");
Assert.AreEqual ("HiThere", c.OutputAssembly);
@@ -195,7 +199,7 @@ namespace MonoDevelop.Projects
[Test()]
public void CustomCommands ()
{
- DotNetProject p = new DotNetAssemblyProject ("C#");
+ DotNetProject p = Services.ProjectService.CreateDotNetProject ("C#");
p.Name = "SomeProject";
DotNetProjectConfiguration c = (DotNetProjectConfiguration) p.CreateConfiguration ("First");
@@ -220,7 +224,7 @@ namespace MonoDevelop.Projects
public void FileDependencies ()
{
string solFile = Util.GetSampleProject ("file-dependencies", "ConsoleProject.sln");
- Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile);
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
Project p = (Project) sol.Items [0];
var dir = p.BaseDirectory;
@@ -288,8 +292,8 @@ namespace MonoDevelop.Projects
{
string solFile = Util.GetSampleProject ("reference-refresh", "ConsoleProject.sln");
- Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile);
- DotNetProject project = sol.GetAllSolutionItems<DotNetProject> ().FirstOrDefault ();
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
+ DotNetProject project = sol.GetAllItems<DotNetProject> ().FirstOrDefault ();
Assert.AreEqual (4, project.References.Count);
@@ -435,7 +439,7 @@ namespace MonoDevelop.Projects
[Test]
public void AssemblyReferenceHintPath ()
{
- var file = GetType ().Assembly.Location;
+ var file = (FilePath) GetType ().Assembly.Location;
var asmName = Path.GetFileNameWithoutExtension (file);
var r = new ProjectReference (ReferenceType.Assembly, file);
@@ -447,5 +451,37 @@ namespace MonoDevelop.Projects
Assert.AreEqual (file, r.HintPath);
}
+
+ [Test]
+ public void LoadPortableLibrary ()
+ {
+ string solFile = Util.GetSampleProject ("portable-library", "portable-library.sln");
+
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
+ var p = sol.FindProjectByName ("PortableLibrary");
+
+ Assert.IsInstanceOf<DotNetProject> (p);
+
+ var pl = (DotNetProject)p;
+ Assert.AreEqual (".NETPortable", pl.GetDefaultTargetFrameworkId ().Identifier);
+ }
+
+ [Test]
+ public void BuildPortableLibrary ()
+ {
+ string solFile = Util.GetSampleProject ("portable-library", "portable-library.sln");
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
+ var res = sol.Build (Util.GetMonitor (), "Debug").Result;
+ Assert.AreEqual (0, res.Errors.Count);
+ }
+
+ [Test]
+ public void PortableLibraryImplicitReferences ()
+ {
+ string solFile = Util.GetSampleProject ("portable-library", "portable-library.sln");
+ Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile).Result;
+ var p = (DotNetProject) sol.FindProjectByName ("PortableLibrary");
+ var refs = p.GetReferencedAssemblies (p.Configurations [0].Selector).Select (r => Path.GetFileName (r)).ToArray ();
+ }
}
}