public void HandleHotKeyWillReturnTrueAndCallActionIfHotKeyWasFound() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A var hotKeyActionSet = false; Action hotKeyAction = () => { hotKeyActionSet = true; }; dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); // Act var handleHotKeyResult = dummyHotKeyManager.HandleHotKey(hotKeyModifier, virtualKeyCode); // Assert handleHotKeyResult.Should().BeTrue(); hotKeyActionSet.Should().BeTrue(); } } }
public void UnregisterWillFailIfHotKeyAlreadyUnregistered() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A var globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode); globalHotKey.Unregister(); // Act, Assert globalHotKey.Invoking(ghk => ghk.Unregister()).Should().Throw <ObjectDisposedException>(); } }
public void RegisterWillFailIfActionIsNull() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A Action hotKeyAction = null; // Act, Assert dummyHotKeyManager.Invoking(hkm => hkm.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction)).Should().Throw <ArgumentNullException>(); } } }
public void ProbeWillBeFalseIfHotKeyIsRegistered() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A using (JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode)) { // Act var probeResult = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Probe(hotKeyModifier, virtualKeyCode); // Assert probeResult.Should().BeFalse(); } } }
public void DisposeWillNotFailIfHotKeyWasAlreadyDisposed() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A JanHafner.Toolkit.Windows.HotKey.GlobalHotKey globalHotKey = null; using (globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode)) { } // Act, Assert globalHotKey.Invoking(ghk => ghk.Dispose()).Should().NotThrow <ObjectDisposedException>(); } }
public void UnregisterWillUnregisterTheHotKey() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A var globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode); // Acti globalHotKey.Unregister(); // Assert globalHotKey.HotKeyModifier.Should().Be(HotKeyModifier.None); globalHotKey.WindowHandle.Should().Be(IntPtr.Zero); globalHotKey.VirtualKeyCode.Should().Be(0); } }
public void UnregisterWillFailIfWindowHandleIsInvalid() { // Arrange var windowHandle = IntPtr.Zero; var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A JanHafner.Toolkit.Windows.HotKey.GlobalHotKey globalHotKey = null; using (var dummyWindow = DummyWindow.Create()) { windowHandle = dummyWindow.WindowHandle; globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(windowHandle, hotKeyModifier, virtualKeyCode); } globalHotKey.Invoking(ghk => ghk.Unregister()).Should().Throw <Win32Exception>(); }
public void RegisterWillRegisterTheHotKey() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A Action hotKeyAction = () => { }; // Act var hotKeyId = dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); // Assert hotKeyId.Should().NotBe(0); } } }
public void HasRegisteredHotKeysWillReturnTrueIfRegistrationWasSuccessfull() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A Action hotKeyAction = () => { }; dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); // Act var hasRegisteredHotKeys = dummyHotKeyManager.HasRegisteredHotKeys; // Assert hasRegisteredHotKeys.Should().BeTrue(); } } }
public void UnregisterByModifierAndKeyCodeWillUnregisterTheHotKey() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A Action hotKeyAction = () => { }; dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); // Act dummyHotKeyManager.Unregister(hotKeyModifier, virtualKeyCode); // Assert dummyHotKeyManager.HasRegisteredHotKeys.Should().BeFalse(); } } }
public void FindHotKeyIdWillReturnIdIfRegistered() { using (var dummyWindow = DummyWindow.Create()) { using (var dummyHotKeyManager = new DummyHotKeyManager()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A Action hotKeyAction = () => { }; var hotKeyId = dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); // Act var registeredHotKeyId = dummyHotKeyManager.FindHotKeyId(hotKeyModifier, virtualKeyCode); // Assert registeredHotKeyId.Should().Be(hotKeyId); } } }
public void RegisterWillCreateGlobalHotKey() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A // Act using ( var globalHotKey = JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode)) { globalHotKey.Should().NotBeNull(); globalHotKey.Id.Should().NotBe(0); globalHotKey.HotKeyModifier.Should().Be(hotKeyModifier); globalHotKey.VirtualKeyCode.Should().Be(virtualKeyCode); globalHotKey.WindowHandle.Should().Be(dummyWindow.WindowHandle); } } }
public void RegisterWillFailIfWindowHandleIsInvalid() { // Arrange var windowHandle = IntPtr.Zero; var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A using (var dummyWindow = DummyWindow.Create()) { // Invalidate window handle windowHandle = dummyWindow.WindowHandle; } Action registerFunctionActor = () => { JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(windowHandle, hotKeyModifier, virtualKeyCode); }; // Act registerFunctionActor.Should().Throw <Win32Exception>(); }
public void RegisterWillFailIfHotKeyIsAlreadyRegistered() { using (var dummyWindow = DummyWindow.Create()) { // Arrange const Int32 hotKeyAlreadyRegisteredErrorCode = 1409; var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Control | HotKeyModifier.Shift; var virtualKeyCode = (UInt32)65; // A using (JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode)) { Action registerFunctionActor = () => { JanHafner.Toolkit.Windows.HotKey.GlobalHotKey.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode); }; // Act registerFunctionActor.Should().Throw <Win32Exception>().Where(ex => ex.NativeErrorCode == hotKeyAlreadyRegisteredErrorCode); } } }
public void DisposeWillNotFailIfHotKeyManagerWasAlreadyDisposed() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A var hotKeyActionSet = false; Action hotKeyAction = () => { hotKeyActionSet = true; }; DummyHotKeyManager dummyHotKeyManager; using (dummyHotKeyManager = new DummyHotKeyManager()) { } // Act, Assert dummyHotKeyManager.Invoking(hkm => hkm.Dispose()).Should().NotThrow <ObjectDisposedException>(); } }
public void DisposeWillDisposeTheHotKeyManager() { using (var dummyWindow = DummyWindow.Create()) { // Arrange var hotKeyModifier = HotKeyModifier.Alt | HotKeyModifier.Shift | HotKeyModifier.Control; var virtualKeyCode = (UInt32)65; // A var hotKeyActionSet = false; Action hotKeyAction = () => { hotKeyActionSet = true; }; // Act DummyHotKeyManager dummyHotKeyManager; using (dummyHotKeyManager = new DummyHotKeyManager()) { dummyHotKeyManager.Register(dummyWindow, hotKeyModifier, virtualKeyCode, hotKeyAction); } // Assert dummyHotKeyManager.HasRegisteredHotKeys.Should().BeFalse(); } }
public Int32 Register(DummyWindow dummyWindow, HotKeyModifier hotKeyModifier, UInt32 virtualKeyCode, Action action) { return(this.Register(dummyWindow.WindowHandle, hotKeyModifier, virtualKeyCode, action)); }