use std::io::{self};
use super::types::Terminal;
use crate::Result;
pub fn stdout_terminal() -> Result<Terminal<io::Stdout>> {
Terminal::new(io::stdout())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
#[ignore = "Requires TTY - skipped in CI"]
fn test_stdout_terminal() {
let result = stdout_terminal();
assert!(result.is_ok());
let terminal = result.unwrap();
let (width, height) = terminal.size();
assert!(width > 0 || height > 0 || (width == 0 && height == 0));
}
#[test]
#[ignore = "Requires TTY - skipped in CI"]
fn test_stdout_terminal_multiple() {
let terminal1 = stdout_terminal();
let terminal2 = stdout_terminal();
assert!(terminal1.is_ok());
assert!(terminal2.is_ok());
}
}