Author: gert
Date: 2006-04-17 18:30:24 -0400 (Mon, 17 Apr 2006)
New Revision: 59549
Modified:
trunk/mcs/class/Managed.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TabControl.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms_test.dll.sources
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TabControlTest.cs
Log:
* TabControlTest.cs: Added test for bug #78121. Marked failing tests
NotWorking. Set eol-style to native.
* System.Windows.Forms_test.dll.sources: Added TabControlTest.cs.
* TabControl.cs: Avoid ArgumentOutOfRangeException when setting
SelectedIndex to -1. Fixes bug #78121.
Modified: trunk/mcs/class/Managed.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/ChangeLog 2006-04-17 22:10:15 UTC
(rev 59548)
+++ trunk/mcs/class/Managed.Windows.Forms/ChangeLog 2006-04-17 22:30:24 UTC
(rev 59549)
@@ -1,3 +1,7 @@
+2006-04-16 Gert Driesen <[EMAIL PROTECTED]>
+
+ * System.Windows.Forms_test.dll.sources: Added TabControlTest.cs.
+
2006-03-21 Jackson Harper <[EMAIL PROTECTED]>
* System.Windows.Forms.dll.resources: Add the keyboard resources.
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2006-04-17 22:10:15 UTC (rev 59548)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2006-04-17 22:30:24 UTC (rev 59549)
@@ -1,3 +1,8 @@
+2006-04-18 Gert Driesen <[EMAIL PROTECTED]>
+
+ * TabControl.cs: Avoid ArgumentOutOfRangeException when setting
+ SelectedIndex to -1. Fixes bug #78121.
+
2006-04-17 Jackson Harper <[EMAIL PROTECTED]>
* Binding.cs: Handle null values for Current and BindingContext.
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TabControl.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TabControl.cs
2006-04-17 22:10:15 UTC (rev 59548)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TabControl.cs
2006-04-17 22:30:24 UTC (rev 59549)
@@ -222,17 +222,18 @@
refresh = true;
}
- int le = TabPages [value].TabBounds.Right;
- int re =
ThemeEngine.Current.GetTabControlLeftScrollRect (this).Left;
-
- if (-1 != value && show_slider && le > re) {
- int diff = le - re;
- int ind = value - 1;
- while (ind > 0 && diff > 0) {
- diff -= TabPages [ind++].Width;
+ if (-1 != value) {
+ int le = TabPages
[value].TabBounds.Right;
+ int re =
ThemeEngine.Current.GetTabControlLeftScrollRect (this).Left;
+ if (show_slider && le > re) {
+ int diff = le - re;
+ int ind = value - 1;
+ while (ind > 0 && diff > 0) {
+ diff -= TabPages
[ind++].Width;
+ }
+ slider_pos = ind - 1;
+ refresh = true;
}
- slider_pos = ind - 1;
- refresh = true;
}
if (selected_index != -1) {
@@ -244,9 +245,10 @@
OnSelectedIndexChanged (EventArgs.Empty);
- TabPage selected = (TabPage) Controls
[selected_index];
+ TabPage selected = null;
if (selected_index != -1) {
+ selected = (TabPage) Controls
[selected_index];
invalid = Rectangle.Union (invalid,
GetTabRect (selected_index));
selected.Visible = true;
}
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms_test.dll.sources
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms_test.dll.sources
2006-04-17 22:10:15 UTC (rev 59548)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms_test.dll.sources
2006-04-17 22:30:24 UTC (rev 59549)
@@ -42,6 +42,7 @@
System.Windows.Forms/RichTextBoxTest.cs
System.Windows.Forms/ScrollBarTest.cs
System.Windows.Forms/StatusBarTest.cs
+System.Windows.Forms/TabControlTest.cs
System.Windows.Forms/TestImageIndexConverter.cs
System.Windows.Forms/ToolBarTest.cs
System.Windows.Forms/ToolTipTest.cs
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2006-04-17 22:10:15 UTC (rev 59548)
+++ trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2006-04-17 22:30:24 UTC (rev 59549)
@@ -1,3 +1,8 @@
+2006-04-16 Gert Driesen <[EMAIL PROTECTED]>
+
+ * TabControlTest.cs: Added test for bug #78121. Marked failing tests
+ NotWorking. Set eol-style to native.
+
2006-04-12 Peter Dennis Bartok <[EMAIL PROTECTED]>
* ControlTest.cs: Added backcolor tests related to transparency
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TabControlTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TabControlTest.cs
2006-04-17 22:10:15 UTC (rev 59548)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TabControlTest.cs
2006-04-17 22:30:24 UTC (rev 59549)
@@ -7,16 +7,16 @@
// (C) 2005 Novell, Inc. (http://www.novell.com)
//
-using System;
+using System.Drawing;
using System.Windows.Forms;
-using System.Drawing;
-using System.Reflection;
+
using NUnit.Framework;
[TestFixture]
public class TabControlTest
{
[Test]
+ [Category ("NotWorking")]
public void TabControlPropertyTest ()
{
Form myForm = new Form ();
@@ -55,7 +55,7 @@
// S
Assert.AreEqual (-1, myTabControl.SelectedIndex, "#S1");
- Assert.AreEqual (null, myTabControl.SelectedTab, "#S2");
+ Assert.AreEqual (null, myTabControl.SelectedTab, "#S2");
Assert.AreEqual (false, myTabControl.ShowToolTips, "#S3");
Assert.AreEqual (TabSizeMode.Normal, myTabControl.SizeMode,
"#S4");
@@ -65,23 +65,53 @@
}
[Test]
+ [Category ("NotWorking")]
public void GetTabRectTest ()
{
TabControl myTabControl = new TabControl ();
TabPage myTabPage = new TabPage();
myTabControl.Controls.Add(myTabPage);
myTabPage.TabIndex = 0;
- Rectangle myTabRect = new Rectangle ();
- Assert.AreEqual (2, myTabControl.GetTabRect (0).X, "#GetT1");
- Assert.AreEqual (2, myTabControl.GetTabRect (0).Y, "#GetT2");
- Assert.AreEqual (42, myTabControl.GetTabRect (0).Width,
"#GetT3");
- Assert.AreEqual (18, myTabControl.GetTabRect (0).Height,
"#GetT4");
- }
+ Rectangle myTabRect = myTabControl.GetTabRect (0);
+ Assert.AreEqual (2, myTabRect.X, "#GetT1");
+ Assert.AreEqual (2, myTabRect.Y, "#GetT2");
+ Assert.AreEqual (42, myTabRect.Width, "#GetT3");
+ Assert.AreEqual (18, myTabRect.Height, "#GetT4");
+ }
[Test]
public void ToStringTest ()
{
TabControl myTabControl = new TabControl ();
- Assert.AreEqual ("System.Windows.Forms.TabControl,
TabPages.Count: 0", myTabControl.ToString(), "#Str1");
+ Assert.AreEqual ("System.Windows.Forms.TabControl,
TabPages.Count: 0", myTabControl.ToString(), "#1");
}
+
+ [Test]
+ public void ClearTabPagesTest ()
+ {
+ // no tab pages
+ TabControl tab = new TabControl ();
+ tab.TabPages.Clear ();
+ Assert.AreEqual (-1, tab.SelectedIndex, "#A1");
+ Assert.AreEqual (0, tab.TabPages.Count, "#A2");
+
+ // single tab page
+ tab.Controls.Add (new TabPage ());
+ Assert.AreEqual (0, tab.SelectedIndex, "#B1");
+ Assert.AreEqual (1, tab.TabPages.Count, "#B2");
+ tab.TabPages.Clear();
+ Assert.AreEqual (-1, tab.SelectedIndex, "#B3");
+ Assert.AreEqual (0, tab.TabPages.Count, "#B4");
+
+ // multiple tab pages
+ tab.Controls.Add (new TabPage ());
+ tab.Controls.Add (new TabPage ());
+ tab.Controls.Add (new TabPage ());
+ Assert.AreEqual (0, tab.SelectedIndex, "#C1");
+ Assert.AreEqual (3, tab.TabPages.Count, "#C2");
+ tab.SelectedIndex = 1;
+ tab.TabPages.Clear ();
+ Assert.AreEqual (-1, tab.SelectedIndex, "#C3");
+ Assert.AreEqual (0, tab.TabPages.Count, "#C4");
+ }
}
Property changes on:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TabControlTest.cs
___________________________________________________________________
Name: svn:eol-style
+ native
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches