2020-08-17 10:00:56 -07:00
|
|
|
|
// Copyright (c) Microsoft Corporation
|
|
|
|
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
|
|
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
|
|
|
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
using System.Windows.Forms;
|
2020-09-16 11:15:34 -07:00
|
|
|
|
using Microsoft.PowerToys.PreviewHandler.Markdown;
|
2020-08-17 10:00:56 -07:00
|
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
|
|
using PreviewHandlerCommon;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PreviewPaneUnitTests
|
|
|
|
|
|
{
|
|
|
|
|
|
[TestClass]
|
|
|
|
|
|
public class MarkdownPreviewHandlerTest
|
|
|
|
|
|
{
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlAddsBrowserToFormWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(2, markdownPreviewHandlerControl.Controls.Count);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlAddsInfoBarToFormIfExternalImageLinkPresentWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(2, markdownPreviewHandlerControl.Controls.Count);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlAddsInfoBarToFormIfHTMLImageTagIsPresentWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithHTMLImageTag.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(2, markdownPreviewHandlerControl.Controls.Count);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlDoesNotAddInfoBarToFormIfExternalImageLinkNotPresentWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithScript.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(1, markdownPreviewHandlerControl.Controls.Count);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlUpdatesWebBrowserSettingsWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[0], typeof(WebBrowserExt));
|
|
|
|
|
|
Assert.IsNotNull(((WebBrowser)markdownPreviewHandlerControl.Controls[0]).DocumentText);
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(DockStyle.Fill, ((WebBrowser)markdownPreviewHandlerControl.Controls[0]).Dock);
|
|
|
|
|
|
Assert.AreEqual(false, ((WebBrowser)markdownPreviewHandlerControl.Controls[0]).IsWebBrowserContextMenuEnabled);
|
|
|
|
|
|
Assert.AreEqual(true, ((WebBrowser)markdownPreviewHandlerControl.Controls[0]).ScriptErrorsSuppressed);
|
|
|
|
|
|
Assert.AreEqual(true, ((WebBrowser)markdownPreviewHandlerControl.Controls[0]).ScrollBarsEnabled);
|
|
|
|
|
|
Assert.AreEqual(false, ((WebBrowser)markdownPreviewHandlerControl.Controls[0]).AllowNavigation);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
2020-09-22 09:14:42 -07:00
|
|
|
|
public void MarkdownPreviewHandlerControlUpdateInfobarSettingsWhenDoPreviewIsCalled()
|
2020-08-17 10:00:56 -07:00
|
|
|
|
{
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
using (var markdownPreviewHandlerControl = new MarkdownPreviewHandlerControl())
|
|
|
|
|
|
{
|
|
|
|
|
|
// Act
|
|
|
|
|
|
markdownPreviewHandlerControl.DoPreview<string>("HelperFiles/MarkdownWithExternalImage.txt");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
|
Assert.IsInstanceOfType(markdownPreviewHandlerControl.Controls[1], typeof(RichTextBox));
|
|
|
|
|
|
Assert.IsNotNull(((RichTextBox)markdownPreviewHandlerControl.Controls[1]).Text);
|
2020-10-07 22:12:59 +02:00
|
|
|
|
Assert.AreEqual(DockStyle.Top, ((RichTextBox)markdownPreviewHandlerControl.Controls[1]).Dock);
|
|
|
|
|
|
Assert.AreEqual(BorderStyle.None, ((RichTextBox)markdownPreviewHandlerControl.Controls[1]).BorderStyle);
|
|
|
|
|
|
Assert.AreEqual(Color.LightYellow, ((RichTextBox)markdownPreviewHandlerControl.Controls[1]).BackColor);
|
|
|
|
|
|
Assert.AreEqual(true, ((RichTextBox)markdownPreviewHandlerControl.Controls[1]).Multiline);
|
2020-08-17 10:00:56 -07:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|