mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-22 18:17:19 +00: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:
parent
a760acc399
commit
38d537bb8a
@ -33,3 +33,16 @@ steps:
|
|||||||
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
||||||
clean: true
|
clean: true
|
||||||
maximumCpuCount: true
|
maximumCpuCount: true
|
||||||
|
|
||||||
|
- task: VSTest@2
|
||||||
|
inputs:
|
||||||
|
platform: '$(BuildPlatform)'
|
||||||
|
configuration: '$(BuildConfiguration)'
|
||||||
|
testSelector: 'testAssemblies'
|
||||||
|
testAssemblyVer2: |
|
||||||
|
**\PreviewPaneUnitTests.dll
|
||||||
|
**\UnitTests-SvgPreviewHandler.dll
|
||||||
|
**\UnitTests-PreviewHandlerCommon.dll
|
||||||
|
**\powerpreviewTest.dll
|
||||||
|
!**\*TestAdapter.dll
|
||||||
|
!**\obj\**
|
||||||
|
@ -167,6 +167,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-MarkdownPreviewHa
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SvgPreviewHandler", "src\modules\previewpane\SvgPreviewHandler\SvgPreviewHandler.csproj", "{DA425894-6E13-404F-8DCB-78584EC0557A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SvgPreviewHandler", "src\modules\previewpane\SvgPreviewHandler\SvgPreviewHandler.csproj", "{DA425894-6E13-404F-8DCB-78584EC0557A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-SvgPreviewHandler", "src\modules\previewpane\UnitTests-SvgPreviewHandler\UnitTests-SvgPreviewHandler.csproj", "{060D75DA-2D1C-48E6-A4A1-6F0718B64661}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-PreviewHandlerCommon", "src\modules\previewpane\UnitTests-PreviewHandlerCommon\UnitTests-PreviewHandlerCommon.csproj", "{748417CA-F17E-487F-9411-CAFB6D3F4877}"
|
||||||
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "powerpreview", "src\modules\previewpane\powerpreview\powerpreview.vcxproj", "{217DF501-135C-4E38-BFC8-99D4821032EA}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "powerpreview", "src\modules\previewpane\powerpreview\powerpreview.vcxproj", "{217DF501-135C-4E38-BFC8-99D4821032EA}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "powerpreviewTest", "src\modules\previewpane\powerpreviewTest\powerpreviewTest.vcxproj", "{47310AB4-9034-4BD1-8D8B-E88AD21A171B}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "powerpreviewTest", "src\modules\previewpane\powerpreviewTest\powerpreviewTest.vcxproj", "{47310AB4-9034-4BD1-8D8B-E88AD21A171B}"
|
||||||
@ -301,6 +305,14 @@ Global
|
|||||||
{DA425894-6E13-404F-8DCB-78584EC0557A}.Debug|x64.Build.0 = Debug|x64
|
{DA425894-6E13-404F-8DCB-78584EC0557A}.Debug|x64.Build.0 = Debug|x64
|
||||||
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.ActiveCfg = Release|x64
|
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.ActiveCfg = Release|x64
|
||||||
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.Build.0 = Release|x64
|
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.Build.0 = Release|x64
|
||||||
|
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Release|x64.Build.0 = Release|x64
|
||||||
|
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Release|x64.Build.0 = Release|x64
|
||||||
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.ActiveCfg = Debug|x64
|
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.Build.0 = Debug|x64
|
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.Build.0 = Debug|x64
|
||||||
{217DF501-135C-4E38-BFC8-99D4821032EA}.Release|x64.ActiveCfg = Release|x64
|
{217DF501-135C-4E38-BFC8-99D4821032EA}.Release|x64.ActiveCfg = Release|x64
|
||||||
@ -348,6 +360,8 @@ Global
|
|||||||
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
{DA425894-6E13-404F-8DCB-78584EC0557A} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{DA425894-6E13-404F-8DCB-78584EC0557A} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
|
{060D75DA-2D1C-48E6-A4A1-6F0718B64661} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
|
{748417CA-F17E-487F-9411-CAFB6D3F4877} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
{217DF501-135C-4E38-BFC8-99D4821032EA} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{217DF501-135C-4E38-BFC8-99D4821032EA} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
{47310AB4-9034-4BD1-8D8B-E88AD21A171B} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{47310AB4-9034-4BD1-8D8B-E88AD21A171B} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
@ -18,8 +18,8 @@ namespace PreviewPaneUnitTests
|
|||||||
public void MarkdownPreviewHandlerControl__AddsBrowserToForm_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__AddsBrowserToForm_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
||||||
|
|
||||||
@ -27,13 +27,14 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
||||||
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MarkdownPreviewHandlerControl__AddsInfoBarToFormIfExternalImageLinkPresent_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__AddsInfoBarToFormIfExternalImageLinkPresent_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
||||||
|
|
||||||
@ -41,13 +42,14 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
||||||
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MarkdownPreviewHandlerControl__AddsInfoBarToFormIfHTMLImageTagIsPresent_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__AddsInfoBarToFormIfHTMLImageTagIsPresent_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithHTMLImageTag.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithHTMLImageTag.txt");
|
||||||
|
|
||||||
@ -55,13 +57,14 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 2);
|
||||||
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MarkdownPreviewHandlerControl__DoesNotAddInfoBarToFormIfExternalImageLinkNotPresent_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__DoesNotAddInfoBarToFormIfExternalImageLinkNotPresent_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithScript.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithScript.txt");
|
||||||
|
|
||||||
@ -69,13 +72,14 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 1);
|
Assert.AreEqual(markdownPreviewHandlerControl.Controls.Count, 1);
|
||||||
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MarkdownPreviewHandlerControl__UpdatesWebBrowserSettings_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__UpdatesWebBrowserSettings_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
||||||
|
|
||||||
@ -88,13 +92,14 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(((WebBrowser)markdownPreviewHandlerControl.Controls[0]).ScrollBarsEnabled, true);
|
Assert.AreEqual(((WebBrowser)markdownPreviewHandlerControl.Controls[0]).ScrollBarsEnabled, true);
|
||||||
Assert.AreEqual(((WebBrowser)markdownPreviewHandlerControl.Controls[0]).AllowNavigation, false);
|
Assert.AreEqual(((WebBrowser)markdownPreviewHandlerControl.Controls[0]).AllowNavigation, false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MarkdownPreviewHandlerControl__UpdateInfobarSettings_WhenDoPreviewIsCalled()
|
public void MarkdownPreviewHandlerControl__UpdateInfobarSettings_WhenDoPreviewIsCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
MarkdownPreviewHandlerControl markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl();
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
||||||
|
|
||||||
@ -107,4 +112,5 @@ namespace PreviewPaneUnitTests
|
|||||||
Assert.AreEqual(((RichTextBox)markdownPreviewHandlerControl.Controls[1]).Multiline, true);
|
Assert.AreEqual(((RichTextBox)markdownPreviewHandlerControl.Controls[1]).Multiline, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -95,10 +95,10 @@
|
|||||||
<Version>0.18.0</Version>
|
<Version>0.18.0</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestAdapter">
|
<PackageReference Include="MSTest.TestAdapter">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestFramework">
|
<PackageReference Include="MSTest.TestFramework">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -21,50 +21,55 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
public void FormHandlerControl_ShouldCreateHandle_OnIntialization()
|
public void FormHandlerControl_ShouldCreateHandle_OnIntialization()
|
||||||
{
|
{
|
||||||
// Arrange and act
|
// Arrange and act
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Assert
|
// Assert
|
||||||
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
|
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetVisibleFalse_OnIntialization()
|
public void FormHandlerControl_ShouldSetVisibleFalse_OnIntialization()
|
||||||
{
|
{
|
||||||
// Arrange and act
|
// Arrange and act
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Assert
|
// Assert
|
||||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetFormBorderStyle_OnIntialization()
|
public void FormHandlerControl_ShouldSetFormBorderStyle_OnIntialization()
|
||||||
{
|
{
|
||||||
// Arrange and act
|
// Arrange and act
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
|
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldReturnValidHandle_WhenGetHandleCalled()
|
public void FormHandlerControl_ShouldReturnValidHandle_WhenGetHandleCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
var handle = testFormHandlerControl.GetHandle();
|
var handle = testFormHandlerControl.GetHandle();
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(testFormHandlerControl.Handle, handle);
|
Assert.AreEqual(testFormHandlerControl.Handle, handle);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetBackgroundColor_WhenSetBackgroundColorCalled()
|
public void FormHandlerControl_ShouldSetBackgroundColor_WhenSetBackgroundColorCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
var color = Color.Navy;
|
var color = Color.Navy;
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
@ -73,12 +78,14 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(color, testFormHandlerControl.BackColor);
|
Assert.AreEqual(color, testFormHandlerControl.BackColor);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetFont_WhenSetFontCalled()
|
public void FormHandlerControl_ShouldSetFont_WhenSetFontCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
var font = new Font("Arial", 20);
|
var font = new Font("Arial", 20);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
@ -87,12 +94,14 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(font, testFormHandlerControl.Font);
|
Assert.AreEqual(font, testFormHandlerControl.Font);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldUpdateBounds_WhenSetRectCalled()
|
public void FormHandlerControl_ShouldUpdateBounds_WhenSetRectCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
var bounds = new Rectangle(2, 2, 4, 4);
|
var bounds = new Rectangle(2, 2, 4, 4);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
@ -101,12 +110,14 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
|
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetTextColor_WhenSetTextColorCalled()
|
public void FormHandlerControl_ShouldSetTextColor_WhenSetTextColorCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
var color = Color.Navy;
|
var color = Color.Navy;
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
@ -115,12 +126,14 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
|
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldClearAllControls_WhenUnloadCalled()
|
public void FormHandlerControl_ShouldClearAllControls_WhenUnloadCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
testFormHandlerControl.Controls.Add(new TextBox());
|
testFormHandlerControl.Controls.Add(new TextBox());
|
||||||
testFormHandlerControl.Controls.Add(new RichTextBox());
|
testFormHandlerControl.Controls.Add(new RichTextBox());
|
||||||
|
|
||||||
@ -130,38 +143,42 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
|
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetVisibleFalse_WhenUnloadCalled()
|
public void FormHandlerControl_ShouldSetVisibleFalse_WhenUnloadCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
testFormHandlerControl.Unload();
|
testFormHandlerControl.Unload();
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.IsFalse(testFormHandlerControl.Visible);
|
Assert.IsFalse(testFormHandlerControl.Visible);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetVisibletrue_WhenDoPreviewCalled()
|
public void FormHandlerControl_ShouldSetVisibletrue_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
testFormHandlerControl.DoPreview("valid-path");
|
testFormHandlerControl.DoPreview("valid-path");
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.IsTrue(testFormHandlerControl.Visible);
|
Assert.IsTrue(testFormHandlerControl.Visible);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void FormHandlerControl_ShouldSetParentHandle_WhenSetWindowCalled()
|
public void FormHandlerControl_ShouldSetParentHandle_WhenSetWindowCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var testFormHandlerControl = new TestFormControl();
|
using (var testFormHandlerControl = new TestFormControl())
|
||||||
|
{
|
||||||
var parentFormWindow = new UserControl();
|
var parentFormWindow = new UserControl();
|
||||||
var parentHwnd = parentFormWindow.Handle;
|
var parentHwnd = parentFormWindow.Handle;
|
||||||
var rect = new Rectangle(2, 2, 4, 4);
|
var rect = new Rectangle(2, 2, 4, 4);
|
||||||
@ -173,6 +190,7 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(parentHwnd, actualParentHwnd);
|
Assert.AreEqual(parentHwnd, actualParentHwnd);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Gets the ancestor window: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getancestor
|
// Gets the ancestor window: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getancestor
|
||||||
[DllImport("user32.dll")]
|
[DllImport("user32.dll")]
|
||||||
|
@ -29,7 +29,7 @@ namespace UnitTests_PreviewHandlerCommon
|
|||||||
[DataTestMethod]
|
[DataTestMethod]
|
||||||
[DataRow((uint)0)]
|
[DataRow((uint)0)]
|
||||||
[DataRow((uint)1)]
|
[DataRow((uint)1)]
|
||||||
public void FileBasedPreviewHandler_ShouldSetFilePath_WhenInitializeCalled(uint grfMode)
|
public void StreamBasedPreviewHandler_ShouldSetStream_WhenInitializeCalled(uint grfMode)
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var streamBasedPreviewHandler = new TestStreamBasedPreviewHandler();
|
var streamBasedPreviewHandler = new TestStreamBasedPreviewHandler();
|
||||||
|
@ -101,13 +101,13 @@
|
|||||||
<Version>4.13.1</Version>
|
<Version>4.13.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestAdapter">
|
<PackageReference Include="MSTest.TestAdapter">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestFramework">
|
<PackageReference Include="MSTest.TestFramework">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.Threading.Tasks.Extensions">
|
<PackageReference Include="System.Threading.Tasks.Extensions">
|
||||||
<Version>4.5.2</Version>
|
<Version>4.5.4</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -23,8 +23,8 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
public void SvgPreviewControl_ShouldAddExtendedBrowserControl_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldAddExtendedBrowserControl_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
@ -32,90 +32,98 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.AreEqual(svgPreviewControl.Controls.Count, 1);
|
Assert.AreEqual(svgPreviewControl.Controls.Count, 1);
|
||||||
Assert.IsInstanceOfType(svgPreviewControl.Controls[0], typeof(WebBrowserExt));
|
Assert.IsInstanceOfType(svgPreviewControl.Controls[0], typeof(WebBrowserExt));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldSetDocumentStream_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldSetDocumentStream_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.IsNotNull(((WebBrowser)svgPreviewControl.Controls[0]).DocumentStream);
|
Assert.IsNotNull(((WebBrowser)svgPreviewControl.Controls[0]).DocumentStream);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldDisableWebBrowserContextMenu_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldDisableWebBrowserContextMenu_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).IsWebBrowserContextMenuEnabled, false);
|
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).IsWebBrowserContextMenuEnabled, false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldFillDockForWebBrowser_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldFillDockForWebBrowser_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).Dock, DockStyle.Fill);
|
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).Dock, DockStyle.Fill);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldSetScriptErrorsSuppressedProperty_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldSetScriptErrorsSuppressedProperty_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).ScriptErrorsSuppressed, true);
|
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).ScriptErrorsSuppressed, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldSetScrollBarsEnabledProperty_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldSetScrollBarsEnabledProperty_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).ScrollBarsEnabled, true);
|
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).ScrollBarsEnabled, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldDisableAllowNavigation_WhenDoPreviewCalled()
|
public void SvgPreviewControl_ShouldDisableAllowNavigation_WhenDoPreviewCalled()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
// Act
|
// Act
|
||||||
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
svgPreviewControl.DoPreview(GetMockStream("<svg></svg>"));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).AllowNavigation, false);
|
Assert.AreEqual(((WebBrowser)svgPreviewControl.Controls[0]).AllowNavigation, false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldAddValidInfoBar_IfSvgPreviewThrows()
|
public void SvgPreviewControl_ShouldAddValidInfoBar_IfSvgPreviewThrows()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
var mockStream = new Mock<IStream>();
|
var mockStream = new Mock<IStream>();
|
||||||
mockStream
|
mockStream
|
||||||
.Setup(x => x.Read(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<IntPtr>()))
|
.Setup(x => x.Read(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<IntPtr>()))
|
||||||
@ -135,13 +143,14 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.AreEqual(textBox.ScrollBars, RichTextBoxScrollBars.None);
|
Assert.AreEqual(textBox.ScrollBars, RichTextBoxScrollBars.None);
|
||||||
Assert.AreEqual(textBox.BorderStyle, BorderStyle.None);
|
Assert.AreEqual(textBox.BorderStyle, BorderStyle.None);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_InfoBarWidthShouldAdjustWithParentControlWidthChanges_IfSvgPreviewThrows()
|
public void SvgPreviewControl_InfoBarWidthShouldAdjustWithParentControlWidthChanges_IfSvgPreviewThrows()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
var mockStream = new Mock<IStream>();
|
var mockStream = new Mock<IStream>();
|
||||||
mockStream
|
mockStream
|
||||||
.Setup(x => x.Read(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<IntPtr>()))
|
.Setup(x => x.Read(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<IntPtr>()))
|
||||||
@ -160,12 +169,14 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.AreEqual(intialParentWidth, intitialTextBoxWidth);
|
Assert.AreEqual(intialParentWidth, intitialTextBoxWidth);
|
||||||
Assert.AreEqual(finalParentWidth, textBox.Width);
|
Assert.AreEqual(finalParentWidth, textBox.Width);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldAddTextBox_IfBlockedElementsArePresent()
|
public void SvgPreviewControl_ShouldAddTextBox_IfBlockedElementsArePresent()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
var svgBuilder = new StringBuilder();
|
var svgBuilder = new StringBuilder();
|
||||||
svgBuilder.AppendLine("<svg width =\"200\" height=\"200\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">");
|
svgBuilder.AppendLine("<svg width =\"200\" height=\"200\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">");
|
||||||
svgBuilder.AppendLine("\t<script>alert(\"hello\")</script>");
|
svgBuilder.AppendLine("\t<script>alert(\"hello\")</script>");
|
||||||
@ -179,12 +190,14 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.IsInstanceOfType(svgPreviewControl.Controls[1], typeof(WebBrowserExt));
|
Assert.IsInstanceOfType(svgPreviewControl.Controls[1], typeof(WebBrowserExt));
|
||||||
Assert.AreEqual(svgPreviewControl.Controls.Count, 2);
|
Assert.AreEqual(svgPreviewControl.Controls.Count, 2);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_ShouldNotAddTextBox_IfNoBlockedElementsArePresent()
|
public void SvgPreviewControl_ShouldNotAddTextBox_IfNoBlockedElementsArePresent()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
var svgBuilder = new StringBuilder();
|
var svgBuilder = new StringBuilder();
|
||||||
svgBuilder.AppendLine("<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">");
|
svgBuilder.AppendLine("<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">");
|
||||||
svgBuilder.AppendLine("\t<circle cx=\"50\" cy=\"50\" r=\"50\">");
|
svgBuilder.AppendLine("\t<circle cx=\"50\" cy=\"50\" r=\"50\">");
|
||||||
@ -198,12 +211,14 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.IsInstanceOfType(svgPreviewControl.Controls[0], typeof(WebBrowserExt));
|
Assert.IsInstanceOfType(svgPreviewControl.Controls[0], typeof(WebBrowserExt));
|
||||||
Assert.AreEqual(svgPreviewControl.Controls.Count, 1);
|
Assert.AreEqual(svgPreviewControl.Controls.Count, 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void SvgPreviewControl_InfoBarWidthShouldAdjustWithParentControlWidthChanges_IfBlockedElementsArePresent()
|
public void SvgPreviewControl_InfoBarWidthShouldAdjustWithParentControlWidthChanges_IfBlockedElementsArePresent()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var svgPreviewControl = new SvgPreviewControl();
|
using (var svgPreviewControl = new SvgPreviewControl())
|
||||||
|
{
|
||||||
var svgBuilder = new StringBuilder();
|
var svgBuilder = new StringBuilder();
|
||||||
svgBuilder.AppendLine("<svg width =\"200\" height=\"200\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">");
|
svgBuilder.AppendLine("<svg width =\"200\" height=\"200\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">");
|
||||||
svgBuilder.AppendLine("\t<script>alert(\"hello\")</script>");
|
svgBuilder.AppendLine("\t<script>alert(\"hello\")</script>");
|
||||||
@ -222,6 +237,7 @@ namespace UnitTests_SvgPreviewHandler
|
|||||||
Assert.AreEqual(intialParentWidth, intitialTextBoxWidth);
|
Assert.AreEqual(intialParentWidth, intitialTextBoxWidth);
|
||||||
Assert.AreEqual(finalParentWidth, textBox.Width);
|
Assert.AreEqual(finalParentWidth, textBox.Width);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private IStream GetMockStream(string streamData)
|
private IStream GetMockStream(string streamData)
|
||||||
{
|
{
|
||||||
|
@ -96,13 +96,13 @@
|
|||||||
<Version>4.13.1</Version>
|
<Version>4.13.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestAdapter">
|
<PackageReference Include="MSTest.TestAdapter">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MSTest.TestFramework">
|
<PackageReference Include="MSTest.TestFramework">
|
||||||
<Version>1.3.2</Version>
|
<Version>2.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.Threading.Tasks.Extensions">
|
<PackageReference Include="System.Threading.Tasks.Extensions">
|
||||||
<Version>4.5.2</Version>
|
<Version>4.5.4</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user