mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-17 17:32:50 +08:00
parent
5f97f2300c
commit
d532e1011f
@ -41,10 +41,15 @@ namespace Spectre.Console
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="console">The console.</param>
|
/// <param name="console">The console.</param>
|
||||||
/// <param name="prompt">The prompt markup text.</param>
|
/// <param name="prompt">The prompt markup text.</param>
|
||||||
|
/// <param name="defaultValue">Specifies the default answer.</param>
|
||||||
/// <returns><c>true</c> if the user selected "yes", otherwise <c>false</c>.</returns>
|
/// <returns><c>true</c> if the user selected "yes", otherwise <c>false</c>.</returns>
|
||||||
public static bool Confirm(this IAnsiConsole console, string prompt)
|
public static bool Confirm(this IAnsiConsole console, string prompt, bool defaultValue = true)
|
||||||
{
|
{
|
||||||
return new ConfirmationPrompt(prompt).Show(console);
|
return new ConfirmationPrompt(prompt)
|
||||||
|
{
|
||||||
|
DefaultValue = defaultValue,
|
||||||
|
}
|
||||||
|
.Show(console);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
29
test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs
Normal file
29
test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
using System;
|
||||||
|
using Shouldly;
|
||||||
|
using Spectre.Console.Testing;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Spectre.Console.Tests.Unit
|
||||||
|
{
|
||||||
|
public partial class AnsiConsoleTests
|
||||||
|
{
|
||||||
|
public sealed class Prompt
|
||||||
|
{
|
||||||
|
[Theory]
|
||||||
|
[InlineData(true, true)]
|
||||||
|
[InlineData(false, false)]
|
||||||
|
public void Should_Return_Default_Value_If_Nothing_Is_Entered(bool expected, bool defaultValue)
|
||||||
|
{
|
||||||
|
// Given
|
||||||
|
var console = new TestConsole().EmitAnsiSequences();
|
||||||
|
console.Input.PushKey(ConsoleKey.Enter);
|
||||||
|
|
||||||
|
// When
|
||||||
|
var result = console.Confirm("Want some prompt?", defaultValue);
|
||||||
|
|
||||||
|
// Then
|
||||||
|
result.ShouldBe(expected);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user