|
@@ -1930,81 +1930,47 @@ namespace Terminal.Gui.Views {
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
|
- public void LoadStream_IsDirty_AllowsNullTerminator ()
|
|
|
+ public void LoadStream_IsDirty ()
|
|
|
{
|
|
|
var text = "Testing";
|
|
|
- byte [] buff = System.Text.Encoding.Unicode.GetBytes (text);
|
|
|
- using (System.IO.MemoryStream stream = new System.IO.MemoryStream (buff, true)) {
|
|
|
+ using (System.IO.MemoryStream stream = new System.IO.MemoryStream ()) {
|
|
|
|
|
|
- stream.Write (buff, 0, buff.Length);
|
|
|
+ var writer = new System.IO.StreamWriter (stream);
|
|
|
+ writer.Write (text);
|
|
|
+ writer.Flush ();
|
|
|
stream.Position = 0;
|
|
|
|
|
|
var tv = new TextView ();
|
|
|
tv.LoadStream (stream);
|
|
|
|
|
|
- Assert.Equal (14, buff.Length);
|
|
|
- Assert.False (tv.AllowsNullTerminated);
|
|
|
+ Assert.Equal (7, text.Length);
|
|
|
Assert.Equal (text.Length, tv.Text.Length);
|
|
|
Assert.Equal (text, tv.Text);
|
|
|
Assert.False (tv.IsDirty);
|
|
|
}
|
|
|
-
|
|
|
- buff = System.Text.Encoding.Unicode.GetBytes (text);
|
|
|
- using (System.IO.MemoryStream stream = new System.IO.MemoryStream (buff, true)) {
|
|
|
-
|
|
|
- stream.Write (buff, 0, buff.Length);
|
|
|
- stream.Position = 0;
|
|
|
-
|
|
|
- var tv = new TextView ();
|
|
|
- tv.AllowsNullTerminated = true;
|
|
|
- tv.LoadStream (stream);
|
|
|
-
|
|
|
- Assert.Equal (14, buff.Length);
|
|
|
- Assert.Equal (buff.Length, tv.Text.Length);
|
|
|
- Assert.NotEqual (text, tv.Text);
|
|
|
- Assert.Equal (buff, tv.Text);
|
|
|
- Assert.False (tv.IsDirty);
|
|
|
- Assert.Equal ('\u2400', ConsoleDriver.MakePrintable ((char)tv.Text [1]));
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
|
- public void LoadStream_IsDirty_AllowsNullTerminator_With_Null_On_The_Text ()
|
|
|
+ public void LoadStream_IsDirty_With_Null_On_The_Text ()
|
|
|
{
|
|
|
var text = "Test\0ing";
|
|
|
- byte [] buff = System.Text.Encoding.Unicode.GetBytes (text);
|
|
|
- using (System.IO.MemoryStream stream = new System.IO.MemoryStream (buff, true)) {
|
|
|
+ using (System.IO.MemoryStream stream = new System.IO.MemoryStream ()) {
|
|
|
|
|
|
- stream.Write (buff, 0, buff.Length);
|
|
|
+ var writer = new System.IO.StreamWriter (stream);
|
|
|
+ writer.Write (text);
|
|
|
+ writer.Flush ();
|
|
|
stream.Position = 0;
|
|
|
|
|
|
var tv = new TextView ();
|
|
|
tv.LoadStream (stream);
|
|
|
|
|
|
- Assert.Equal (16, buff.Length);
|
|
|
- Assert.False (tv.AllowsNullTerminated);
|
|
|
- Assert.NotEqual (text.Length, tv.Text.Length);
|
|
|
Assert.Equal (8, text.Length);
|
|
|
- Assert.Equal (7, tv.Text.Length);
|
|
|
- Assert.NotEqual (text, tv.Text);
|
|
|
- Assert.False (tv.IsDirty);
|
|
|
- }
|
|
|
-
|
|
|
- buff = System.Text.Encoding.Unicode.GetBytes (text);
|
|
|
- using (System.IO.MemoryStream stream = new System.IO.MemoryStream (buff, true)) {
|
|
|
-
|
|
|
- stream.Write (buff, 0, buff.Length);
|
|
|
- stream.Position = 0;
|
|
|
-
|
|
|
- var tv = new TextView ();
|
|
|
- tv.AllowsNullTerminated = true;
|
|
|
- tv.LoadStream (stream);
|
|
|
-
|
|
|
- Assert.Equal (16, buff.Length);
|
|
|
- Assert.Equal (buff.Length, tv.Text.Length);
|
|
|
- Assert.NotEqual (text, tv.Text);
|
|
|
- Assert.Equal (buff, tv.Text);
|
|
|
+ Assert.Equal (text.Length, tv.Text.Length);
|
|
|
+ Assert.Equal (8, text.Length);
|
|
|
+ Assert.Equal (8, tv.Text.Length);
|
|
|
+ Assert.Equal (text, tv.Text);
|
|
|
Assert.False (tv.IsDirty);
|
|
|
+ Assert.Equal ('\u2400', ConsoleDriver.MakePrintable ((Rune)tv.Text [4]));
|
|
|
}
|
|
|
}
|
|
|
|