mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-01 18:35:35 +00:00
rework the rules
This commit is contained in:
@@ -1159,6 +1159,24 @@ namespace Octokit.Tests.Clients
|
||||
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+repo:octokit/octokit.net"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ErrorOccursWhenSpecifyingInvalidFormatForRepos()
|
||||
{
|
||||
var connection = Substitute.For<IApiConnection>();
|
||||
var client = new SearchClient(connection);
|
||||
|
||||
var request = new SearchIssuesRequest("windows");
|
||||
request.Repos = new Collection<string> {
|
||||
"haha-business"
|
||||
};
|
||||
|
||||
request.SortField = IssueSearchSort.Created;
|
||||
request.Order = SortDirection.Descending;
|
||||
|
||||
await Assert.ThrowsAsync<RepositoryFormatException>(
|
||||
async () => await client.SearchIssues(request));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TestingTheRepoAndUserAndLabelQualifier()
|
||||
{
|
||||
@@ -1450,7 +1468,7 @@ namespace Octokit.Tests.Clients
|
||||
|
||||
connection.Received().Get<SearchCodeResult>(
|
||||
Arg.Is<Uri>(u => u.ToString() == "search/code"),
|
||||
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+repo:octokit.net"));
|
||||
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+repo:octokit/octokit.net"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -1482,7 +1500,7 @@ namespace Octokit.Tests.Clients
|
||||
connection.Received().Get<SearchCodeResult>(
|
||||
Arg.Is<Uri>(u => u.ToString() == "search/code"),
|
||||
Arg.Is<Dictionary<string, string>>(d =>
|
||||
d["q"] == "something+path:tools/FAKE.core+extension:fs+repo:octokit.net"));
|
||||
d["q"] == "something+path:tools/FAKE.core+extension:fs+repo:octokit/octokit.net"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -1491,19 +1509,16 @@ namespace Octokit.Tests.Clients
|
||||
var connection = Substitute.For<IApiConnection>();
|
||||
var client = new SearchClient(connection);
|
||||
|
||||
var request = new SearchIssuesRequest("windows");
|
||||
var request = new SearchCodeRequest("windows");
|
||||
request.Repos = new Collection<string> {
|
||||
"haha-business"
|
||||
};
|
||||
|
||||
request.SortField = IssueSearchSort.Created;
|
||||
request.Order = SortDirection.Descending;
|
||||
|
||||
await Assert.ThrowsAsync<ArgumentException>(
|
||||
async () => await client.SearchIssues(request));
|
||||
await Assert.ThrowsAsync<RepositoryFormatException>(
|
||||
async () => await client.SearchCode(request));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,11 +102,14 @@ namespace Octokit
|
||||
yield return new String(letters, wordStartIndex, letters.Length - wordStartIndex);
|
||||
}
|
||||
|
||||
static Regex nameWithOwner = new Regex("[a-zA-Z.]{1,}/[a-zA-Z.]{1,}"
|
||||
// the rule:
|
||||
// Username may only contain alphanumeric characters or single hyphens
|
||||
// and cannot begin or end with a hyphen
|
||||
static readonly Regex nameWithOwner = new Regex("[a-z0-9.-]{1,}/[a-z0-9.-]{1,}",
|
||||
#if (!PORTABLE && !NETFX_CORE)
|
||||
, RegexOptions.Compiled
|
||||
RegexOptions.Compiled |
|
||||
#endif
|
||||
);
|
||||
RegexOptions.IgnoreCase);
|
||||
|
||||
internal static bool IsNameWithOwnerFormat(this string input)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user