use base64::{Engine as _, engine::general_purpose::STANDARD};
pub fn encode_placement(png_bytes: &[u8], cols: u16, rows: u16) -> String {
let b64 = STANDARD.encode(png_bytes);
format!("\x1b]1337;File=inline=1;width={cols};height={rows};preserveAspectRatio=1:{b64}\x07")
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn encode_wraps_base64_in_osc_1337() {
let s = encode_placement(b"hi", 5, 3);
assert!(s.starts_with("\x1b]1337;File=inline=1;width=5;height=3;preserveAspectRatio=1:"));
assert!(s.ends_with('\x07'));
assert!(s.contains("aGk="));
}
#[test]
fn encode_handles_empty_bytes() {
let s = encode_placement(&[], 1, 1);
assert!(s.starts_with("\x1b]1337;File=inline=1;"));
assert!(s.ends_with('\x07'));
}
}