Skip to content

Commit

Permalink
Merge pull request dotnet#11973 from ricardobossan/Issue_10773_Add_Co…
Browse files Browse the repository at this point in the history
…verage_FolderNameEditor

Adds code coverage to FolderNameEditor
  • Loading branch information
ricardobossan authored Aug 29, 2024
2 parents 315fa8a + 7979d0c commit 062b0fe
Showing 1 changed file with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.ComponentModel;
using System.Windows.Forms.Design;
using FluentAssertions;
using Moq;
using Xunit.Abstractions;

namespace System.Windows.Forms.UITests;

public class FolderNameEditorTests : ControlTestBase
{
public FolderNameEditorTests(ITestOutputHelper testOutputHelper)
: base(testOutputHelper)
{
}

[WinFormsFact]
public void FolderNameEditor_EditValue_ReturnsExpected()
{
TestFolderNameEditor editor = new();
Mock<IServiceProvider> serviceProviderMock = new();
var serviceProvider = serviceProviderMock.Object;
string value = "value";

object? result = editor.EditValue(context: null, provider: serviceProvider, value: value);

result.Should().Be(value);
}

private class TestFolderNameEditor : FolderNameEditor
{
private FolderBrowser? _folderBrowser;

public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value)
{
using DialogHostForm dialogOwnerForm = new();

if (_folderBrowser is null)
{
_folderBrowser = new FolderBrowser();
InitializeDialog(_folderBrowser);
}

if (_folderBrowser.ShowDialog(dialogOwnerForm) == DialogResult.OK)
{
return _folderBrowser.DirectoryPath;
}

return value;
}
}
}

0 comments on commit 062b0fe

Please sign in to comment.