mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 00:07:58 +01:00
80 lines
3.5 KiB
C#
80 lines
3.5 KiB
C#
namespace Terminal.Gui.InputTests;
|
|
|
|
public class AnsiEscapeSequenceRequestsTests
|
|
{
|
|
[Fact]
|
|
public void Add_Tests ()
|
|
{
|
|
AnsiEscapeSequenceRequests.Clear ();
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
Assert.Single (AnsiEscapeSequenceRequests.Statuses);
|
|
Assert.Equal ("t", AnsiEscapeSequenceRequests.Statuses.ToArray () [^1].AnsiRequest.Terminator);
|
|
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
Assert.Equal (2, AnsiEscapeSequenceRequests.Statuses.Count);
|
|
Assert.Equal ("t", AnsiEscapeSequenceRequests.Statuses.ToArray () [^1].AnsiRequest.Terminator);
|
|
|
|
AnsiEscapeSequenceRequests.Clear ();
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
Assert.Equal (2, AnsiEscapeSequenceRequests.Statuses.Count);
|
|
Assert.Equal ("t", AnsiEscapeSequenceRequests.Statuses.ToArray () [^1].AnsiRequest.Terminator);
|
|
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
Assert.Equal (3, AnsiEscapeSequenceRequests.Statuses.Count);
|
|
Assert.Equal ("t", AnsiEscapeSequenceRequests.Statuses.ToArray () [^1].AnsiRequest.Terminator);
|
|
}
|
|
|
|
[Fact]
|
|
public void Constructor_Defaults ()
|
|
{
|
|
AnsiEscapeSequenceRequests.Clear ();
|
|
Assert.NotNull (AnsiEscapeSequenceRequests.Statuses);
|
|
Assert.Empty (AnsiEscapeSequenceRequests.Statuses);
|
|
}
|
|
|
|
[Fact]
|
|
public void Remove_Tests ()
|
|
{
|
|
AnsiEscapeSequenceRequests.Clear ();
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
AnsiEscapeSequenceRequests.HasResponse ("t", out AnsiEscapeSequenceRequestStatus seqReqStatus);
|
|
AnsiEscapeSequenceRequests.Remove (seqReqStatus);
|
|
Assert.Empty (AnsiEscapeSequenceRequests.Statuses);
|
|
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
AnsiEscapeSequenceRequests.HasResponse ("t", out seqReqStatus);
|
|
AnsiEscapeSequenceRequests.Remove (seqReqStatus);
|
|
Assert.Single (AnsiEscapeSequenceRequests.Statuses);
|
|
Assert.Equal ("t", AnsiEscapeSequenceRequests.Statuses.ToArray () [^1].AnsiRequest.Terminator);
|
|
|
|
AnsiEscapeSequenceRequests.HasResponse ("t", out seqReqStatus);
|
|
AnsiEscapeSequenceRequests.Remove (seqReqStatus);
|
|
Assert.Empty (AnsiEscapeSequenceRequests.Statuses);
|
|
}
|
|
|
|
[Fact]
|
|
public void Requested_Tests ()
|
|
{
|
|
AnsiEscapeSequenceRequests.Clear ();
|
|
Assert.False (AnsiEscapeSequenceRequests.HasResponse ("t", out AnsiEscapeSequenceRequestStatus seqReqStatus));
|
|
Assert.Null (seqReqStatus);
|
|
|
|
AnsiEscapeSequenceRequests.Add (new () { Request = "", Terminator = "t" });
|
|
Assert.False (AnsiEscapeSequenceRequests.HasResponse ("r", out seqReqStatus));
|
|
Assert.NotNull (seqReqStatus);
|
|
Assert.Equal ("t", seqReqStatus.AnsiRequest.Terminator);
|
|
Assert.True (AnsiEscapeSequenceRequests.HasResponse ("t", out seqReqStatus));
|
|
Assert.NotNull (seqReqStatus);
|
|
Assert.Equal ("t", seqReqStatus.AnsiRequest.Terminator);
|
|
}
|
|
|
|
[Fact]
|
|
public void Request_Initialization_AnsiEscapeSequenceResponse_Is_Null ()
|
|
{
|
|
AnsiEscapeSequenceRequest ansiRequest = new () { Request = "\u001b[0c", Terminator = "c"};
|
|
Assert.Null (ansiRequest.AnsiEscapeSequenceResponse);
|
|
}
|
|
}
|