public void IsValidGitHubRepoLink() { Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink("https://github.com/bla/bla-blas")); Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink("https://github.com/bla/bla-blas/")); Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink("https:github.com/bla/bla-blas")); Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink(@"https:\\github.com/\bla//\bla-blas\")); Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink("www.github.com/bla/bla-blas")); Assert.IsTrue(LinkValidator.IsValidGitHubRepoLink("https://www.github.com/bla/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/1-1/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/a--a/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/-a/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/a-/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com//bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/bla/")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/bla/..")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink(@"https://github.com/bla/bla-blas#")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink(@"https://github.com/bla/bla-bla*s")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://githubs.com/bla/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("httpss://github.com/bla/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("wws.github.com/bla/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://wws.github.com/bla/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink(@"https://github.com/bla1234567890123456789012345678901234567890/bla-blas")); Assert.IsFalse(LinkValidator.IsValidGitHubRepoLink("https://github.com/bla/bla-blas123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890")); }
private void IssueConfigurationControl_IsVisibleChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e) { if (sender != null && (bool)e.NewValue) { if (Config != null && !string.IsNullOrEmpty(Config.RepoLink) && LinkValidator.IsValidGitHubRepoLink(Config.RepoLink) && !Config.RepoLink.Equals(this.tbURL.Text, StringComparison.Ordinal)) { tbURL.Text = Config.RepoLink; IsConfigured(true); TextChangeUpdateSaveButtonHelper(); } } }
/// <summary> /// Called when save button clicked. /// </summary> /// <returns>The extension’s new configuration, serialized</returns> public override string OnSave() { if (LinkValidator.IsValidGitHubRepoLink(this.tbURL.Text)) { this.Config.RepoLink = this.tbURL.Text; canSave = false; UpdateSaveButton(); IsConfigured(true); } else { MessageDialog.Show(Properties.Resources.InvalidLink); } return(JsonConvert.SerializeObject(this.Config)); }
private void RestoreConfigurationAsyncAction(string serializedConfig) { ConnectionConfiguration config = JsonConvert.DeserializeObject <ConnectionConfiguration>(serializedConfig); if (config != null && !string.IsNullOrEmpty(config.RepoLink) && LinkValidator.IsValidGitHubRepoLink(config.RepoLink)) { this.configurationControl.Config = config; this.IsConfigured = true; } else { this.configurationControl.Config = new ConnectionConfiguration(string.Empty); this.IsConfigured = false; MessageDialog.Show(Properties.Resources.InvalidLink); } }
public void IsValidGitHubRepoLink_LinkIsNull_ThrowsArgumentNullException() { LinkValidator.IsValidGitHubRepoLink(null); }