public void ButtonBase_CreateAccessibilityInstance_InvokeWithRole_ReturnsExpected(bool createControl, bool defaultRole, AccessibleRole expectedAccessibleRole) { using var control = new SubButtonBase(); if (!defaultRole) { control.AccessibleRole = AccessibleRole.HelpBalloon; } if (createControl) { control.CreateControl(); } Assert.Equal(createControl, control.IsHandleCreated); ButtonBase.ButtonBaseAccessibleObject instance = Assert.IsType <ButtonBase.ButtonBaseAccessibleObject>(control.CreateAccessibilityInstance()); Assert.NotNull(instance); Assert.Same(control, instance.Owner); Assert.Equal(expectedAccessibleRole, instance.Role); Assert.NotSame(control.CreateAccessibilityInstance(), instance); Assert.NotSame(control.AccessibilityObject, instance); Assert.Equal(createControl, control.IsHandleCreated); }
public void ButtonBase_CreateAccessibilityInstance_InvokeIButtonControlDoDefaultAction_CallsOnClick(bool createControl) { using var control = new SubButtonBase(); if (createControl) { control.CreateControl(); } Assert.Equal(createControl, control.IsHandleCreated); int callCount = 0; control.Click += (sender, e) => { Assert.Same(control, sender); Assert.Same(EventArgs.Empty, e); callCount++; }; int performClickCallCount = 0; control.PerformClickAction = () => performClickCallCount++; var buttonBaseAccessibleObject = new ButtonBase.ButtonBaseAccessibleObject(control); buttonBaseAccessibleObject.DoDefaultAction(); Assert.Equal(1, callCount); Assert.Equal(0, performClickCallCount); // TODO: ControlAccessibleObject shouldn't force handle creation, tracked in https://github.com/dotnet/winforms/issues/3062 Assert.True(control.IsHandleCreated); }
public void ButtonBaseAccessibleObject_State_is_correct(FlatStyle flatStyle, bool createControl, bool mouseIsDown, AccessibleStates expectedAccessibleState) { using var button = new SubButtonBase() { FlatStyle = flatStyle }; if (createControl) { button.CreateControl(); } Assert.Equal(createControl, button.IsHandleCreated); if (mouseIsDown) { button.OnMouseDown(new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0)); } var buttonBaseAccessibleObject = new ButtonBase.ButtonBaseAccessibleObject(button); Assert.Equal(expectedAccessibleState, buttonBaseAccessibleObject.State); // TODO: ControlAccessibleObject shouldn't force handle creation, tracked in https://github.com/dotnet/winforms/issues/3062 Assert.True(button.IsHandleCreated); }
public void ButtonBase_CreateAccessibilityInstance_InvokeIButtonControlDoDefaultAction_CallsOnClick(bool createControl, int expectedCallCount) { using var control = new SubButtonBase(); if (createControl) { control.CreateControl(); } int callCount = 0; control.Click += (sender, e) => { Assert.Same(control, sender); Assert.Same(EventArgs.Empty, e); callCount++; }; int performClickCallCount = 0; control.PerformClickAction = () => performClickCallCount++; var buttonBaseAccessibleObject = new ButtonBase.ButtonBaseAccessibleObject(control); buttonBaseAccessibleObject.DoDefaultAction(); Assert.Equal(expectedCallCount, callCount); Assert.Equal(0, performClickCallCount); Assert.Equal(createControl, control.IsHandleCreated); }
public void ButtonBase_CreateAccessibilityInstance_InvokeWithRole_ReturnsExpected(bool createControl, bool defaultRole, AccessibleRole expectedAccessibleRole) { using var control = new SubButtonBase(); if (!defaultRole) { control.AccessibleRole = AccessibleRole.HelpBalloon; } if (createControl) { control.CreateControl(); } Assert.Equal(createControl, control.IsHandleCreated); ButtonBase.ButtonBaseAccessibleObject instance = Assert.IsType <ButtonBase.ButtonBaseAccessibleObject>(control.CreateAccessibilityInstance()); Assert.NotNull(instance); Assert.Same(control, instance.Owner); Assert.Equal(expectedAccessibleRole, instance.Role); Assert.NotSame(control.CreateAccessibilityInstance(), instance); Assert.NotSame(control.AccessibilityObject, instance); // TODO: ControlAccessibleObject shouldn't force handle creation, tracked in https://github.com/dotnet/winforms/issues/3062 Assert.True(control.IsHandleCreated); }
public void ButtonBase_GetStyle_Invoke_ReturnsExpected(ControlStyles flag, bool expected) { using var control = new SubButtonBase(); Assert.Equal(expected, control.GetStyle(flag)); // Call again to test caching. Assert.Equal(expected, control.GetStyle(flag)); }
public void ButtonBase_CreateAccessibilityInstance_InvokeWithDefaultRole_ReturnsExpected_ForAllFlatStyles_IfControlIsCreated(FlatStyle flatStyle) { using var control = new SubButtonBase() { FlatStyle = flatStyle }; control.CreateControl(); ButtonBase.ButtonBaseAccessibleObject instance = Assert.IsType <ButtonBase.ButtonBaseAccessibleObject>(control.CreateAccessibilityInstance()); Assert.Equal(AccessibleRole.Client, instance.Role); Assert.True(control.IsHandleCreated); }
public void ButtonBaseAccessibleObject_GetPropertyValue_ControlType_IsExpected_ForCustomRole(AccessibleRole role) { using ButtonBase buttonBase = new SubButtonBase(); buttonBase.AccessibleRole = role; object actual = buttonBase.AccessibilityObject.GetPropertyValue(UiaCore.UIA.ControlTypePropertyId); UiaCore.UIA expected = AccessibleRoleControlTypeMap.GetControlType(role); Assert.Equal(expected, actual); Assert.False(buttonBase.IsHandleCreated); }
public void ToolStripItem_TextImageRelation_Set_GetReturnsExpected(TextImageRelation value) { using var button = new SubButtonBase { TextImageRelation = value }; Assert.Equal(value, button.TextImageRelation); // Set same. button.TextImageRelation = value; Assert.Equal(value, button.TextImageRelation); }
public void ButtonBase_CreateAccessibilityInstance_InvokeWithDefaultRole_ReturnsExpected_ForAllFlatStyles(FlatStyle flatStyle) { using var control = new SubButtonBase() { FlatStyle = flatStyle }; Assert.False(control.IsHandleCreated); ButtonBase.ButtonBaseAccessibleObject instance = Assert.IsType <ButtonBase.ButtonBaseAccessibleObject>(control.CreateAccessibilityInstance()); Assert.Equal(AccessibleRole.Client, instance.Role); // TODO: ControlAccessibleObject shouldn't force handle creation, tracked in https://github.com/dotnet/winforms/issues/3062 Assert.True(control.IsHandleCreated); }
public void ButtonBaseBoxAccessibleObject_ControlType_IsPane_IfAccessibleRoleIsDefault(bool createControl, AccessibleRole expectedRole) { using ButtonBase buttonBase = new SubButtonBase(); // AccessibleRole is not set = Default if (createControl) { buttonBase.CreateControl(); } AccessibleObject accessibleObject = buttonBase.AccessibilityObject; object actual = accessibleObject.GetPropertyValue(UiaCore.UIA.ControlTypePropertyId); Assert.Equal(expectedRole, accessibleObject.Role); Assert.Equal(UiaCore.UIA.PaneControlTypeId, actual); Assert.Equal(createControl, buttonBase.IsHandleCreated); }
public void ButtonBase_CreateParams_GetDefault_ReturnsExpected() { using var control = new SubButtonBase(); CreateParams createParams = control.CreateParams; Assert.Null(createParams.Caption); Assert.Null(createParams.ClassName); Assert.Equal(0x8, createParams.ClassStyle); Assert.Equal(0, createParams.ExStyle); Assert.Equal(23, createParams.Height); Assert.Equal(IntPtr.Zero, createParams.Parent); Assert.Null(createParams.Param); Assert.Equal(0x56010000, createParams.Style); Assert.Equal(75, createParams.Width); Assert.Equal(0, createParams.X); Assert.Equal(0, createParams.Y); Assert.Same(createParams, control.CreateParams); Assert.False(control.IsHandleCreated); }
public void ButtonBaseAccessibleObject_State_is_correct(FlatStyle flatStyle, bool createControl, bool mouseIsDown, AccessibleStates expectedAccessibleState) { using var button = new SubButtonBase() { FlatStyle = flatStyle }; if (createControl) { button.CreateControl(); } Assert.Equal(createControl, button.IsHandleCreated); if (mouseIsDown) { button.OnMouseDown(new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0)); } var buttonBaseAccessibleObject = new ButtonBase.ButtonBaseAccessibleObject(button); Assert.Equal(expectedAccessibleState, buttonBaseAccessibleObject.State); Assert.Equal(createControl, button.IsHandleCreated); }
public void ButtonBase_TextImageRelation_SetInvalid_ThrowsInvalidEnumArgumentException(TextImageRelation value) { using var button = new SubButtonBase(); Assert.Throws <InvalidEnumArgumentException>("value", () => button.TextImageRelation = value); }
public void ButtonBase_GetTopLevel_Invoke_ReturnsExpected() { using var control = new SubButtonBase(); Assert.False(control.GetTopLevel()); }
public void ButtonBase_GetAutoSizeMode_Invoke_ReturnsExpected() { using var control = new SubButtonBase(); Assert.Equal(AutoSizeMode.GrowOnly, control.GetAutoSizeMode()); }
public void ButtonBase_Ctor_Default() { using var control = new SubButtonBase(); Assert.Null(control.AccessibleDefaultActionDescription); Assert.Null(control.AccessibleDescription); Assert.Null(control.AccessibleName); Assert.Equal(AccessibleRole.Default, control.AccessibleRole); Assert.False(control.AllowDrop); Assert.Equal(AnchorStyles.Top | AnchorStyles.Left, control.Anchor); Assert.False(control.AutoEllipsis); Assert.False(control.AutoSize); Assert.Equal(Control.DefaultBackColor, control.BackColor); Assert.Null(control.BackgroundImage); Assert.Equal(ImageLayout.Tile, control.BackgroundImageLayout); Assert.Null(control.BindingContext); Assert.Equal(23, control.Bottom); Assert.Equal(new Rectangle(0, 0, 75, 23), control.Bounds); Assert.False(control.CanEnableIme); Assert.False(control.CanFocus); Assert.True(control.CanRaiseEvents); Assert.True(control.CanSelect); Assert.False(control.Capture); Assert.True(control.CausesValidation); Assert.Equal(new Size(75, 23), control.ClientSize); Assert.Equal(new Rectangle(0, 0, 75, 23), control.ClientRectangle); Assert.Null(control.Container); Assert.False(control.ContainsFocus); Assert.Null(control.ContextMenuStrip); Assert.Empty(control.Controls); Assert.Same(control.Controls, control.Controls); Assert.False(control.Created); Assert.Same(Cursors.Default, control.Cursor); Assert.Same(Cursors.Default, control.DefaultCursor); Assert.Equal(ImeMode.Disable, control.DefaultImeMode); Assert.Equal(new Padding(3), control.DefaultMargin); Assert.Equal(Size.Empty, control.DefaultMaximumSize); Assert.Equal(Size.Empty, control.DefaultMinimumSize); Assert.Equal(Padding.Empty, control.DefaultPadding); Assert.Equal(new Size(75, 23), control.DefaultSize); Assert.False(control.DesignMode); Assert.Equal(new Rectangle(0, 0, 75, 23), control.DisplayRectangle); Assert.Equal(DockStyle.None, control.Dock); Assert.True(control.DoubleBuffered); Assert.True(control.Enabled); Assert.NotNull(control.Events); Assert.Same(control.Events, control.Events); Assert.NotNull(control.FlatAppearance); Assert.Same(control.FlatAppearance, control.FlatAppearance); Assert.Equal(FlatStyle.Standard, control.FlatStyle); Assert.False(control.Focused); Assert.Equal(Control.DefaultFont, control.Font); Assert.Equal(control.Font.Height, control.FontHeight); Assert.Equal(Control.DefaultForeColor, control.ForeColor); Assert.False(control.HasChildren); Assert.Equal(23, control.Height); Assert.Null(control.Image); Assert.Equal(ContentAlignment.MiddleCenter, control.ImageAlign); Assert.Equal(-1, control.ImageIndex); Assert.Empty(control.ImageKey); Assert.Null(control.ImageList); Assert.Equal(ImeMode.Disable, control.ImeMode); Assert.Equal(ImeMode.Disable, control.ImeModeBase); Assert.False(control.IsAccessible); Assert.False(control.IsDefault); Assert.False(control.IsMirrored); Assert.NotNull(control.LayoutEngine); Assert.Same(control.LayoutEngine, control.LayoutEngine); Assert.Equal(0, control.Left); Assert.Equal(Point.Empty, control.Location); Assert.Equal(new Padding(3), control.Margin); Assert.Equal(Size.Empty, control.MaximumSize); Assert.Equal(Size.Empty, control.MinimumSize); Assert.Equal(Padding.Empty, control.Padding); Assert.Null(control.Parent); Assert.Equal("Microsoft\u00AE .NET", control.ProductName); // This causes an assertion which we want to keep internally. using (new NoAssertContext()) { Assert.Throws <NullReferenceException>(() => control.PreferredSize); } Assert.False(control.RecreatingHandle); Assert.Null(control.Region); Assert.True(control.ResizeRedraw); Assert.Equal(75, control.Right); Assert.Equal(RightToLeft.No, control.RightToLeft); Assert.True(control.ShowFocusCues); Assert.True(control.ShowKeyboardCues); Assert.Null(control.Site); Assert.Equal(new Size(75, 23), control.Size); Assert.Equal(0, control.TabIndex); Assert.True(control.TabStop); Assert.Empty(control.Text); Assert.Equal(ContentAlignment.MiddleCenter, control.TextAlign); Assert.Equal(TextImageRelation.Overlay, control.TextImageRelation); Assert.Equal(0, control.Top); Assert.Null(control.TopLevelControl); Assert.True(control.UseMnemonic); Assert.True(control.UseCompatibleTextRendering); Assert.True(control.UseVisualStyleBackColor); Assert.False(control.UseWaitCursor); Assert.True(control.Visible); Assert.Equal(75, control.Width); Assert.False(control.IsHandleCreated); }