Restoring drivers with the sctructural changes.

This commit is contained in:
BDisp
2024-11-23 00:27:13 +00:00
parent 7ce20f2677
commit bea966978a
32 changed files with 1158 additions and 1999 deletions

View File

@@ -1,79 +0,0 @@
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);
}
}

View File

@@ -0,0 +1,72 @@
namespace Terminal.Gui.InputTests;
public class EscSeqRequestsTests
{
[Fact]
public void Add_Tests ()
{
EscSeqRequests.Clear ();
EscSeqRequests.Add ("t");
Assert.Single (EscSeqRequests.Statuses);
Assert.Equal ("t", EscSeqRequests.Statuses [^1].Terminator);
Assert.Equal (1, EscSeqRequests.Statuses [^1].NumRequests);
Assert.Equal (1, EscSeqRequests.Statuses [^1].NumOutstanding);
EscSeqRequests.Add ("t", 2);
Assert.Single (EscSeqRequests.Statuses);
Assert.Equal ("t", EscSeqRequests.Statuses [^1].Terminator);
Assert.Equal (1, EscSeqRequests.Statuses [^1].NumRequests);
Assert.Equal (1, EscSeqRequests.Statuses [^1].NumOutstanding);
EscSeqRequests.Clear ();
EscSeqRequests.Add ("t", 2);
Assert.Single (EscSeqRequests.Statuses);
Assert.Equal ("t", EscSeqRequests.Statuses [^1].Terminator);
Assert.Equal (2, EscSeqRequests.Statuses [^1].NumRequests);
Assert.Equal (2, EscSeqRequests.Statuses [^1].NumOutstanding);
EscSeqRequests.Add ("t", 3);
Assert.Single (EscSeqRequests.Statuses);
Assert.Equal ("t", EscSeqRequests.Statuses [^1].Terminator);
Assert.Equal (2, EscSeqRequests.Statuses [^1].NumRequests);
Assert.Equal (2, EscSeqRequests.Statuses [^1].NumOutstanding);
}
[Fact]
public void Constructor_Defaults ()
{
EscSeqRequests.Clear ();
Assert.NotNull (EscSeqRequests.Statuses);
Assert.Empty (EscSeqRequests.Statuses);
}
[Fact]
public void Remove_Tests ()
{
EscSeqRequests.Clear ();
EscSeqRequests.Add ("t");
EscSeqRequests.Remove ("t");
Assert.Empty (EscSeqRequests.Statuses);
EscSeqRequests.Add ("t", 2);
EscSeqRequests.Remove ("t");
Assert.Single (EscSeqRequests.Statuses);
Assert.Equal ("t", EscSeqRequests.Statuses [^1].Terminator);
Assert.Equal (2, EscSeqRequests.Statuses [^1].NumRequests);
Assert.Equal (1, EscSeqRequests.Statuses [^1].NumOutstanding);
EscSeqRequests.Remove ("t");
Assert.Empty (EscSeqRequests.Statuses);
}
[Fact]
public void Requested_Tests ()
{
EscSeqRequests.Clear ();
Assert.False (EscSeqRequests.HasResponse ("t"));
EscSeqRequests.Add ("t");
Assert.False (EscSeqRequests.HasResponse ("r"));
Assert.True (EscSeqRequests.HasResponse ("t"));
}
}