Exemple #1
0
        public void Menu_ProcessCmdKey_ParentMenuItemPopupHandlerRemovesChild_ReturnsFalse()
        {
            var child = new MenuItem {
                Shortcut = Shortcut.CtrlA
            };
            var parent  = new MenuItem("text", new MenuItem[] { child });
            var message = new Message();

            parent.Popup += (sender, e) =>
            {
                parent.MenuItems.Remove(child);
            };

            Assert.False(parent.ProcessCmdKey(ref message, Keys.Control | Keys.A));
        }
Exemple #2
0
        public void Menu_ProcessCmdKey_MenuItemParent_ReturnsExpected(MenuItem parent, MenuItem child, bool expectedResult, int expectedChildOnClickCallCount, int expectedChildOnPopupCallCount, int expectedParentOnClickCallCount, int expectedParentOnPopupCallCount)
        {
            int childOnClickCallCount = 0;

            child.Click += (sender, e) =>
            {
                childOnClickCallCount++;
                Assert.Same(child, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int childOnPopupCallCount = 0;

            child.Popup += (sender, e) =>
            {
                childOnPopupCallCount++;
                Assert.Same(child, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int parentOnClickCallCount = 0;

            parent.Click += (sender, e) =>
            {
                parentOnClickCallCount++;
                Assert.Same(parent, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int parentOnPopupCallCount = 0;

            parent.Popup += (sender, e) =>
            {
                parentOnPopupCallCount++;
                Assert.Same(parent, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            var message = new Message();

            Assert.Equal(expectedResult, parent.ProcessCmdKey(ref message, Keys.Control | Keys.A));
            Assert.Equal(expectedChildOnClickCallCount, childOnClickCallCount);
            Assert.Equal(expectedChildOnPopupCallCount, childOnPopupCallCount);
            Assert.Equal(expectedParentOnClickCallCount, parentOnClickCallCount);
            Assert.Equal(expectedParentOnPopupCallCount, parentOnPopupCallCount);
        }