winforms
winforms copied to clipboard
Missing unit tests coverage of public methods in Design namespace
We are in the process of adding unit tests for all public methods to improve the test coverage of code. Here is a list categorized by namespace.
System.Windows.Forms.Design
- [x] AxImporter.cs https://github.com/dotnet/winforms/pull/11784
- [x] BaseContextMenuStrip.cs https://github.com/dotnet/winforms/pull/11723
- [ ] BindingNavigatorDesigner.cs
- [x] BindingSourceDesigner.cs https://github.com/dotnet/winforms/pull/11775
- [x] ButtonBaseDesigner.cs https://github.com/dotnet/winforms/pull/11690
- [x] ChangeToolStripParentVerb.cs #13445
- [x] CollectionEditVerbManager.cs #12088
- [x] ComboBoxDesigner.cs #10772
- [x] CommandSet.cs https://github.com/dotnet/winforms/pull/12769
- [x] ComponentDesigner #1053
- [x] ComponentTray.cs #13396
- [x] CompositionDesigner.cs https://github.com/dotnet/winforms/pull/11888
- [x] ContextMenuStripActionList.cs https://github.com/dotnet/winforms/pull/12442
- [x] ContextMenuStripGroup.cs https://github.com/dotnet/winforms/pull/11989
- [x] ContextMenuStripGroupCollection.cs https://github.com/dotnet/winforms/pull/11952
- [x] ControlCodeDomSerializer.cs #13011
- [x] ControlCommandSet.cs https://github.com/dotnet/winforms/pull/13130
- [x] ControlDesigner.ControlDesignerAccessibleObject.cs https://github.com/dotnet/winforms/pull/12664
- [x] ControlDesigner.DesignerControlCollection.cs https://github.com/dotnet/winforms/pull/12085
- [x] ControlDesigner.TransparentBehavior.cs https://github.com/dotnet/winforms/pull/12694
- [x] ControlDesigner.cs https://github.com/dotnet/winforms/pull/12410
- [x] CustomMenuItemCollection.cs #12035
- [x] DataGridViewAddColumnDialog.cs https://github.com/dotnet/winforms/pull/12662
- [x] DataGridViewCellStyleBuilder.cs https://github.com/dotnet/winforms/pull/12318
- [x] DataGridViewCellStyleEditor.cs #2684
- [x] DataGridViewColumnDesigner.cs https://github.com/dotnet/winforms/pull/12355
- [x] DataGridViewComponentPropertyGridSite.cs https://github.com/dotnet/winforms/pull/12357
- [x] DataGridViewColumnTypeEditor #13084
- [x] DataGridViewColumnType.Picker #13055
- [x] DataGridViewDesigner.cs #13014
- [x] DataSourceDescriptorCollection.cs https://github.com/dotnet/winforms/pull/12432
- [x] DataSourceGroupCollection.cs https://github.com/dotnet/winforms/pull/12430
- [x] DataSourceListEditor.cs #13122
- [x] DateTimePickerDesigner.cs https://github.com/dotnet/winforms/pull/11702
- [x] DesignBinding.cs https://github.com/dotnet/winforms/pull/11748
- [ ] DesignBindingPicker.cs #13536
- [x] DesignBindingValueUIHandler #13100
- [x] DesignerExtenders.cs https://github.com/dotnet/winforms/pull/12337
- [x] DesignerFrame.cs https://github.com/dotnet/winforms/pull/12712
- [x] DesignerToolStripControlHost.cs https://github.com/dotnet/winforms/pull/12086
- [ ] DesignerUtils.cs #13341 #13384 #13435
- [x] DesignerVerbToolStripMenuItem.cs https://github.com/dotnet/winforms/pull/12566
- [ ] DocumentDesigner.cs
- [x] EditorServiceContext.cs #13273
- [x] FlowPanelDesigner.cs https://github.com/dotnet/winforms/pull/11735
- [x] FolderNameEditor.cs https://github.com/dotnet/winforms/pull/11973
- [ ] FormDocumentDesigner.cs
- [x] ~~FormatControl.CurrencyFormatType.cs~~ (private class)
- [x] ~~FormatControl.CustomFormatType.cs~~ (private class)
- [x] ~~FormatControl.DateTimeFormatType.cs~~ (private class)
- [x] ~~FormatControl.NoFormattingFormatType.cs~~ (private class)
- [x] ~~FormatControl.NumericFormatType.cs~~ (private class)
- [x] ~~FormatControl.ScientificFormatType.cs~~ (private class)
- [x] FormatControl.cs https://github.com/dotnet/winforms/pull/12168
- [x] FormatStringDialog.cs https://github.com/dotnet/winforms/pull/12185
- [x] FormatStringEditor.cs https://github.com/dotnet/winforms/pull/12208
- [x] FlowLayoutPanelDesigner #13257
- [x] GroupedContextMenuStrip.cs #11183
- [x] ImageCollectionCodeDomSerializer.cs #12753
- [x] ImageIndexEditor.cs https://github.com/dotnet/winforms/pull/12237
- [x] ImageListActionList.cs https://github.com/dotnet/winforms/pull/11766
- [x] ImageListDesigner.OriginalImageCollection.cs #12282
- [x] ImageListDesigner.cs https://github.com/dotnet/winforms/pull/11725
- [x] ImageListImage.cs https://github.com/dotnet/winforms/pull/11736
- [x] ImageListImageEditor.cs https://github.com/dotnet/winforms/pull/3404
- [x] InheritanceUI.cs https://github.com/dotnet/winforms/pull/12016
- [x] ItemTypeToolStripMenuItem.cs #12199
- [x] LabelDesigner.cs #10771
- [x] LinkAreaEditor.LinkAreaUI.cs https://github.com/dotnet/winforms/pull/12725
- [x] LinkAreaEditor.cs #12718
- [x] ListAdapter.cs #12093
- [x] ListBoxDesigner.cs https://github.com/dotnet/winforms/pull/11712
- [x] ListControlStringCollectionEditor.cs https://github.com/dotnet/winforms/pull/12516
- [x] ListControlUnboundActionList.cs https://github.com/dotnet/winforms/pull/12770
- [x] ListViewActionList.cs https://github.com/dotnet/winforms/pull/11782
- [x] ListViewDesigner.cs #13301
- [x] ListViewGroupCollectionEditor.cs #13275
- [x] MaskDescriptor.cs https://github.com/dotnet/winforms/pull/11703
- [x] MaskDescriptorComparer.cs https://github.com/dotnet/winforms/pull/11734
- [x] MaskDescriptorTemplate.cs https://github.com/dotnet/winforms/pull/11743
- [x] MaskDesignerDialog.cs #12575
- [x] MaskPropertyEditor.cs https://github.com/dotnet/winforms/pull/11955
- [x] MaskedTextBoxDesigner.cs #10780
- [x] MaskedTextBoxTextEditor.cs https://github.com/dotnet/winforms/pull/11737
- [x] MaskedTextBoxTextEditorDropDown.cs https://github.com/dotnet/winforms/pull/12244
- [x] MaskedTextBoxDesignerActionList.cs https://github.com/dotnet/winforms/pull/12491
- [x] MenuCommands #807
- [x] MonthCalendarDesigner.cs https://github.com/dotnet/winforms/pull/11692
- [x] NotifyIconDesigner https://github.com/dotnet/winforms/pull/11774
- [x] NotifyIconDesignerActionList #12813
- [x] OleDragDropHandler https://github.com/dotnet/winforms/pull/13022
- [x] PanelDesigner https://github.com/dotnet/winforms/pull/12113
- [x] ParentControlDesigner.cs #13173
- [x] PictureBoxActionList https://github.com/dotnet/winforms/pull/12201
- [x] PrintDialogDesigner #12117
- [x] RichTextBoxDesigner https://github.com/dotnet/winforms/pull/12061
- [x] RichTextBoxActionList https://github.com/dotnet/winforms/pull/12131
- [x] SRDisplayNameAttribute https://github.com/dotnet/winforms/pull/12169
- [ ] ScrollableControlDesigner
- [x] SelectionUIHandler #13013
- [x] SplitterDesigner https://github.com/dotnet/winforms/pull/12359
- [x] SplitterPanelDesigner https://github.com/dotnet/winforms/pull/12269
- [x] ~~StatusBarDesigner~~ StatusBar control is deprecated
- [x] ShortcutKeysEditor #1297
- [x] StandardCommandToolStripMenuItem #13215
- [x] StandardMenuStripVerb #13492
- [x] StatusCommandUI #13121
- [x] TabControlDesigner https://github.com/dotnet/winforms/pull/12130
- [x] TableLayoutPanelCodeDomSerializer #13212
- [x] TableLayoutPanelDesigner #13028
- [x] TabOrder #13181
- [x] TabPageDesigner https://github.com/dotnet/winforms/pull/12097
- [x] TemplateNodeCustomMenuItemCollection https://github.com/dotnet/winforms/pull/12035
- [x] TextBoxDesigner #12095
- [x] UpDownBaseDesigner.cs https://github.com/dotnet/winforms/pull/12364
- [x] UserControlDocumentDesigner.cs https://github.com/dotnet/winforms/pull/12710
- [x] TextBoxBaseDesigner https://github.com/dotnet/winforms/pull/12433
- [x] TextBoxActionList #12198
- [x] ToolStripActionList https://github.com/dotnet/winforms/pull/12525
- [x] ToolStripAdornerWindowService #13029
- [x] ToolStripDesignerUtils #12967
- [x] ToolStripContainerActionList #13256
- [x] ToolStripContentPanelDesigner https://github.com/dotnet/winforms/pull/12366
- [x] ToolStripContainerDesigner #12200
- [x] ToolStripDropDownDesigner #9575
- [x] ToolStripPanelDesigner #12922
- [ ] ToolStripKeyboardHandlingService
- [x] ToolStripMenuItemCodeDomSerializer #12883 #13200
- [x] ToolStripInSituService #13297
- [x] ToolStripEditorManager #13218
- [x] ToolStripCollectionEditor #12962
- [x] ToolStripCustomTypeDescriptor.cs #12963
- [x] ~~WebBrowserDesigner~~ This designer has not been ported, tracking it with #9810
@SimonZhao888 - could you please use this bug only for public classes from System.Windows.Forms.Design namespace - https://github.com/dotnet/winforms/tree/main/src/System.Windows.Forms.Design/src? And then add help-wanted label. We will use this bug to track tests added by contributors.
Also remember the goal here isn't to increase code coverage. The goal is to identify user/developer scenarios which people are depending on today, and add tests that make it unlikely we would break those users in the future. Every added test should be written from the perspective of what someone using WinForms will try to do, and validate they will get the expected result.
The difference is subtle for public APIs, but for internal APIs that aren't always obvious to invoke, it becomes important to try and write tests targeting those features against public APIs where possible. Tests that exercise behavior using public APIs better reflect user behavior and the tests are much easier to understand if a failure ever shows up.
This issue is now marked as "help wanted", and we’re looking for a community volunteer to work on this issue. If we receive no interest in 180 days, we will close the issue. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!