Browse Source

Merge branch 'newNR' of github.com:icsharpcode/SharpDevelop into newNR

pull/59/merge
Peter Forstmeier 12 years ago
parent
commit
e9ba626767
  1. 3
      samples/PInvokeAddIn/Project/PInvoke.nuspec
  2. 2
      samples/PInvokeAddIn/Project/Src/PInvokeCodeGenerator.cs
  3. 67
      src/AddIns/Misc/AddInManager2/AddInManager2.Tests/AvailableAddInsViewModelTests.cs
  4. 5
      src/AddIns/Misc/AddInManager2/AddInManager2.Tests/Fakes/FakePackage.cs
  5. 9
      src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/AvailableAddInsViewModel.cs
  6. 5
      src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/NuGetAddInsViewModelBase.cs

3
samples/PInvokeAddIn/Project/PInvoke.nuspec

@ -2,11 +2,12 @@ @@ -2,11 +2,12 @@
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>PInvoke</id>
<version>0.2</version>
<version>0.3</version>
<authors>Matt Ward</authors>
<owners>SharpDevelop</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>PInvoke.Net integration for SharpDevelop.</description>
<iconUrl>http://community.sharpdevelop.net/blogs/mattward/SharpDevelop.png</iconUrl>
<summary>PInvoke.Net integration for SharpDevelop.</summary>
<releaseNotes></releaseNotes>
<language>en-US</language>

2
samples/PInvokeAddIn/Project/Src/PInvokeCodeGenerator.cs

@ -21,7 +21,7 @@ namespace ICSharpCode.PInvokeAddIn @@ -21,7 +21,7 @@ namespace ICSharpCode.PInvokeAddIn
{
using (editor.Document.OpenUndoGroup()) {
int startLine = editor.Document.GetLineByOffset(editor.SelectionStart).LineNumber;
editor.SelectedText = DocumentUtilitites.NormalizeNewLines(signature, editor.Document, startLine);
editor.SelectedText = DocumentUtilities.NormalizeNewLines(signature, editor.Document, startLine);
int endLine = editor.Document.GetLineByOffset(editor.SelectionStart + editor.SelectionLength).LineNumber;
editor.Language.FormattingStrategy.IndentLines(editor, startLine, endLine);
}

67
src/AddIns/Misc/AddInManager2/AddInManager2.Tests/AvailableAddInsViewModelTests.cs

@ -225,7 +225,7 @@ namespace ICSharpCode.AddInManager2.Tests @@ -225,7 +225,7 @@ namespace ICSharpCode.AddInManager2.Tests
CreateAddIns();
_addIn1.Enabled = true;
// Package to be shown in repository
// Packages to be shown in repository
FakePackage fakePackage1 = new FakePackage()
{
Id = _addIn1.Manifest.PrimaryIdentity,
@ -272,6 +272,69 @@ namespace ICSharpCode.AddInManager2.Tests @@ -272,6 +272,69 @@ namespace ICSharpCode.AddInManager2.Tests
Assert.That(firstAddIn.Version, Is.EqualTo(_addIn2.Version), "Version of 1st AddIn");
}
[Test]
public void SearchInstallableAddInsWithMultipleReleasesAndDownloadCountSorting()
{
CreateAddIns();
_addIn1.Enabled = true;
// Packages to be shown in repository
// To test correct sorting we let the newer release of addIn2 appear before the older one.
FakePackage fakePackage2_new = new FakePackage()
{
Id = _addIn2_new.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2_new.Version),
Tags = SharpDevelopAddInTag,
DownloadCount = 30
};
FakePackage fakePackage1 = new FakePackage()
{
Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag,
DownloadCount = 10
};
FakePackage fakePackage2 = new FakePackage()
{
Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag
};
// List of NuGet repositories
List<PackageSource> registeredPackageSources = new List<PackageSource>();
registeredPackageSources.Add(new PackageSource("", "Test Repository"));
_services.FakeRepositories.RegisteredPackageSources = registeredPackageSources;
List<IPackageRepository> registeredPackageRepositories = new List<IPackageRepository>();
FakeCorePackageRepository remoteRepository = new FakeCorePackageRepository();
remoteRepository.Source = registeredPackageSources[0].Source;
remoteRepository.ReturnedPackages = (new IPackage[] { fakePackage2_new, fakePackage1, fakePackage2 }).AsQueryable();
_services.FakeRepositories.RegisteredPackageRepositories = registeredPackageRepositories;
// PackageRepository service should return remoteRepository instance
_services.FakeRepositories.GetRepositoryFromSourceCallback = delegate(PackageSource packageSource)
{
return remoteRepository;
};
FakeCorePackageRepository localRepository = new FakeCorePackageRepository();
_services.FakeNuGet.FakeCorePackageManager.LocalRepository = localRepository;
localRepository.ReturnedPackages = (new IPackage[] { }).AsQueryable();
var viewModel = new AvailableAddInsViewModel(_services);
viewModel.ReadPackagesAndWaitForUpdate();
// There must be only 2 packages in list, because user should see only latest releases
Assert.That(viewModel.AddInPackages.Count, Is.EqualTo(2), "AddIn list must contain 2 items.");
// fakePackage2_new is the first one, because it has a greater download count
AddInPackageViewModelBase firstAddIn = viewModel.AddInPackages[0];
Assert.That(firstAddIn.Id, Is.EqualTo(_addIn2_new.Manifest.PrimaryIdentity), "Primary identity of 1st AddIn");
Assert.That(firstAddIn.Name, Is.EqualTo(_addIn2_new.Manifest.PrimaryIdentity), "Name of 1st AddIn");
Assert.That(firstAddIn.Version, Is.EqualTo(_addIn2_new.Version), "Version of 1st AddIn");
}
// [Test]
// public void FilteringOutNonSharpDevelopPackages()
// {
@ -335,7 +398,7 @@ namespace ICSharpCode.AddInManager2.Tests @@ -335,7 +398,7 @@ namespace ICSharpCode.AddInManager2.Tests
{
fakePackages[i] = new FakePackage()
{
Id = _addIn1.Manifest.PrimaryIdentity + i.ToString(),
Id = _addIn1.Manifest.PrimaryIdentity + i.ToString("00"),
Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag
};

5
src/AddIns/Misc/AddInManager2/AddInManager2.Tests/Fakes/FakePackage.cs

@ -182,5 +182,10 @@ namespace ICSharpCode.AddInManager2.Tests.Fakes @@ -182,5 +182,10 @@ namespace ICSharpCode.AddInManager2.Tests.Fakes
throw new NotImplementedException();
}
}
public override string ToString()
{
return string.Format("[FakePackage Id={0}, Version={1}]", Id, Version);
}
}
}

9
src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/AvailableAddInsViewModel.cs

@ -50,13 +50,8 @@ namespace ICSharpCode.AddInManager2.ViewModel @@ -50,13 +50,8 @@ namespace ICSharpCode.AddInManager2.ViewModel
protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults(IQueryable<IPackage> allPackages)
{
return base.GetFilteredPackagesBeforePagingResults(allPackages)
.Where(package => package.IsReleaseVersion())
.DistinctLast(PackageEqualityComparer.Id);
}
protected override IQueryable<IPackage> OrderPackages(IQueryable<IPackage> packages)
{
return packages.OrderByDescending(package => package.DownloadCount);
.OrderByDescending(package => package.DownloadCount)
.ThenBy(package => package.Id);
}
protected override void UpdatePrereleaseFilter()

5
src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/NuGetAddInsViewModelBase.cs

@ -143,10 +143,11 @@ namespace ICSharpCode.AddInManager2.ViewModel @@ -143,10 +143,11 @@ namespace ICSharpCode.AddInManager2.ViewModel
return _allPackages;
}
protected virtual IQueryable<IPackage> OrderPackages(IQueryable<IPackage> packages)
private IQueryable<IPackage> OrderPackages(IQueryable<IPackage> packages)
{
return packages
.OrderBy(package => package.Id);
.OrderBy(package => package.Id)
.ThenBy(package => package.Version);
}
private IQueryable<IPackage> FilterPackagesBySearchCriteria(IQueryable<IPackage> packages)

Loading…
Cancel
Save