Exemplo n.º 1
0
        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");
                    }
                });
            }
        }
Exemplo n.º 2
0
        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);
            });
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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");
            });
        }
Exemplo n.º 5
0
        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");
            });
        }