Files
nexus/internal/leviathan/pdf/pdf_test.go
T
Andy DixonandClaude Sonnet 5 1a380a0e99 Rebrand: Nexus Terminal → Alchementary Link
Renames the product across the codebase: Go module path, config/data
paths, keychain service name, export file extension, build tooling,
docs, and UI text. Sidebar brand mark now reads ">_ AlchementaryLink"
with "Alchementary" in the connection-group gold accent colour, and
the window title is "Alchementary Link".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019T8bJS8BCtY5GeSG2HBj1n
2026-09-03 16:41:23 +01:00

38 lines
887 B
Go

package pdf
import (
"os"
"strings"
"testing"
"github.com/andydixon/link/internal/leviathan/document"
)
func TestParseRejectsOversizedPDFBeforeWholeRange(t *testing.T) {
file, err := os.CreateTemp(t.TempDir(), "huge-*.pdf")
if err != nil {
t.Fatalf("CreateTemp() failed: %v", err)
}
if _, err := file.WriteString("%PDF-1.7\n"); err != nil {
t.Fatalf("WriteString() failed: %v", err)
}
if err := file.Truncate(maxPDFParseBytes + 1); err != nil {
t.Fatalf("Truncate() failed: %v", err)
}
if err := file.Close(); err != nil {
t.Fatalf("Close() failed: %v", err)
}
doc, err := document.Open(file.Name())
if err != nil {
t.Fatalf("document.Open() failed: %v", err)
}
_, err = Parse(doc)
if err == nil {
t.Fatal("expected oversized PDF to be rejected")
}
if !strings.Contains(err.Error(), "pdf parse skipped") {
t.Fatalf("unexpected error: %v", err)
}
}