public override void SaveSettings() { Settings.EnableAutoScale = chkEnableAutoScale.Checked; Settings.TruncatePathMethod = _NO_TRANSLATE_truncatePathMethod.Text; Settings.ShowCurrentBranchInVisualStudio = chkShowCurrentBranchInVisualStudio.Checked; if ((int)_NO_TRANSLATE_authorImageSize.Value != Settings.AuthorImageSize) { Settings.AuthorImageSize = (int)_NO_TRANSLATE_authorImageSize.Value; GravatarService.ClearImageCache(); } Settings.Translation = Language.Text; Strings.Reinit(); Settings.AuthorImageCacheDays = (int)_NO_TRANSLATE_DaysToCacheImages.Value; Settings.ShowAuthorGravatar = ShowAuthorGravatar.Checked; Settings.GravatarFallbackService = noImageService.Text; Settings.RelativeDate = chkShowRelativeDate.Checked; Settings.Dictionary = Dictionary.Text; Settings.DiffFont = _diffFont; Settings.Font = _applicationFont; }
/// <summary> /// Update the Gravatar anytime an attribute is changed /// </summary> private void UpdateGravatar() { // resize our control (I'm not using AutoSize for a reason) Size = new Size(Settings.AuthorImageSize, Settings.AuthorImageSize); _gravatarImg.Size = new Size(Settings.AuthorImageSize, Settings.AuthorImageSize); if (!Settings.ShowAuthorGravatar || string.IsNullOrEmpty(Email)) { RefreshImage(Resources.User); return; } FallBackService gravatarFallBack = FallBackService.Identicon; try { gravatarFallBack = (FallBackService)Enum.Parse(typeof(FallBackService), Settings.GravatarFallbackService); } catch { Settings.GravatarFallbackService = gravatarFallBack.ToString(); } ThreadPool.QueueUserWorkItem(o => GravatarService.LoadCachedImage( ImageFileName, Email, Resources.User, Settings.AuthorImageCacheDays, Settings.AuthorImageSize, Settings.GravatarCachePath, RefreshImage, gravatarFallBack)); }
/// <summary> /// Logon to Gravatar service and safe Base64-encoded username/password combination in connectOut /// </summary> /// <param name="connectIn">If recurring login, information from last connectOut (should contain encoded password)</param> /// <param name="userName">The username supplied</param> /// <param name="password">If first login, the password supplied by the user</param> /// <param name="connectOut">Some value to cache, which allows us later to logon again (without the password)</param> public void LogonCached(string connectIn, string userName, string password, out string connectOut) { string realUsername = userName; string realPassword = password; if (!string.IsNullOrEmpty(connectIn)) { Debug.WriteLine("LogonCached called with connectIn: " + connectIn); var parts = connectIn.Split(':'); realUsername = Encoding.UTF8.GetString(Convert.FromBase64String(parts[0])); realPassword = Encoding.UTF8.GetString(Convert.FromBase64String(parts[1])); connectOut = connectIn; } else { Debug.WriteLine("LogonCached called with username='******' and password='******'"); connectOut = String.Format("{0}:{1}", Convert.ToBase64String(Encoding.UTF8.GetBytes(userName)), Convert.ToBase64String(Encoding.UTF8.GetBytes(password))); } _gravatarService = new GravatarService(realUsername, realPassword); var response = _gravatarService.Test(); if (response.IsError) { Debug.WriteLine("Failed to login to Gravatar"); throw new Exception(); } _loggedOnUser = realUsername; }
public void GetGravatarLink_ValidEMail_ReturnsValidLink(string email, string expectedLink) { var gravatarService = new GravatarService(); var link = gravatarService.GetGravatarLink(email); Assert.Equal(expectedLink, link); }
public void GetGravatarHash_ValidEMail_ReturnsValidMD5Hash(string email, string expectedHash) { var gravatarService = new GravatarService(); var hash = gravatarService.GetGravatarHash(email); Assert.Equal(expectedHash, hash); }
public void ItHasGetGravatarMethod() { // Arrange IGravatarService gravatarService = new GravatarService(); // Act gravatarService.GetGravatar("*****@*****.**"); }
private void toolStripMenuItemClick(object sender, EventArgs e) { var toolStripItem = (ToolStripItem)sender; Settings.AuthorImageSize = int.Parse((string)toolStripItem.Tag); GravatarService.ClearImageCache(); UpdateGravatar(); }
public void Setup() { _cache = Substitute.For <IImageCache>(); _avatarImageNameProvider = Substitute.For <IImageNameProvider>(); _avatarImageNameProvider.Get(Email).Returns($"{Email}.png"); _service = new GravatarService(_cache, _avatarImageNameProvider); }
public void ItImplementsIGravatarInterface() { // Arrange // Act var gravatarService = new GravatarService(); // Assert Assert.IsAssignableFrom <IGravatarService>(gravatarService); }
/// <summary> /// Initializes a new instance of the <see cref="RecentComments"/> class. /// </summary> public RecentComments() { int commentCount = Config.CurrentBlog.NumberOfRecentComments > 0 ? Config.CurrentBlog.NumberOfRecentComments : DefaultRecentPostCount; ICollection <FeedbackItem> comments = FeedbackItem.GetRecentComments(commentCount); Comments = (from c in comments where c.EntryId > 0 select c).ToList(); Gravatar = new GravatarService(ConfigurationManager.AppSettings); }
public void GivenEmailAddressThenGravatarReturned() { // Arrange IGravatarService gravatarService = new GravatarService(); // Act var actual = gravatarService.GetGravatar("*****@*****.**"); // Assert Assert.Equal("http://www.gravatar.com/avatar/29e3f53ee49fae541ee0f48fb712c231", actual); }
private void RegisterAtGravatarcomToolStripMenuItemClick(object sender, EventArgs e) { try { GravatarService.OpenGravatarRegistration(); } catch (Exception ex) { MessageBox.Show(this, ex.Message); } }
public void GenerateUrlHashesEmailAddress() { //arrange var service = new GravatarService("{0}", true); //act string url = service.GenerateUrl("*****@*****.**"); //assert Assert.Contains(url, "55502f40dc8b7c769880b10874abc9d0"); }
public void GenerateUrlWithEmptyEmailReturnsEmptyString() { //arrange var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true); //act string url = service.GenerateUrl(string.Empty, (string)null); //assert Assert.AreEqual(string.Empty, url); }
public void GenerateUrlWithDefaultUriIncludesDefaultUri() { //arrange var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true); //act string url = service.GenerateUrl("*****@*****.**", new Uri("http://localhost/test.gif")); //assert Assert.AreEqual("test%40example.com/http://localhost/test.gif", url); }
public void GenerateUrlWithNullDefaultUsesIdenticon() { //arrange var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true); //act string url = service.GenerateUrl("*****@*****.**", (string)null); //assert Assert.AreEqual("test%40example.com/identicon", url); }
public void GenerateUrlFormatsEmail() { //arrange var service = new GravatarService("http://example.com/{0}/sike", GravatarEmailFormat.Plain, true); //act string url = service.GenerateUrl("*****@*****.**", (string)null); //assert Assert.Contains(url, "http://example.com/test%40example.com/sike"); }
public void GenerateUrlEncodesEmail() { //arrange var service = new GravatarService("{0}", GravatarEmailFormat.Plain, true); //act string url = service.GenerateUrl("te [email protected]", (string)null); //assert Assert.Contains(url, "te+st%40example.com"); }
private void PreviewButton_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(emailTextbox.Text)) { return; } var gravatarService = new GravatarService(); var avatarId = gravatarService.DownloadGravatarFromEmailAndAddToImageList(emailTextbox.Text, _avatarImageList); _gravatar.SetImage(avatarId, _avatarImageList); }
public override int GetAvatarId(ImageList avatarImageList) { if (AvatarId.HasValue) { return(AvatarId.Value); } var gravatarService = new GravatarService(); if (!string.IsNullOrEmpty(AvatarImageName)) { return(gravatarService.LoadAvatarFromFile(AvatarImageName, avatarImageList)); } return(gravatarService.DownloadGravatarFromEmailAndAddToImageList(Email, avatarImageList)); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); _gravatarService = new GravatarService(ConfigurationManager.AppSettings); if (Blog.CommentsEnabled) { BindFeedback(true); } else { Visible = false; } }
public override void SaveSettings() { Settings.EnableAutoScale = chkEnableAutoScale.Checked; Settings.TruncatePathMethod = _NO_TRANSLATE_truncatePathMethod.Text; Settings.ShowCurrentBranchInVisualStudio = chkShowCurrentBranchInVisualStudio.Checked; int authorImageSize; switch (AuthorImageSize.SelectedIndex) { case 1: authorImageSize = 160; break; case 2: authorImageSize = 240; break; case 3: authorImageSize = 320; break; default: authorImageSize = 80; break; } if (authorImageSize != Settings.AuthorImageSize) { Settings.AuthorImageSize = authorImageSize; GravatarService.ClearImageCache(); } Settings.Translation = Language.Text; Strings.Reinit(); Settings.AuthorImageCacheDays = (int)_NO_TRANSLATE_DaysToCacheImages.Value; Settings.ShowAuthorGravatar = ShowAuthorGravatar.Checked; Settings.GravatarFallbackService = NoImageService.Text; Settings.RelativeDate = chkShowRelativeDate.Checked; Settings.Dictionary = Dictionary.Text; Settings.DiffFont = _diffFont; Settings.Font = _applicationFont; Settings.CommitFont = commitFont; }
private async Task ExecuteSignUpUserCommand() { if (IsBusy) { return; } IsBusy = true; var user = new User { Name = string.Format("{0} {1}", FirstName, LastName), ProfileImage = GravatarService.CalculateUrl(Email) }; var account = new Account { Username = Username, Password = Password, Email = Email, UserId = user.Id }; try { DialogService.ShowLoading(Strings.CreatingAccount); if (await ConnectivityService.IsConnected()) { await CreateAccount(account, user); await SignIn(account); await NavigationService.NavigateAsync(Helpers.Navigation.MainUri); DialogService.HideLoading(); } else { DialogService.ShowError(Strings.NoInternetConnection); } } catch (Exception ex) { Crashes.TrackError(ex); } IsBusy = false; }
public void CanCreateGravatarServiceWithNameValueCollection() { //arrange var settings = new NameValueCollection { { "GravatarEnabled", "true" }, { "GravatarUrlFormatString", "{0}/{1}" } }; //act var service = new GravatarService(settings); //assert Assert.IsTrue(service.Enabled); Assert.AreEqual("{0}/{1}", service.UrlFormatString); }
public void WhenCreatingGravatarServiceWithNonsensicalBoolean_NoExceptionIsThrown() { //arrange var settings = new NameValueCollection { { "GravatarEnabled", "Blablabla" }, { "GravatarUrlFormatString", "{0}/{1}" } }; //act var service = new GravatarService(settings); //assert Assert.IsFalse(service.Enabled); Assert.AreEqual("{0}/{1}", service.UrlFormatString); }
public void GravatarServiceConstructorTest() { GravatarService target = new GravatarService(); Assert.AreEqual(3, target.Persons.Count); var persons = target.Persons; var lukas = persons.First(p => p.Email == "*****@*****.**"); Assert.AreEqual("Lukas Elmer", lukas.Name); var christina = persons.First(p => p.Email == "*****@*****.**"); Assert.AreEqual("Christina Heidt", christina.Name); var delia = persons.First(p => p.Email == "*****@*****.**"); Assert.AreEqual("Delia Treichler", delia.Name); }
public void CacheAvatar(string email) { FallBackService gravatarFallBack = FallBackService.Identicon; try { gravatarFallBack = (FallBackService)Enum.Parse(typeof(FallBackService), Settings.GravatarFallbackService); } catch { Settings.GravatarFallbackService = gravatarFallBack.ToString(); } GravatarService.CacheImage(email + ".png", email, Settings.AuthorImageSize, gravatarFallBack); }
private void ClearImageCache_Click(object sender, EventArgs e) { GravatarService.ClearImageCache(); }
public void SetUp() { _service = new GravatarService(); }
public TodoListController(ApplicationDbContext dbContext, IUserStore <IdentityUser> userStore, GravatarService gravatarService) { this.dbContext = dbContext; this.userStore = userStore; this.gravatarService = gravatarService; }
private void RefreshToolStripMenuItemClick(object sender, EventArgs e) { GravatarService.RemoveImageFromCache(ImageFileName); UpdateGravatar(); }