mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
Add a write_formatted test
This commit is contained in:
@@ -192,4 +192,34 @@ mod test {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn write_formatted() {
|
||||||
|
use core::fmt::Write;
|
||||||
|
|
||||||
|
let mut writer = construct_writer();
|
||||||
|
writeln!(&mut writer, "a").unwrap();
|
||||||
|
writeln!(&mut writer, "b{}", "c").unwrap();
|
||||||
|
|
||||||
|
for (i, row) in writer.buffer.chars.iter().enumerate() {
|
||||||
|
for (j, screen_char) in row.iter().enumerate() {
|
||||||
|
let screen_char = screen_char.read();
|
||||||
|
if i == BUFFER_HEIGHT - 3 && j == 0 {
|
||||||
|
assert_eq!(screen_char.ascii_character, b'a');
|
||||||
|
assert_eq!(screen_char.color_code, writer.color_code);
|
||||||
|
} else if i == BUFFER_HEIGHT - 2 && j == 0 {
|
||||||
|
assert_eq!(screen_char.ascii_character, b'b');
|
||||||
|
assert_eq!(screen_char.color_code, writer.color_code);
|
||||||
|
} else if i == BUFFER_HEIGHT - 2 && j == 1 {
|
||||||
|
assert_eq!(screen_char.ascii_character, b'c');
|
||||||
|
assert_eq!(screen_char.color_code, writer.color_code);
|
||||||
|
} else if i >= BUFFER_HEIGHT - 2 {
|
||||||
|
assert_eq!(screen_char.ascii_character, b' ');
|
||||||
|
assert_eq!(screen_char.color_code, writer.color_code);
|
||||||
|
} else {
|
||||||
|
assert_eq!(screen_char, empty_char());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user