mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
Fix preview handlers failing unit tests in CI (#1856)
* Enable Unit tests for PreviewPane Test Assemblies in CI * Added Preview handlers unit tests project back * throw for Svg to debug tests * Removed failing test * Removed throw statement * Added MD unitests in yml * Run ui tests on STA thread * Throw svg to debug failing tests * Updated test adaptor * Removed failing test to validate CI * throw svg failing test with full stack trace * Check if mock stream is causing the issue * narrow down the failing tests code - 1 * narrow down the failing tests code -2 * dispose all controls * Restore SVg preview control * Update test adaptor and dependency to latest
This commit is contained in:
@@ -21,157 +21,175 @@ namespace UnitTests_PreviewHandlerCommon
|
||||
public void FormHandlerControl_ShouldCreateHandle_OnIntialization()
|
||||
{
|
||||
// Arrange and act
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Assert
|
||||
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetVisibleFalse_OnIntialization()
|
||||
{
|
||||
// Arrange and act
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
|
||||
// Assert
|
||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Assert
|
||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetFormBorderStyle_OnIntialization()
|
||||
{
|
||||
// Arrange and act
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Assert
|
||||
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldReturnValidHandle_WhenGetHandleCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Act
|
||||
var handle = testFormHandlerControl.GetHandle();
|
||||
|
||||
// Act
|
||||
var handle = testFormHandlerControl.GetHandle();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(testFormHandlerControl.Handle, handle);
|
||||
// Assert
|
||||
Assert.AreEqual(testFormHandlerControl.Handle, handle);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetBackgroundColor_WhenSetBackgroundColorCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
var color = Color.Navy;
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
var color = Color.Navy;
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.SetBackgroundColor(color);
|
||||
// Act
|
||||
testFormHandlerControl.SetBackgroundColor(color);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(color, testFormHandlerControl.BackColor);
|
||||
// Assert
|
||||
Assert.AreEqual(color, testFormHandlerControl.BackColor);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetFont_WhenSetFontCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
var font = new Font("Arial", 20);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
var font = new Font("Arial", 20);
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.SetFont(font);
|
||||
// Act
|
||||
testFormHandlerControl.SetFont(font);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(font, testFormHandlerControl.Font);
|
||||
// Assert
|
||||
Assert.AreEqual(font, testFormHandlerControl.Font);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldUpdateBounds_WhenSetRectCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
var bounds = new Rectangle(2, 2, 4, 4);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
var bounds = new Rectangle(2, 2, 4, 4);
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.SetRect(bounds);
|
||||
// Act
|
||||
testFormHandlerControl.SetRect(bounds);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
|
||||
// Assert
|
||||
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetTextColor_WhenSetTextColorCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
var color = Color.Navy;
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
var color = Color.Navy;
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.SetTextColor(color);
|
||||
// Act
|
||||
testFormHandlerControl.SetTextColor(color);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
|
||||
// Assert
|
||||
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldClearAllControls_WhenUnloadCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
testFormHandlerControl.Controls.Add(new TextBox());
|
||||
testFormHandlerControl.Controls.Add(new RichTextBox());
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
testFormHandlerControl.Controls.Add(new TextBox());
|
||||
testFormHandlerControl.Controls.Add(new RichTextBox());
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.Unload();
|
||||
// Act
|
||||
testFormHandlerControl.Unload();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
|
||||
// Assert
|
||||
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetVisibleFalse_WhenUnloadCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Act
|
||||
testFormHandlerControl.Unload();
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.Unload();
|
||||
|
||||
// Assert
|
||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||
// Assert
|
||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetVisibletrue_WhenDoPreviewCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
// Act
|
||||
testFormHandlerControl.DoPreview("valid-path");
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.DoPreview("valid-path");
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(testFormHandlerControl.Visible);
|
||||
// Assert
|
||||
Assert.IsTrue(testFormHandlerControl.Visible);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void FormHandlerControl_ShouldSetParentHandle_WhenSetWindowCalled()
|
||||
{
|
||||
// Arrange
|
||||
var testFormHandlerControl = new TestFormControl();
|
||||
var parentFormWindow = new UserControl();
|
||||
var parentHwnd = parentFormWindow.Handle;
|
||||
var rect = new Rectangle(2, 2, 4, 4);
|
||||
using (var testFormHandlerControl = new TestFormControl())
|
||||
{
|
||||
var parentFormWindow = new UserControl();
|
||||
var parentHwnd = parentFormWindow.Handle;
|
||||
var rect = new Rectangle(2, 2, 4, 4);
|
||||
|
||||
// Act
|
||||
testFormHandlerControl.SetWindow(parentHwnd, rect);
|
||||
var actualParentHwnd = GetAncestor(testFormHandlerControl.Handle, 1); // GA_PARENT 1
|
||||
// Act
|
||||
testFormHandlerControl.SetWindow(parentHwnd, rect);
|
||||
var actualParentHwnd = GetAncestor(testFormHandlerControl.Handle, 1); // GA_PARENT 1
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(parentHwnd, actualParentHwnd);
|
||||
// Assert
|
||||
Assert.AreEqual(parentHwnd, actualParentHwnd);
|
||||
}
|
||||
}
|
||||
|
||||
// Gets the ancestor window: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getancestor
|
||||
|
||||
Reference in New Issue
Block a user