mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 00:07:58 +01:00
* Add ColorPicker Control. * Add default colors. * Author name comment removed. * Scenario renamed. * Format source code. * Add commands and KeyBindings. * ColorPicker comments updated. * Doc updated. * Fix relative Layout. * Add new constructor, with title only. * Delete one inused line. * Scenario renammed. * Doc updated.
92 lines
3.1 KiB
C#
92 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Xunit;
|
|
|
|
namespace Terminal.Gui.Views {
|
|
public class ColorPickerTests {
|
|
[Fact]
|
|
public void Constructors ()
|
|
{
|
|
var colorPicker = new ColorPicker ();
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
Assert.Equal (new Point (0, 0), colorPicker.Cursor);
|
|
Assert.True (colorPicker.CanFocus);
|
|
Assert.Equal (new Rect (0, 0, 32, 5), colorPicker.Frame);
|
|
|
|
colorPicker = new ColorPicker (5, 10, "Title");
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
Assert.Equal (new Point (0, 0), colorPicker.Cursor);
|
|
Assert.True (colorPicker.CanFocus);
|
|
Assert.Equal (new Rect (5, 10, 32, 5), colorPicker.Frame);
|
|
|
|
colorPicker = new ColorPicker (new Point (10, 15), "Title");
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
Assert.Equal (new Point (0, 0), colorPicker.Cursor);
|
|
Assert.True (colorPicker.CanFocus);
|
|
Assert.Equal (new Rect (10, 15, 32, 5), colorPicker.Frame);
|
|
}
|
|
|
|
[Fact]
|
|
[AutoInitShutdown]
|
|
public void KeyBindings_Command ()
|
|
{
|
|
var colorPicker = new ColorPicker ();
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorRight, new KeyModifiers ())));
|
|
Assert.Equal (Color.Blue, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorDown, new KeyModifiers ())));
|
|
Assert.Equal (Color.BrightBlue, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorLeft, new KeyModifiers ())));
|
|
Assert.Equal (Color.DarkGray, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorLeft, new KeyModifiers ())));
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
|
|
Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
}
|
|
|
|
[Fact]
|
|
[AutoInitShutdown]
|
|
public void MouseEvents ()
|
|
{
|
|
var colorPicker = new ColorPicker ();
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
|
|
Assert.False (colorPicker.MouseEvent (new MouseEvent ()));
|
|
|
|
Assert.True (colorPicker.MouseEvent (new MouseEvent () { Flags = MouseFlags.Button1Clicked, X = 4, Y = 0 }));
|
|
Assert.Equal (Color.Blue, colorPicker.SelectedColor);
|
|
}
|
|
|
|
[Fact]
|
|
[AutoInitShutdown]
|
|
public void SelectedColorAndCursor ()
|
|
{
|
|
var colorPicker = new ColorPicker ();
|
|
colorPicker.SelectedColor = Color.White;
|
|
Assert.Equal (7, colorPicker.Cursor.X);
|
|
Assert.Equal (1, colorPicker.Cursor.Y);
|
|
|
|
colorPicker.SelectedColor = Color.Black;
|
|
Assert.Equal (0, colorPicker.Cursor.X);
|
|
Assert.Equal (0, colorPicker.Cursor.Y);
|
|
|
|
colorPicker.Cursor = new Point (7, 1);
|
|
Assert.Equal (Color.White, colorPicker.SelectedColor);
|
|
|
|
colorPicker.Cursor = new Point (0, 0);
|
|
Assert.Equal (Color.Black, colorPicker.SelectedColor);
|
|
}
|
|
}
|
|
}
|