public void StatusBar_Contructor_Default() { var sb = new StatusBar(); Assert.Empty(sb.Items); Assert.False(sb.CanFocus); Assert.Equal(Colors.Menu, sb.ColorScheme); Assert.Equal(0, sb.X); Assert.Equal(Dim.Fill(), sb.Width); Assert.Equal(1, sb.Height); Assert.Equal(0, sb.Y); var driver = new FakeDriver(); Application.Init(driver, new FakeMainLoop(() => FakeConsole.ReadKey(true))); sb = new StatusBar(); driver.SetCursorVisibility(CursorVisibility.Default); driver.GetCursorVisibility(out CursorVisibility cv); Assert.Equal(CursorVisibility.Default, cv); Assert.True(FakeConsole.CursorVisible); Application.Iteration += () => { Assert.Equal(24, sb.Y); driver.SetWindowSize(driver.Cols, 15); Assert.Equal(14, sb.Y); sb.OnEnter(null); driver.GetCursorVisibility(out cv); Assert.Equal(CursorVisibility.Invisible, cv); Assert.False(FakeConsole.CursorVisible); Application.RequestStop(); }; Application.Top.Add(sb); Application.Run(); Application.Shutdown(); }
public void HeightAsBuffer_Is_True_Top_Cannot_Be_Greater_Than_BufferHeight_Minus_WindowHeight() { var driver = new FakeDriver(); Application.Init(driver, new FakeMainLoop(() => FakeConsole.ReadKey(true))); Application.HeightAsBuffer = true; Assert.True(Application.HeightAsBuffer); 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(); }
public void TerminalResized_Simulation() { var driver = new FakeDriver(); Application.Init(driver, new FakeMainLoop(() => FakeConsole.ReadKey(true))); var wasTerminalResized = false; Application.Resized = (e) => { wasTerminalResized = true; Assert.Equal(120, e.Cols); Assert.Equal(40, e.Rows); }; Assert.Equal(80, Console.BufferWidth); Assert.Equal(25, Console.BufferHeight); // MockDriver is by default 80x25 Assert.Equal(Console.BufferWidth, driver.Cols); Assert.Equal(Console.BufferHeight, driver.Rows); Assert.False(wasTerminalResized); // MockDriver will now be sets to 120x40 driver.SetBufferSize(120, 40); Assert.Equal(120, Application.Driver.Cols); Assert.Equal(40, Application.Driver.Rows); Assert.True(wasTerminalResized); // MockDriver will still be 120x40 wasTerminalResized = false; Application.HeightAsBuffer = true; driver.SetWindowSize(40, 20); Assert.Equal(120, Application.Driver.Cols); Assert.Equal(40, Application.Driver.Rows); Assert.Equal(120, Console.BufferWidth); Assert.Equal(40, Console.BufferHeight); Assert.Equal(40, Console.WindowWidth); Assert.Equal(20, Console.WindowHeight); Assert.True(wasTerminalResized); Application.Shutdown(); }
public void HeightAsBuffer_Is_True_Left_Cannot_Be_Greater_Than_BufferWidth_Minus_WindowWidth() { var driver = new FakeDriver(); Application.Init(driver, new FakeMainLoop(() => FakeConsole.ReadKey(true))); Application.HeightAsBuffer = true; Assert.True(Application.HeightAsBuffer); 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(120, Console.WindowWidth); Assert.Equal(25, Console.WindowHeight); driver.SetWindowPosition(121, 25); Assert.Equal(0, 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(); }