Skip to content

Commit

Permalink
Enable nullability in ToolStripPanelRenderEventArgs (#6422)
Browse files Browse the repository at this point in the history
  • Loading branch information
gpetrou authored Jan 18, 2022
1 parent 44c6fbf commit 358f9a3
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 16 deletions.
6 changes: 3 additions & 3 deletions src/System.Windows.Forms/src/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2927,9 +2927,9 @@ System.Windows.Forms.ToolStripItemTextRenderEventArgs.ToolStripItemTextRenderEve
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.Remove(System.Windows.Forms.ToolStripPanelRow value) -> void
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.ToolStripPanelRowCollection(System.Windows.Forms.ToolStripPanel owner) -> void
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.ToolStripPanelRowCollection(System.Windows.Forms.ToolStripPanel owner, System.Windows.Forms.ToolStripPanelRow[] value) -> void
~System.Windows.Forms.ToolStripPanelRenderEventArgs.Graphics.get -> System.Drawing.Graphics
~System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanel.get -> System.Windows.Forms.ToolStripPanel
~System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanelRenderEventArgs(System.Drawing.Graphics g, System.Windows.Forms.ToolStripPanel toolStripPanel) -> void
System.Windows.Forms.ToolStripPanelRenderEventArgs.Graphics.get -> System.Drawing.Graphics!
System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanel.get -> System.Windows.Forms.ToolStripPanel!
System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanelRenderEventArgs(System.Drawing.Graphics! g, System.Windows.Forms.ToolStripPanel! toolStripPanel) -> void
~System.Windows.Forms.ToolStripPanelRow.CanMove(System.Windows.Forms.ToolStrip toolStripToDrag) -> bool
~System.Windows.Forms.ToolStripPanelRow.Controls.get -> System.Windows.Forms.Control[]
~System.Windows.Forms.ToolStripPanelRow.LayoutEngine.get -> System.Windows.Forms.Layout.LayoutEngine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

#nullable disable

using System.Drawing;

namespace System.Windows.Forms
Expand All @@ -15,8 +13,8 @@ public class ToolStripPanelRenderEventArgs : EventArgs
/// </summary>
public ToolStripPanelRenderEventArgs(Graphics g, ToolStripPanel toolStripPanel)
{
Graphics = g;
ToolStripPanel = toolStripPanel;
Graphics = g.OrThrowIfNull();
ToolStripPanel = toolStripPanel.OrThrowIfNull();
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,32 @@ namespace System.Windows.Forms.Tests
{
public class ToolStripPanelRenderEventArgsTests : IClassFixture<ThreadExceptionFixture>
{
public static IEnumerable<object[]> Ctor_Graphics_ToolStripPanel_TestData()
public static IEnumerable<object[]> Ctor_Null_Graphics_ToolStripPanel_TestData()
{
var image = new Bitmap(10, 10);
Graphics graphics = Graphics.FromImage(image);

yield return new object[] { null, null };
yield return new object[] { graphics, new ToolStripPanel() };
yield return new object[] { graphics, null };
yield return new object[] { null, new ToolStripPanel() };
}

[WinFormsTheory]
[MemberData(nameof(Ctor_Graphics_ToolStripPanel_TestData))]
public void Ctor_Graphics_ToolStripPanel(Graphics g, ToolStripPanel panel)
[MemberData(nameof(Ctor_Null_Graphics_ToolStripPanel_TestData))]
public void ToolStripPanelRenderEventArgs_Null_Graphics_ToolStripPanel_ThrowsArgumentNullException(Graphics g, ToolStripPanel toolStripPanel)
{
var e = new ToolStripPanelRenderEventArgs(g, panel);
Assert.Equal(g, e.Graphics);
Assert.Equal(panel, e.ToolStripPanel);
Assert.Throws<ArgumentNullException>(() => new ToolStripPanelRenderEventArgs(g, toolStripPanel));
}

[WinFormsFact]
public void Ctor_Graphics_ToolStripPanel()
{
using var image = new Bitmap(10, 10);
using Graphics graphics = Graphics.FromImage(image);
using var toolStripPanel = new ToolStripPanel();
var e = new ToolStripPanelRenderEventArgs(graphics, toolStripPanel);
Assert.Equal(graphics, e.Graphics);
Assert.Equal(toolStripPanel, e.ToolStripPanel);
Assert.False(e.Handled);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -601,11 +601,9 @@ public void ToolStripRenderer_DrawToolStripContentPanelBackground_Invoke_CallsRe
public static IEnumerable<object[]> ToolStripPanelRenderEventArgs_TestData()
{
yield return new object[] { null };
yield return new object[] { new ToolStripPanelRenderEventArgs(null, null) };

var image = new Bitmap(10, 10);
Graphics graphics = Graphics.FromImage(image);
yield return new object[] { new ToolStripPanelRenderEventArgs(graphics, null) };
yield return new object[] { new ToolStripPanelRenderEventArgs(graphics, new ToolStripPanel()) };
}

Expand Down

0 comments on commit 358f9a3

Please sign in to comment.