diff --git a/src/GitLink.Tests/Providers/GitHubProviderFacts.cs b/src/GitLink.Tests/Providers/GitHubProviderFacts.cs index 45a9731..43372b1 100644 --- a/src/GitLink.Tests/Providers/GitHubProviderFacts.cs +++ b/src/GitLink.Tests/Providers/GitHubProviderFacts.cs @@ -25,7 +25,7 @@ public void ReturnsValidInitialization() } [TestCase] - public void ReturnsInValidInitialization() + public void ReturnsInvalidInitialization() { var provider = new GitHubProvider(); var valid = provider.Initialize("https://bitbucket.org/CatenaLogic/GitLink"); @@ -81,6 +81,15 @@ public void ReturnsValidRawGitUrl() Assert.AreEqual("https://raw.github.com/CatenaLogic/GitLink", provider.RawGitUrl); } + + [TestCase] + public void ReturnsValidRawGitUrlWhenDotGitSuffixIsPresent() + { + var provider = new GitHubProvider(); + provider.Initialize("https://github.com/CatenaLogic/GitLink.git"); + + Assert.AreEqual("https://raw.github.com/CatenaLogic/GitLink", provider.RawGitUrl); + } } } } \ No newline at end of file diff --git a/src/GitLink/Providers/GitHubProvider.cs b/src/GitLink/Providers/GitHubProvider.cs index 37053f0..927e4d5 100644 --- a/src/GitLink/Providers/GitHubProvider.cs +++ b/src/GitLink/Providers/GitHubProvider.cs @@ -13,7 +13,7 @@ namespace GitLink.Providers public class GitHubProvider : ProviderBase { - private readonly Regex _gitHubRegex = new Regex(@"(?(?(?:https://)?github\.com/(?[^/]+))/(?[^/]+))"); + private readonly Regex _gitHubRegex = new Regex(@"^(?(?(?:https://)?github\.com/(?[^/]+))/(?[^/]+?)(\.git)?)$"); public GitHubProvider() : base(new GitPreparer())