public void TestRemoveLastCharacter() { var buffer = new CharacterBuffer(); int size = buffer.Capacity; for (int i = 0; i < size; i++) buffer.Append('a'); for (int i = 0; i < size; i++) buffer.Remove(buffer.Length - 1, 1); buffer.Dispose(); }
public void ProcessDecodedChars() { if (Parent.ReadDecodedCharactersUntilSentinel(Buffer, '\n')) { if ((Buffer.Length > 0) && (Buffer[Buffer.Length - 1] == '\r')) { Buffer.Remove(Buffer.Length - 1, 1); } if (Parent.EndOfStream) { Parent._ExtraLine = true; } var resultString = Buffer.DisposeAndGetContents(); Result.Complete(resultString); } else { var decodeMoreChars = Parent.DecodeMoreData(); decodeMoreChars.RegisterOnComplete(OnDecodeComplete); } }