123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using Xunit;
- using Xunit.Abstractions;
- // Alias Console to MockConsole so we don't accidentally use Console
- using Console = Terminal.Gui.FakeConsole;
- namespace Terminal.Gui.DriverTests {
- public class ConsoleScrollingTests {
- readonly ITestOutputHelper output;
- public ConsoleScrollingTests (ITestOutputHelper output)
- {
- this.output = output;
- }
- [Theory]
- [InlineData (typeof (FakeDriver))]
- public void EnableConsoleScrolling_Is_False_Left_And_Top_Is_Always_Zero (Type driverType)
- {
- var driver = (FakeDriver)Activator.CreateInstance (driverType);
- Application.Init (driver);
- Assert.False (Application.EnableConsoleScrolling);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- driver.SetWindowPosition (5, 5);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- Application.Shutdown ();
- }
- [Theory]
- [InlineData (typeof (FakeDriver))]
- public void EnableConsoleScrolling_Is_True_Left_Cannot_Be_Greater_Than_WindowWidth (Type driverType)
- {
- var driver = (FakeDriver)Activator.CreateInstance (driverType);
- Application.Init (driver);
- Application.EnableConsoleScrolling = true;
- Assert.True (Application.EnableConsoleScrolling);
- driver.SetWindowPosition (81, 25);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- Application.Shutdown ();
- }
- [Theory]
- [InlineData (typeof (FakeDriver))]
- public void EnableConsoleScrolling_Is_True_Left_Cannot_Be_Greater_Than_BufferWidth_Minus_WindowWidth (Type driverType)
- {
- var driver = (FakeDriver)Activator.CreateInstance (driverType);
- Application.Init (driver);
- Application.EnableConsoleScrolling = true;
- Assert.True (Application.EnableConsoleScrolling);
- driver.SetWindowPosition (81, 25);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- // MockDriver will now be sets to 120x25
- driver.SetBufferSize (120, 25);
- Assert.Equal (120, Application.Driver.Cols);
- Assert.Equal (25, Application.Driver.Rows);
- Assert.Equal (120, Console.BufferWidth);
- Assert.Equal (25, Console.BufferHeight);
- Assert.Equal (80, Console.WindowWidth);
- Assert.Equal (25, Console.WindowHeight);
- driver.SetWindowPosition (121, 25);
- Assert.Equal (40, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- driver.SetWindowSize (90, 25);
- Assert.Equal (120, Application.Driver.Cols);
- Assert.Equal (25, Application.Driver.Rows);
- Assert.Equal (120, Console.BufferWidth);
- Assert.Equal (25, Console.BufferHeight);
- Assert.Equal (90, Console.WindowWidth);
- Assert.Equal (25, Console.WindowHeight);
- driver.SetWindowPosition (121, 25);
- Assert.Equal (30, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- Application.Shutdown ();
- }
- [Theory]
- [InlineData (typeof (FakeDriver))]
- public void EnableConsoleScrolling_Is_True_Top_Cannot_Be_Greater_Than_WindowHeight (Type driverType)
- {
- var driver = (FakeDriver)Activator.CreateInstance (driverType);
- Application.Init (driver);
- Application.EnableConsoleScrolling = true;
- Assert.True (Application.EnableConsoleScrolling);
- driver.SetWindowPosition (80, 26);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- Application.Shutdown ();
- }
- [Theory]
- [InlineData (typeof (FakeDriver))]
- public void EnableConsoleScrolling_Is_True_Top_Cannot_Be_Greater_Than_BufferHeight_Minus_WindowHeight (Type driverType)
- {
- var driver = (FakeDriver)Activator.CreateInstance (driverType);
- Application.Init (driver);
- Application.EnableConsoleScrolling = true;
- Assert.True (Application.EnableConsoleScrolling);
- driver.SetWindowPosition (80, 26);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- // MockDriver will now be sets to 80x40
- driver.SetBufferSize (80, 40);
- Assert.Equal (80, Application.Driver.Cols);
- Assert.Equal (40, Application.Driver.Rows);
- Assert.Equal (80, Console.BufferWidth);
- Assert.Equal (40, Console.BufferHeight);
- Assert.Equal (80, Console.WindowWidth);
- Assert.Equal (25, Console.WindowHeight);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (0, Console.WindowTop);
- driver.SetWindowPosition (80, 40);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (15, Console.WindowTop);
- driver.SetWindowSize (80, 20);
- Assert.Equal (80, Application.Driver.Cols);
- Assert.Equal (40, Application.Driver.Rows);
- Assert.Equal (80, Console.BufferWidth);
- Assert.Equal (40, Console.BufferHeight);
- Assert.Equal (80, Console.WindowWidth);
- Assert.Equal (20, Console.WindowHeight);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (15, Console.WindowTop);
- driver.SetWindowPosition (80, 41);
- Assert.Equal (0, Console.WindowLeft);
- Assert.Equal (20, Console.WindowTop);
- Application.Shutdown ();
- }
- }
- }
|