from intent.features.diff import line_diff from intent.markdown import render def test_blocks_carry_source_lines(): html = render("Para one\ncontinues.\n\n- a\n- b\n") assert '

' in html assert '

  • ' in html def test_headings_shift_down_one_level(): html = render("# Top\n\n###### Deepest\n") assert "alert(1)\n\n[x](javascript:alert(1)) ") assert "old" in html def test_line_diff_hunks(): old = "\n".join(f"line {i}" for i in range(1, 21)) new = old.replace("line 10", "line ten") [hunk] = line_diff(old, new) kinds = [(line.kind, line.old_number, line.new_number) for line in hunk] assert ("removed", 10, None) in kinds assert ("added", None, 10) in kinds assert kinds[0] == ("same", 7, 7) # three lines of context assert line_diff(old, old) == []