Correctly support language filter in repo search (#1951)

* Correctly support language filter in repo search

* Fix failing client test

* Use the correct language code for C++
This commit is contained in:
Ben McMorran
2019-03-31 20:55:07 -07:00
committed by Ryan Gribble
parent d16ac98d00
commit 70fe726954
3 changed files with 11 additions and 3 deletions

View File

@@ -463,7 +463,7 @@ namespace Octokit.Tests.Clients
request.Language = Language.Ruby;
client.SearchRepo(request);
connection.Received().Get<SearchRepositoryResult>(Arg.Is<Uri>(u => u.ToString() == "search/repositories"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+language:Ruby"));
Arg.Is<Dictionary<string, string>>(d => d["q"] == "github+language:ruby"));
}
[Fact]

View File

@@ -25,5 +25,13 @@ public class SearchRepositoryRequestTests
Assert.True(string.IsNullOrWhiteSpace(request.Sort));
Assert.False(request.Parameters.ContainsKey("sort"));
}
[Fact]
public void LanguageUsesParameterTranslation()
{
var request = new SearchRepositoriesRequest() { Language = Language.CPlusPlus };
var result = request.MergedQualifiers();
Assert.Contains(result, x => string.Equals(x, "language:cpp"));
}
}
}

View File

@@ -148,7 +148,7 @@ namespace Octokit
if (Language != null)
{
parameters.Add(string.Format(CultureInfo.InvariantCulture, "language:{0}", Language));
parameters.Add(string.Format(CultureInfo.InvariantCulture, "language:{0}", Language.ToParameter()));
}
if (User.IsNotBlank())
@@ -557,7 +557,7 @@ namespace Octokit
ColdFusion,
CommonLisp,
Coq,
[Parameter(Value = "C++")]
[Parameter(Value = "cpp")]
CPlusPlus,
[Parameter(Value = "CSharp")]
CSharp,