mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-15 12:42:21 +02:00
Squash Odysseus development history
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import pytest
|
||||
from pypdf import PdfWriter
|
||||
from pypdf.generic import DecodedStreamObject, DictionaryObject, NameObject
|
||||
|
||||
from src.document_processor import extract_local_document
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("filename", "body", "language"),
|
||||
[
|
||||
("config.yaml", "service:\n enabled: true\n", "yaml"),
|
||||
("query.sql", "select * from orders;\n", "sql"),
|
||||
("script.sh", "#!/bin/sh\necho ready\n", "bash"),
|
||||
("styles.css", "body { color: red; }\n", "css"),
|
||||
("main.ts", "const ready: boolean = true;\n", "typescript"),
|
||||
("settings.xml", "<settings enabled=\"true\"/>\n", "xml"),
|
||||
],
|
||||
)
|
||||
def test_extract_local_document_reads_advertised_text_formats(
|
||||
tmp_path,
|
||||
filename,
|
||||
body,
|
||||
language,
|
||||
):
|
||||
path = tmp_path / filename
|
||||
path.write_text(body, encoding="utf-8")
|
||||
|
||||
result = extract_local_document(str(path))
|
||||
|
||||
assert body.strip() in result
|
||||
assert f"```{language}" in result
|
||||
assert "[Attached document file]" not in result
|
||||
|
||||
|
||||
def test_extract_local_document_reads_real_pdf_text(tmp_path):
|
||||
path = tmp_path / "brief.pdf"
|
||||
writer = PdfWriter()
|
||||
page = writer.add_blank_page(width=612, height=792)
|
||||
font = DictionaryObject({
|
||||
NameObject("/Type"): NameObject("/Font"),
|
||||
NameObject("/Subtype"): NameObject("/Type1"),
|
||||
NameObject("/BaseFont"): NameObject("/Helvetica"),
|
||||
})
|
||||
page[NameObject("/Resources")] = DictionaryObject({
|
||||
NameObject("/Font"): DictionaryObject({NameObject("/F1"): font}),
|
||||
})
|
||||
stream = DecodedStreamObject()
|
||||
stream.set_data(
|
||||
b"BT /F1 12 Tf 72 720 Td (Odysseus PDF extraction smoke 2026) Tj ET"
|
||||
)
|
||||
page[NameObject("/Contents")] = writer._add_object(stream)
|
||||
with path.open("wb") as handle:
|
||||
writer.write(handle)
|
||||
|
||||
result = extract_local_document(str(path))
|
||||
|
||||
assert "[PDF content]" in result
|
||||
assert "Odysseus PDF extraction smoke 2026" in result
|
||||
Reference in New Issue
Block a user