Skip to content

Close #30: Test cases for special characters#42

Merged
i2h3 merged 1 commit intomainfrom
30-special-characters
Jan 15, 2026
Merged

Close #30: Test cases for special characters#42
i2h3 merged 1 commit intomainfrom
30-special-characters

Conversation

@i2h3
Copy link
Copy Markdown
Owner

@i2h3 i2h3 commented Jan 15, 2026

No description provided.

@i2h3 i2h3 added this to the 2.0.0 milestone Jan 15, 2026
@i2h3 i2h3 self-assigned this Jan 15, 2026
Copilot AI review requested due to automatic review settings January 15, 2026 15:34
@i2h3 i2h3 added the bug Something isn't working label Jan 15, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive test coverage for special characters in folder names, addressing issue #30. The changes introduce proper URL encoding handling for test fixtures containing special characters like #, %, &, ?, and :.

Changes:

  • Added new test cases for listing folders with special characters (whitespace, percent-encoded paths, and individual special characters)
  • Refactored test infrastructure to use custom percent encoding for fixture file paths to avoid double-encoding issues
  • Added convenience method to Serving protocol that returns an array of items instead of an AsyncThrowingStream

Reviewed changes

Copilot reviewed 36 out of 36 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Tests/RainmakerTests/URLTestSessionError.swift Changed error case to use String path instead of URL for better error messages
Tests/RainmakerTests/URLTestSession.swift Refactored fixture loading to use custom percent encoding via FileHandle to prevent double-encoding
Tests/RainmakerTests/ListingTests.swift Added 7 new test cases for special character handling in folder names
Tests/RainmakerTests/Extensions/URL+percentEncodedPath.swift New extension providing custom percent encoding for file system paths
Tests/RainmakerTests/Extensions/HTTPURLResponse+init.swift Updated to accept Data instead of URL for fixture parsing
Sources/Rainmaker/Serving.swift Added convenience method returning array of Items
Sources/Rainmaker/Server.swift Implemented the new array-returning enumerate method
Sources/RainmakerCLI/Commands/List.swift Simplified to use new array-returning enumerate method
Multiple fixture files Added test response fixtures for special character test cases (31.0.12 and 32.0.3)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 36 out of 36 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@i2h3 i2h3 force-pushed the 30-special-characters branch from 98f3d3b to 7ab9b84 Compare January 15, 2026 16:07
@i2h3 i2h3 merged commit 64daab4 into main Jan 15, 2026
7 checks passed
@i2h3 i2h3 deleted the 30-special-characters branch January 15, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants