use super::*;
#[test]
#[rustfmt::skip]
fn draw_mono_fonts() {
let mut buffer = [0u8; 15 * 4]; FONT_BIT_3_3.draw_mono(&mut buffer, 15, 2, 2, "LB");
let expected = [
0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ];
assert_eq!(buffer, expected);
let mut buffer = [0u8; 15 * 5]; FONT_BIT_3_5.draw_mono(&mut buffer, 15, 2, 4, "LIT");
let expected = [
0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, ];
assert_eq!(buffer, expected);
let mut buffer = [0u8; 20 * 7]; FONT_BIT_5_6.draw_mono(&mut buffer, 20, 2, 5, "LIT");
let expected = [
0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ];
assert_eq!(buffer, expected);
}
#[test]
#[rustfmt::skip]
fn draw_mono_clipping() {
const WIDTH: usize = 3;
const HEIGHT: usize = 3;
fn assert_draw(font: &FontBitmap<u16>, x: isize, y: isize, expected: &[u8]) {
let mut buffer = [0u8; WIDTH * HEIGHT];
font.draw_mono(&mut buffer, WIDTH, x, y, "0");
assert_eq!(buffer, expected);
}
assert_draw(&FONT_BIT_3_3, 0, 2, &[ 1,1,1, 1,0,1, 1,1,1 ]);
assert_draw(&FONT_BIT_3_3, 0, 1, &[ 1,0,1, 1,1,1, 0,0,0 ]); assert_draw(&FONT_BIT_3_3, 0, 0, &[ 1,1,1, 0,0,0, 0,0,0 ]);
assert_draw(&FONT_BIT_3_3, 0, 3, &[ 0,0,0, 1,1,1, 1,0,1 ]); assert_draw(&FONT_BIT_3_3, 0, 4, &[ 0,0,0, 0,0,0, 1,1,1 ]); assert_draw(&FONT_BIT_3_3, 0, 5, &[ 0,0,0, 0,0,0, 0,0,0 ]);
assert_draw(&FONT_BIT_3_3, 1, 2, &[ 0,1,1, 0,1,0, 0,1,1 ]); assert_draw(&FONT_BIT_3_3, 2, 2, &[ 0,0,1, 0,0,1, 0,0,1 ]); assert_draw(&FONT_BIT_3_3, 3, 2, &[ 0,0,0, 0,0,0, 0,0,0 ]); }
#[test]
#[rustfmt::skip]
fn draw_rgba_clipping() {
const WIDTH: usize = 3;
const HEIGHT: usize = 3;
let color = [255, 0, 0, 255];
let mut buffer = [0u8; WIDTH * HEIGHT * 4];
FONT_BIT_3_3.draw_rgba(&mut buffer, WIDTH, 0, 2, "0", color);
let expected: [u8; WIDTH * HEIGHT * 4] = [
255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255,
255, 0, 0, 255, 0, 0, 0, 0, 255, 0, 0, 255,
255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255,
];
assert_eq!(buffer, expected);
}