Skip to main content

TestTerminal

Struct TestTerminal 

Source
pub struct TestTerminal { /* private fields */ }
Expand description

In-memory terminal double for testing.

Records all writes, cursor moves, and cursor visibility changes so tests can assert on the exact ANSI sequences emitted by the renderer.

Implementations§

Source§

impl TestTerminal

Source

pub fn new(cols: u16, rows: u16) -> Self

Create a new test terminal with the given dimensions.

Source

pub fn written(&self) -> &Vec<String>

All strings written via Terminal::write since creation.

Source

pub fn cursor_moves(&self) -> &Vec<(u16, u16)>

All cursor positions passed to Terminal::move_cursor since creation.

Source

pub fn is_cursor_hidden(&self) -> bool

Whether the cursor was most recently hidden.

Trait Implementations§

Source§

impl Terminal for TestTerminal

Source§

fn start(&mut self) -> Result<()>

Enter raw mode, alternate screen, and hide the cursor.
Source§

fn stop(&mut self) -> Result<()>

Leave raw mode, alternate screen, and show the cursor.
Source§

fn write(&mut self, data: &str) -> Result<()>

Write raw data to the terminal.
Source§

fn size(&self) -> Result<(u16, u16)>

Return the current terminal size as (cols, rows).
Source§

fn move_cursor(&mut self, row: u16, col: u16) -> Result<()>

Move the hardware cursor to (row, col).
Source§

fn hide_cursor(&mut self) -> Result<()>

Hide the hardware cursor.
Source§

fn show_cursor(&mut self) -> Result<()>

Show the hardware cursor.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.