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>2017-08-03 15:03:12 +0300
committerMike Krüger <mkrueger@xamarin.com>2017-08-03 15:03:12 +0300
commit24b4e73ddb55ab14f52d2143c9c523db64ff796b (patch)
treeaa6fca2411be9a48811f0f636f371ad3875cb559 /main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers
parent929dd3afb834c7f0c1ac0b9dd29243e5e303c80a (diff)
parent48cc41491cf9ddfc5a650b6b901c5937eab4366c (diff)
Merge branch 'master' into master-refactorings
Diffstat (limited to 'main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers')
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeMonoDevelopBuildIntegratedRestorer.cs58
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs2
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetSettings.cs42
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeSolutionManager.cs11
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableDotNetCoreNuGetProject.cs10
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableMonoDevelopProjectSystem.cs10
6 files changed, 113 insertions, 20 deletions
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeMonoDevelopBuildIntegratedRestorer.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeMonoDevelopBuildIntegratedRestorer.cs
new file mode 100644
index 0000000000..c60ab67a26
--- /dev/null
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeMonoDevelopBuildIntegratedRestorer.cs
@@ -0,0 +1,58 @@
+//
+// FakeMonoDevelopBuildIntegratedRestorer.cs
+//
+// Author:
+// Matt Ward <matt.ward@xamarin.com>
+//
+// Copyright (c) 2017 Xamarin Inc. (http://xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+using NuGet.ProjectManagement.Projects;
+
+namespace MonoDevelop.PackageManagement.Tests.Helpers
+{
+ class FakeMonoDevelopBuildIntegratedRestorer : IMonoDevelopBuildIntegratedRestorer
+ {
+ public bool LockFileChanged { get; set; }
+
+ public BuildIntegratedNuGetProject ProjectRestored;
+
+ public Task RestorePackages (
+ BuildIntegratedNuGetProject project,
+ CancellationToken cancellationToken)
+ {
+ ProjectRestored = project;
+ return Task.FromResult (0);
+ }
+
+ public List<BuildIntegratedNuGetProject> ProjectsRestored = new List<BuildIntegratedNuGetProject> ();
+
+ public Task RestorePackages (
+ IEnumerable<BuildIntegratedNuGetProject> projects,
+ CancellationToken cancellationToken)
+ {
+ ProjectsRestored.AddRange (projects);
+ return Task.FromResult (0);
+ }
+ }
+}
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs
index d38c7516eb..42fefb7f77 100644
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs
@@ -107,7 +107,7 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
return Task.FromResult (0);
}
- public void NotifyProjectReferencesChanged ()
+ public void NotifyProjectReferencesChanged (bool includeTransitiveProjectReferences)
{
}
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetSettings.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetSettings.cs
index 86d485ad5b..b95f9535d1 100644
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetSettings.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetSettings.cs
@@ -32,23 +32,13 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
{
class FakeNuGetSettings : ISettings
{
- public string FileName {
- get {
- throw new NotImplementedException ();
- }
- }
+ public string FileName { get; set; } = "NuGet.Config";
public IEnumerable<ISettings> Priority {
- get {
- throw new NotImplementedException ();
- }
+ get { yield return this; }
}
- public string Root {
- get {
- throw new NotImplementedException ();
- }
- }
+ public string Root { get; set; } = string.Empty;
public event EventHandler SettingsChanged;
@@ -69,16 +59,26 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
public IList<KeyValuePair<string, string>> GetNestedValues (string section, string subSection)
{
- throw new NotImplementedException ();
+ return new List<KeyValuePair<string, string>> ();
}
+ public Dictionary<string, List<SettingValue>> SettingValues = new Dictionary<string, List<SettingValue>> ();
+
public IList<SettingValue> GetSettingValues (string section, bool isPath = false)
{
- throw new NotImplementedException ();
+ List<SettingValue> settings = null;
+ if (SettingValues.TryGetValue (section, out settings))
+ return settings;
+ return new List<SettingValue> ();
}
+ public Dictionary<string, string> Values = new Dictionary<string, string> ();
+
public string GetValue (string section, string key, bool isPath = false)
{
+ string value = null;
+ if (Values.TryGetValue (GetKey (section, key), out value))
+ return value;
return null;
}
@@ -89,7 +89,12 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
public void SetValue (string section, string key, string value)
{
- throw new NotImplementedException ();
+ Values [GetKey (section, key)] = value;
+ }
+
+ public void SetValues (string section, List<SettingValue> values)
+ {
+ SettingValues [section] = values;
}
public void SetValues (string section, IReadOnlyList<SettingValue> values)
@@ -101,6 +106,11 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
{
throw new NotImplementedException ();
}
+
+ static string GetKey (string section, string key)
+ {
+ return $"{section}-{key}";
+ }
}
}
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeSolutionManager.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeSolutionManager.cs
index cb6291da22..5f4c0a240f 100644
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeSolutionManager.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeSolutionManager.cs
@@ -27,6 +27,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using MonoDevelop.Projects;
using NuGet.Configuration;
using NuGet.PackageManagement;
using NuGet.ProjectManagement;
@@ -113,14 +114,20 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
throw new NotImplementedException ();
}
- public Dictionary<IDotNetProject, FakeNuGetProject> NuGetProjects = new Dictionary<IDotNetProject, FakeNuGetProject> ();
+ public Dictionary<IDotNetProject, NuGetProject> NuGetProjects = new Dictionary<IDotNetProject, NuGetProject> ();
+ public Dictionary<DotNetProject, NuGetProject> NuGetProjectsUsingDotNetProjects = new Dictionary<DotNetProject, NuGetProject> ();
public NuGetProject GetNuGetProject (IDotNetProject project)
{
- FakeNuGetProject nugetProject = null;
+ NuGetProject nugetProject = null;
if (NuGetProjects.TryGetValue (project, out nugetProject))
return nugetProject;
+ if (project.DotNetProject != null) {
+ if (NuGetProjectsUsingDotNetProjects.TryGetValue (project.DotNetProject, out nugetProject))
+ return nugetProject;
+ }
+
return new FakeNuGetProject (project);
}
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableDotNetCoreNuGetProject.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableDotNetCoreNuGetProject.cs
index 6380f38036..3ccbecf181 100644
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableDotNetCoreNuGetProject.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableDotNetCoreNuGetProject.cs
@@ -34,6 +34,7 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
public TestableDotNetCoreNuGetProject (DotNetProject project)
: base (project, new [] { "netcoreapp1.0" })
{
+ BuildIntegratedRestorer = new FakeMonoDevelopBuildIntegratedRestorer ();
}
public bool IsSaved { get; set; }
@@ -43,5 +44,14 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
IsSaved = true;
return Task.FromResult (0);
}
+
+ public FakeMonoDevelopBuildIntegratedRestorer BuildIntegratedRestorer;
+ public Solution SolutionUsedToCreateBuildIntegratedRestorer;
+
+ protected override IMonoDevelopBuildIntegratedRestorer CreateBuildIntegratedRestorer (Solution solution)
+ {
+ SolutionUsedToCreateBuildIntegratedRestorer = solution;
+ return BuildIntegratedRestorer;
+ }
}
}
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableMonoDevelopProjectSystem.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableMonoDevelopProjectSystem.cs
index cd658a6425..35e7b56720 100644
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableMonoDevelopProjectSystem.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/TestableMonoDevelopProjectSystem.cs
@@ -49,6 +49,7 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
public static Action<Action> GuiSyncDispatcher = handler => handler.Invoke ();
public static Func<Func<Task>,Task> GuiSyncDispatcherFunc = handler => handler.Invoke();
+ public static Func<Func<Task<bool>>,Task<bool>> GuiSyncDispatcherReturnBoolFunc = handler => handler.Invoke ();
public TestableMonoDevelopProjectSystem (IDotNetProject project)
: this (
@@ -64,7 +65,14 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers
FakeNuGetProjectContext context,
IPackageManagementFileService fileService,
PackageManagementEvents packageManagementEvents)
- : base (project, context, fileService, packageManagementEvents, GuiSyncDispatcher, GuiSyncDispatcherFunc)
+ : base (
+ project,
+ context,
+ fileService,
+ packageManagementEvents,
+ GuiSyncDispatcher,
+ GuiSyncDispatcherFunc,
+ GuiSyncDispatcherReturnBoolFunc)
{
FakeNuGetProjectContext = context;
FakeFileService = (FakeFileService)fileService;