mirror of https://github.com/dahall/Vanara.git
81 lines
2.6 KiB
C#
81 lines
2.6 KiB
C#
using NUnit.Framework;
|
||
using System;
|
||
using System.Linq;
|
||
using System.Windows.Forms;
|
||
using Vanara.PInvoke;
|
||
using static Vanara.PInvoke.Shell32;
|
||
using Clipboard = Vanara.Windows.Shell.NativeClipboard;
|
||
using WFClipboard = System.Windows.Forms.Clipboard;
|
||
|
||
namespace Vanara.Windows.Shell.Tests
|
||
{
|
||
[TestFixture, SingleThreaded]
|
||
public class ClipboardTests
|
||
{
|
||
private const string html = "<pre style=\"font-family:Consolas;font-size:13px;color:#dadada;\"><span style=\"color:#dcdcaa;\">“We’ve been here”</span></pre>";
|
||
|
||
[Test]
|
||
public void DumpWFClipboardTest()
|
||
{
|
||
TestContext.WriteLine($"ContainsAudio: {WFClipboard.ContainsAudio()}");
|
||
TestContext.WriteLine($"ContainsData: {WFClipboard.ContainsData(DataFormats.StringFormat)}");
|
||
TestContext.WriteLine($"ContainsFileDropList: {WFClipboard.ContainsFileDropList()}");
|
||
TestContext.WriteLine($"ContainsImage: {WFClipboard.ContainsImage()}");
|
||
TestContext.WriteLine($"ContainsText: {WFClipboard.ContainsText()}");
|
||
TestContext.WriteLine($"GetAudioStream: {WFClipboard.GetAudioStream()}");
|
||
TestContext.WriteLine($"GetData: {WFClipboard.GetData(DataFormats.StringFormat)}");
|
||
TestContext.WriteLine($"GetDataObject: {WFClipboard.GetDataObject()}");
|
||
TestContext.WriteLine($"GetFileDropList: {string.Join("\n", WFClipboard.GetFileDropList().Cast<string>())}");
|
||
TestContext.WriteLine($"GetImage: {WFClipboard.GetImage()}");
|
||
TestContext.WriteLine($"GetText: {WFClipboard.GetText()}");
|
||
}
|
||
|
||
[Test]
|
||
public void EnumFormatsTest()
|
||
{
|
||
using var cb = new Clipboard();
|
||
var fmts = cb.EnumAvailableFormats();
|
||
Assert.That(fmts, Is.Not.Empty);
|
||
TestContext.Write(string.Join(", ", fmts.Select(f => f.Name)));
|
||
|
||
var fmt = fmts.First();
|
||
Assert.IsTrue(Clipboard.IsFormatAvailable(fmt.Id));
|
||
Assert.IsTrue(Clipboard.IsFormatAvailable(fmt.Name));
|
||
}
|
||
|
||
[Test]
|
||
public void GetNativeTextTest()
|
||
{
|
||
using var cb = new Clipboard();
|
||
foreach (TextDataFormat e in Enum.GetValues(typeof(TextDataFormat)))
|
||
TestContext.WriteLine($"{e}: {cb.GetText(e)}");
|
||
}
|
||
|
||
[Test]
|
||
public void GetPriorityFormatTest()
|
||
{
|
||
var fmts = Clipboard.CurrentlySupportedFormats.Select(f => f.Id).ToArray();
|
||
Assert.That(Clipboard.GetFirstFormatAvailable(fmts), Is.GreaterThan(0));
|
||
}
|
||
|
||
[Test]
|
||
public void SetNativeTextHtmlTest()
|
||
{
|
||
using (var cb = new Clipboard())
|
||
cb.SetText(html, TextDataFormat.Html);
|
||
using (var cb = new Clipboard())
|
||
{
|
||
var outVal = cb.GetText(TextDataFormat.Html);
|
||
Assert.That(outVal, Is.EqualTo(html));
|
||
}
|
||
}
|
||
|
||
[Test]
|
||
public void SetNativeTextMultTest()
|
||
{
|
||
const string txt = @"“We’ve been here”";
|
||
using var cb = new Clipboard();
|
||
cb.SetText(txt, html);
|
||
}
|
||
}
|
||
} |