public void FallbackRecursiveError() { Buffer b = NewInstance(); b.Fallback('X', 0); b.Fallback('X', 0); }
public void FallbackSequential() { Buffer b = NewInstance(); b.Fallback('X', 0); b.GetNextChar(); b.Fallback('X', 0); }
public void FallbackEmptyForEncodingUTF8() { Buffer b = Encoding.UTF8.EncoderFallback.CreateFallbackBuffer() as Buffer; Assert.IsTrue(b.Fallback('X', 0), "#1"); Assert.IsFalse(b.MovePrevious(), "#2"); Assert.AreEqual(1, b.Remaining, "#3"); // the string does not exist. Assert.AreEqual('\uFFFD', b.GetNextChar(), "#4"); }
public void FallbackEmptyDefault() { Buffer b = NewInstance(); Assert.IsTrue(b.Fallback('X', 0), "#0"); Assert.IsFalse(b.MovePrevious(), "#1"); Assert.AreEqual(1, b.Remaining, "#2"); Assert.AreEqual('?', b.GetNextChar(), "#3"); Assert.AreEqual(0, b.Remaining, "#4"); // the string is already consumed. Assert.AreEqual(char.MinValue, b.GetNextChar(), "#5"); }