use crate::channels::telegram::handler::markdown_to_telegram_html;
use crate::channels::telegram::rich::contains_table;
const TABLE_AND_FENCE: &str = "\
| Policy | Behavior |
|---|---|
| **ask** | prompt only for dangerous tools |
```rust
needs_approval = a && b;
```";
#[test]
fn table_is_detected_so_the_native_path_is_skipped() {
assert!(contains_table(TABLE_AND_FENCE));
assert!(!contains_table("no table here\njust prose"));
}
#[test]
fn table_plus_fence_renders_clean_html_no_mangling() {
let html = markdown_to_telegram_html(TABLE_AND_FENCE);
assert!(
!html.contains("<b></b>"),
"empty-bold artifact leaked: {html}"
);
assert!(
!html.contains("</code>rust"),
"fence language leaked: {html}"
);
assert!(
html.contains("<pre>"),
"expected monospace <pre> block: {html}"
);
assert!(html.contains("&&") && !html.contains("&amp;"));
}