public async Task VerifyAutomationName() { if (ApiInformation.IsTypePresent("Windows.UI.Xaml.Automation.Peers.PersonPictureAutomationPeer")) { await RunOnUIThread.ExecuteAsync(() => { PersonPicture personPicture = new PersonPicture(); Verify.IsNotNull(personPicture); // Set properties and ensure that the AutomationName updates accordingly personPicture.Initials = "AB"; String automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "AB"); personPicture.DisplayName = "Jane Smith"; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "Jane Smith"); if (ApiInformation.IsTypePresent("Windows.ApplicationModel.Contacts.Contact")) { Contact contact = new Contact(); contact.FirstName = "John"; contact.LastName = "Doe"; personPicture.Contact = contact; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "John Doe"); personPicture.IsGroup = true; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "Group"); personPicture.IsGroup = false; personPicture.BadgeGlyph = "\uE765"; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "John Doe, icon"); personPicture.BadgeText = "Skype"; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "John Doe, Skype"); personPicture.BadgeText = ""; personPicture.BadgeNumber = 5; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "John Doe, 5 items"); personPicture.BadgeText = "direct reports"; automationName = AutomationProperties.GetName(personPicture); Verify.AreEqual(automationName, "John Doe, 5 direct reports"); } }); } }
public async Task VerifyDefaultsAndBasicSetting() { await RunOnUIThread.ExecuteAsync(() => { PersonPicture personPicture = new PersonPicture(); Verify.IsNotNull(personPicture); // Confirm initial dependency property values Verify.AreEqual(personPicture.BadgeGlyph, ""); Verify.AreEqual(personPicture.BadgeNumber, 0); Verify.AreEqual(personPicture.IsGroup, false); Verify.AreEqual(personPicture.PreferSmallImage, false); Verify.AreEqual(personPicture.ProfilePicture, null); Verify.AreEqual(personPicture.Contact, null); Verify.AreEqual(personPicture.DisplayName, ""); Verify.AreEqual(personPicture.Initials, ""); // Now verify setting/retrieving the parameters personPicture.BadgeGlyph = "\uE765"; Verify.AreEqual(personPicture.BadgeGlyph, "\uE765"); personPicture.BadgeNumber = 10; Verify.AreEqual(personPicture.BadgeNumber, 10); personPicture.IsGroup = true; Verify.AreEqual(personPicture.IsGroup, true); personPicture.PreferSmallImage = true; Verify.AreEqual(personPicture.PreferSmallImage, true); personPicture.DisplayName = "Some Name"; Verify.AreEqual(personPicture.DisplayName, "Some Name"); personPicture.Initials = "MS"; Verify.AreEqual(personPicture.Initials, "MS"); if (ApiInformation.IsTypePresent("Windows.ApplicationModel.Contacts.Contact")) { Contact contact = new Contact(); contact.FirstName = "FirstName"; personPicture.Contact = contact; Verify.AreEqual(personPicture.Contact.FirstName, "FirstName"); } ImageSource imageSrc = new BitmapImage(new Uri("ms-appx:/Assets/StoreLogo.png")); personPicture.ProfilePicture = imageSrc; Verify.IsNotNull(personPicture.ProfilePicture); }); }
public async Task VerifySmallWidthAndHeightDoNotCrash() { PersonPicture personPicture = null; await RunOnUIThread.ExecuteAsync(() => { personPicture = new PersonPicture(); global::Private.Infrastructure.TestServices.WindowHelper.WindowContent = personPicture; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); var sizeChangedEvent = new TaskCompletionSource <bool>(); await RunOnUIThread.ExecuteAsync(() => { personPicture.SizeChanged += (sender, args) => sizeChangedEvent.TrySetResult(true); personPicture.Width = 0.4; personPicture.Height = 0.4; }); await sizeChangedEvent.Task; await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); }
public async Task VerifyVSMStatesForPhotosAndInitials() { PersonPicture personPicture = null; TextBlock initialsTextBlock = null; #if WINDOWS_UWP string symbolsFontName = "Segoe MDL2 Assets"; #elif __ANDROID__ || __SKIA__ string symbolsFontName = "ms-appx:///Assets/Fonts/uno-fluentui-assets.ttf#Symbols"; #else string symbolsFontName = "Symbols"; #endif await RunOnUIThread.ExecuteAsync(() => { personPicture = new PersonPicture(); global::Private.Infrastructure.TestServices.WindowHelper.WindowContent = personPicture; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { initialsTextBlock = (TextBlock)VisualTreeUtils.FindVisualChildByName(personPicture, "InitialsTextBlock"); personPicture.IsGroup = true; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, symbolsFontName); Verify.AreEqual(initialsTextBlock.Text, "\xE716"); personPicture.IsGroup = false; personPicture.Initials = "JS"; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { #if false Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe UI"); #endif Verify.AreEqual(initialsTextBlock.Text, "JS"); personPicture.Initials = ""; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, symbolsFontName); Verify.AreEqual(initialsTextBlock.Text, "\xE77B"); // Make sure that custom FontFamily takes effect after the control is created // and also goes back to the MDL2 font after setting IsGroup = true. personPicture.FontFamily = new FontFamily("Segoe UI Emoji"); personPicture.Initials = "👍"; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe UI Emoji"); Verify.AreEqual(initialsTextBlock.Text, "👍"); personPicture.IsGroup = true; }); await global::Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.ExecuteAsync(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, symbolsFontName); Verify.AreEqual(initialsTextBlock.Text, "\xE716"); }); }
public async Task VerifyVSMStatesForPhotosAndInitials() { PersonPicture personPicture = null; TextBlock initialsTextBlock = null; await RunOnUIThread.Execute(() => { personPicture = new PersonPicture(); Private.Infrastructure.TestServices.WindowHelper.WindowContent = personPicture; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { initialsTextBlock = (TextBlock)VisualTreeUtils.FindVisualChildByName(personPicture, "InitialsTextBlock"); personPicture.IsGroup = true; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe MDL2 Assets"); Verify.AreEqual(initialsTextBlock.Text, "\xE716"); personPicture.IsGroup = false; personPicture.Initials = "JS"; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { #if false Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe UI"); #endif Verify.AreEqual(initialsTextBlock.Text, "JS"); personPicture.Initials = ""; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe MDL2 Assets"); Verify.AreEqual(initialsTextBlock.Text, "\xE77B"); // Make sure that custom FontFamily takes effect after the control is created // and also goes back to the MDL2 font after setting IsGroup = true. personPicture.FontFamily = new FontFamily("Segoe UI Emoji"); personPicture.Initials = "👍"; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe UI Emoji"); Verify.AreEqual(initialsTextBlock.Text, "👍"); personPicture.IsGroup = true; }); await Private.Infrastructure.TestServices.WindowHelper.WaitForIdle(); await RunOnUIThread.Execute(() => { Verify.AreEqual(initialsTextBlock.FontFamily.Source, "Segoe MDL2 Assets"); Verify.AreEqual(initialsTextBlock.Text, "\xE716"); }); }