89 строки
2.4 KiB
C#
89 строки
2.4 KiB
C#
#if __MACOS__
|
|
using NUnit.Framework;
|
|
using System;
|
|
|
|
using AppKit;
|
|
using Foundation;
|
|
using ObjCRuntime;
|
|
|
|
namespace Xamarin.Mac.Tests {
|
|
[TestFixture]
|
|
[Preserve (AllMembers = true)]
|
|
public class NSControlTests {
|
|
[Test]
|
|
public void NSControlShouldChangeControlSize ()
|
|
{
|
|
Asserts.EnsureYosemite ();
|
|
var control = new NSButton ();
|
|
var size = control.ControlSize;
|
|
control.ControlSize = NSControlSize.Mini;
|
|
|
|
Assert.IsFalse (size == control.ControlSize);
|
|
Assert.IsTrue (control.ControlSize == NSControlSize.Mini);
|
|
}
|
|
|
|
[Test]
|
|
public void NSControlShouldChangeHighlighted ()
|
|
{
|
|
Asserts.EnsureYosemite ();
|
|
|
|
var control = new NSButton ();
|
|
var highlighted = control.Highlighted;
|
|
control.Highlighted = !highlighted;
|
|
|
|
Assert.IsFalse (highlighted == control.Highlighted);
|
|
}
|
|
|
|
[Test]
|
|
public void NSControlShouldChangeLineBreakMode ()
|
|
{
|
|
Asserts.EnsureYosemite ();
|
|
|
|
var control = new NSButton ();
|
|
var lineBreak = control.LineBreakMode;
|
|
control.LineBreakMode = NSLineBreakMode.Clipping;
|
|
|
|
Assert.IsTrue (control.LineBreakMode == NSLineBreakMode.Clipping);
|
|
Assert.IsFalse (lineBreak == control.LineBreakMode);
|
|
}
|
|
|
|
[Test]
|
|
public void NSControlShouldAddMultipleActivatedEventHandlers ()
|
|
{
|
|
var control = new NSButton ();
|
|
|
|
int firstHitCount = 0;
|
|
int secondHitCount = 0;
|
|
|
|
control.Activated += (sender, e) => firstHitCount++;
|
|
control.Activated += (sender, e) => secondHitCount++;
|
|
|
|
control.PerformClick (control);
|
|
|
|
Assert.IsTrue (firstHitCount == 1, "NSControlShouldAddMultipleActivatedEventHandlers - Did not call first EventHandler");
|
|
Assert.IsTrue (secondHitCount == 1, "NSControlShouldAddMultipleActivatedEventHandlers - Did not call second EventHandler");
|
|
}
|
|
|
|
[Test]
|
|
public void NSControlShouldRemoveAndAddActivatedEventHandlers ()
|
|
{
|
|
var control = new NSButton ();
|
|
|
|
int firstHitCount = 0;
|
|
int secondHitCount = 0;
|
|
|
|
EventHandler firstDelegate = (object sender, EventArgs e) => firstHitCount++;
|
|
|
|
control.Activated += firstDelegate;
|
|
control.Activated -= firstDelegate;
|
|
control.Activated += (sender, e) => secondHitCount++;
|
|
|
|
control.PerformClick (control);
|
|
|
|
Assert.IsTrue (firstHitCount == 0, "NSControlShouldRemoveAndAddActivatedEventHandlers - Called first EventHandler after it was removed");
|
|
Assert.IsTrue (secondHitCount == 1, "NSControlShouldRemoveAndAddActivatedEventHandlers - Did not call second EventHandler");
|
|
}
|
|
}
|
|
}
|
|
#endif // __MACOS__
|