WindowUtilTests.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. namespace DesktopClock.Tests;
  2. public class WindowUtilTests
  3. {
  4. private const int WsExTransparent = 0x00000020;
  5. private const int WsExToolWindow = 0x00000080;
  6. private const int WsExAppWindow = 0x00040000;
  7. [Fact]
  8. public void GetWindowVisibilityExtendedStyle_HideFromAltTab_SetsToolWindowAndClearsAppWindow()
  9. {
  10. var style = WsExTransparent | WsExAppWindow;
  11. var updatedStyle = WindowUtil.GetWindowVisibilityExtendedStyle(
  12. style,
  13. showInTaskbar: true,
  14. hideFromAltTab: true);
  15. Assert.Equal(WsExTransparent | WsExToolWindow, updatedStyle);
  16. }
  17. [Fact]
  18. public void GetWindowVisibilityExtendedStyle_ShowInTaskbar_SetsAppWindowAndClearsToolWindow()
  19. {
  20. var style = WsExTransparent | WsExToolWindow;
  21. var updatedStyle = WindowUtil.GetWindowVisibilityExtendedStyle(
  22. style,
  23. showInTaskbar: true,
  24. hideFromAltTab: false);
  25. Assert.Equal(WsExTransparent | WsExAppWindow, updatedStyle);
  26. }
  27. [Fact]
  28. public void GetWindowVisibilityExtendedStyle_HideTaskbarWithoutHidingFromAltTab_ClearsBothFlags()
  29. {
  30. var style = WsExTransparent | WsExToolWindow | WsExAppWindow;
  31. var updatedStyle = WindowUtil.GetWindowVisibilityExtendedStyle(
  32. style,
  33. showInTaskbar: false,
  34. hideFromAltTab: false);
  35. Assert.Equal(WsExTransparent, updatedStyle);
  36. }
  37. }