Skip to content

🧪 Add edge case tests for IPFS utils#75

Open
scobru wants to merge 1 commit into
mainfrom
ipfs-utils-tests-1765325004100915210
Open

🧪 Add edge case tests for IPFS utils#75
scobru wants to merge 1 commit into
mainfrom
ipfs-utils-tests-1765325004100915210

Conversation

@scobru
Copy link
Copy Markdown
Owner

@scobru scobru commented Mar 22, 2026

This PR addresses a testing gap in the IPFS utility functions by adding comprehensive unit tests for getContentTypeFromExtension and detectContentType.

🎯 What: The testing gap for IPFS content type detection utilities has been addressed.
📊 Coverage:

  • getContentTypeFromExtension: Verified correct MIME type mapping for common extensions, case-insensitive handling, filenames with multiple dots, hidden files (leading dots), files with no extensions, trailing dots, and full file paths.
  • detectContentType: Verified magic byte detection for PNG, JPEG, GIF, and PDF. Also verified content-based detection for HTML (tags) and JSON (parsing).
    Result: Improved reliability and confidence in the IPFS utility layer. Any future changes to these mapping or detection logic will now be caught by these automated tests.

PR created automatically by Jules for task 1765325004100915210 started by @scobru

…ntType

- Created relay/src/routes/ipfs/utils.test.ts
- Added comprehensive test cases for getContentTypeFromExtension (happy path, case sensitivity, multiple dots, no extension, hidden files, empty strings, path-like strings)
- Added test cases for detectContentType using magic bytes (PNG, JPEG, GIF, PDF) and content pattern matching (HTML, JSON)

Co-authored-by: scobru <1079164+scobru@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant