namespace MonoTests.System.Windows.Forms {
[TestFixture]
- public class TestControlStyle {
+ public class TestControlStyle : TestHelper {
static Array style_values = Enum.GetValues(typeof(ControlStyles));
static string[] style_names = Enum.GetNames(typeof(ControlStyles));
Assert.AreEqual(want, got, name);
}
+ public static void CheckStyles (Control ctrl, string msg, params ControlStyles [] ExpectedStyles)
+ {
+ MethodInfo method = ctrl.GetType ().GetMethod ("GetStyle", BindingFlags.ExactBinding | BindingFlags.NonPublic | BindingFlags.Instance, null, new Type [] {typeof(ControlStyles)}, null);
+ Assert.IsNotNull (method, "Cannot complete test, didn't find GetStyle method on Control");
+
+ string failed = "";
+
+ if (ExpectedStyles == null)
+ ExpectedStyles = new ControlStyles [0];
+ foreach (ControlStyles style in Enum.GetValues (typeof(ControlStyles))) {
+ bool result = (bool) method.Invoke (ctrl, new object [] {style});
+ if (Array.IndexOf (ExpectedStyles, style) >= 0) {
+ if (!result)
+ failed += "\t" + "ControlStyles." + style.ToString () + " was expected, but is not set." + Environment.NewLine;
+ } else {
+ if (result)
+ failed += "\t" + "ControlStyles." + style.ToString () + " is set, but was not expected." + Environment.NewLine;
+ }
+ }
+ if (failed != String.Empty) {
+ Assert.Fail (msg + Environment.NewLine + failed);
+ }
+ }
+
public static string[] GetStyles(Control control) {
string[] result;
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(Control_want, GetStyles(new Control()), "ControlStyles");
"AllPaintingInWmPaint=True",
"CacheText=True",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
Assert.AreEqual(Button_want, GetStyles(new Button()), "ButtonStyles");
}
-
[Test]
public void CheckBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=True",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
Assert.AreEqual(CheckBox_want, GetStyles(new CheckBox()), "CheckBoxStyles");
}
-
[Test]
public void RadioButtonStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=True",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
Assert.AreEqual(RadioButton_want, GetStyles(new RadioButton()), "RadioButtonStyles");
}
-
[Test]
public void DataGridStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(DataGrid_want, GetStyles(new DataGrid()), "DataGridStyles");
}
-
[Test]
public void DateTimePickerStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(DateTimePicker_want, GetStyles(new DateTimePicker()), "DateTimePickerStyles");
}
-
[Test]
public void GroupBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(GroupBox_want, GetStyles(new GroupBox()), "GroupBoxStyles");
}
-
[Test]
public void LabelStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
Assert.AreEqual(Label_want, GetStyles(new Label()), "LabelStyles");
}
-
[Test]
public void LinkLabelStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
string[] LinkLabel_link_want = {
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
+ LinkLabel link = new LinkLabel ();
- Assert.AreEqual(LinkLabel_want, GetStyles(new LinkLabel()), "LinkLabelStyles");
+ // Test LinkLabel without text and without links
+ Assert.AreEqual(LinkLabel_want, GetStyles(link), "#1");
- // Test LinkLabel with a link
- LinkLabel link = new LinkLabel();
+ // Test LinkLabel with only text
link.Text = "Users need not fear making the switch to Linux";
- link.Links.Add (6,9, "http://link1");
- Assert.AreEqual(LinkLabel_link_want, GetStyles(link), "LinkLabelStyles2");
+ link.Links.Clear ();
+ Assert.AreEqual (LinkLabel_want, GetStyles (link), "#2");
+ // Test LinkLabel with a link
+ link.Links.Add (6, 9, "http://link1");
+ Assert.AreEqual(LinkLabel_link_want, GetStyles(link), "#3");
}
-
[Test]
public void ComboBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(ComboBox_want, GetStyles(new ComboBox()), "ComboBoxStyles");
}
-
[Test]
public void ListBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(ListBox_want, GetStyles(new ListBox()), "ListBoxStyles");
}
-
[Test]
public void CheckedListBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(CheckedListBox_want, GetStyles(new CheckedListBox()), "CheckedListBoxStyles");
}
-
[Test]
public void ListViewStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(ListView_want, GetStyles(new ListView()), "ListViewStyles");
}
-
[Test]
public void MdiClientStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(MdiClient_want, GetStyles(new MdiClient()), "MdiClientStyles");
}
-
[Test]
public void MonthCalendarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(MonthCalendar_want, GetStyles(new MonthCalendar()), "MonthCalendarStyles");
}
-
[Test]
public void PictureBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
+#if NET_2_0
+ "DoubleBuffer=False",
+ "OptimizedDoubleBuffer=True",
+ "UseTextForAccessibility=True"
+#else
"DoubleBuffer=True"
+#endif
};
Assert.AreEqual(PictureBox_want, GetStyles(new PictureBox()), "PictureBoxStyles");
}
-
[Test]
public void ProgressBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(ProgressBar_want, GetStyles(new ProgressBar()), "ProgressBarStyles");
}
-
[Test]
public void ScrollableControlStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(ScrollableControl_want, GetStyles(new ScrollableControl()), "ScrollableControlStyles");
}
-
[Test]
public void ContainerControlStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(ContainerControl_want, GetStyles(new ContainerControl()), "ContainerControlStyles");
}
-
[Test]
public void FormStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
- Assert.AreEqual(Form_want, GetStyles(new Form()), "FormStyles");
+ Form f = new Form ();
+ f.ShowInTaskbar = false;
+ Assert.AreEqual(Form_want, GetStyles(f), "FormStyles");
+ f.Dispose ();
}
-
[Test]
public void PropertyGridStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(PropertyGrid_want, GetStyles(new PropertyGrid()), "PropertyGridStyles");
}
-
[Test]
public void DomainUpDownStyleTest ()
{
string[] DomainUpDown_want = {
"ContainerControl=True",
"UserPaint=True",
+#if NET_2_0
+ "Opaque=True",
+ "ResizeRedraw=True",
+#else
"Opaque=False",
"ResizeRedraw=False",
+#endif
"FixedWidth=False",
"FixedHeight=True",
+#if NET_2_0
+ "StandardClick=False",
+#else
"StandardClick=True",
+#endif
"Selectable=True",
"UserMouse=False",
"SupportsTransparentBackColor=False",
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(DomainUpDown_want, GetStyles(new DomainUpDown()), "DomainUpDownStyles");
}
-
[Test]
public void NumericUpDownStyleTest ()
{
string[] NumericUpDown_want = {
"ContainerControl=True",
"UserPaint=True",
+#if NET_2_0
+ "Opaque=True",
+ "ResizeRedraw=True",
+#else
"Opaque=False",
"ResizeRedraw=False",
+#endif
"FixedWidth=False",
"FixedHeight=True",
+#if NET_2_0
+ "StandardClick=False",
+#else
"StandardClick=True",
+#endif
"Selectable=True",
"UserMouse=False",
"SupportsTransparentBackColor=False",
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(NumericUpDown_want, GetStyles(new NumericUpDown()), "NumericUpDownStyles");
}
-
[Test]
public void UserControlStyleTest ()
{
"StandardClick=True",
"Selectable=True",
"UserMouse=False",
+#if NET_2_0
+ "SupportsTransparentBackColor=True",
+#else
"SupportsTransparentBackColor=False",
+#endif
"StandardDoubleClick=True",
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(UserControl_want, GetStyles(new UserControl()), "UserControlStyles");
}
-
[Test]
public void PanelStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(Panel_want, GetStyles(new Panel()), "PanelStyles");
}
-
[Test]
public void TabPageStyleTest ()
{
"AllPaintingInWmPaint=False",
"CacheText=True",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(TabPage_want, GetStyles(new TabPage()), "TabPageStyles");
}
-
[Test]
public void HScrollBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(HScrollBar_want, GetStyles(new HScrollBar()), "HScrollBarStyles");
}
-
[Test]
public void VScrollBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(VScrollBar_want, GetStyles(new VScrollBar()), "VScrollBarStyles");
}
-
[Test]
public void SplitterStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(Splitter_want, GetStyles(new Splitter()), "SplitterStyles");
}
-
[Test]
public void StatusBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(StatusBar_want, GetStyles(new StatusBar()), "StatusBarStyles");
}
-
[Test]
public void TabControlStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(TabControl_want, GetStyles(new TabControl()), "TabControlStyles");
}
-
[Test]
public void RichTextBoxStyleTest ()
{
"Selectable=True",
"UserMouse=False",
"SupportsTransparentBackColor=False",
+#if NET_2_0
+ "StandardDoubleClick=False",
+#else
"StandardDoubleClick=True",
+#endif
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(RichTextBox_want, GetStyles(new RichTextBox()), "RichTextBoxStyles");
}
-
[Test]
public void TextBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(TextBox_want, GetStyles(new TextBox()), "TextBoxStyles");
}
-
[Test]
public void DataGridTextBoxStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(DataGridTextBox_want, GetStyles(new DataGridTextBox()), "DataGridTextBoxStyles");
}
-
[Test]
public void ToolBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=True"
+#endif
};
Assert.AreEqual(ToolBar_want, GetStyles(new ToolBar()), "ToolBarStyles");
}
-
[Test]
public void TrackBarStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(TrackBar_want, GetStyles(new TrackBar()), "TrackBarStyles");
}
-
[Test]
public void TreeViewStyleTest ()
{
"AllPaintingInWmPaint=True",
"CacheText=False",
"EnableNotifyMessage=False",
- "DoubleBuffer=False"
+ "DoubleBuffer=False",
+#if NET_2_0
+ "OptimizedDoubleBuffer=False",
+ "UseTextForAccessibility=False"
+#endif
};
Assert.AreEqual(TreeView_want, GetStyles(new TreeView()), "TreeViewStyles");
}
-
-
}
}
-