Skip to content

🧪 test: improve testing coverage for base64Url function#4

Open
megawron wants to merge 2 commits into
mainfrom
improve-base64url-testing-10114646235311564427
Open

🧪 test: improve testing coverage for base64Url function#4
megawron wants to merge 2 commits into
mainfrom
improve-base64url-testing-10114646235311564427

Conversation

@megawron

Copy link
Copy Markdown
Contributor

🎯 What: This PR addresses the missing edge case tests for the base64Url function in serve.js. Because serve.js previously started an HTTP server indiscriminately upon import, test files importing it caused side-effects. This was fixed to enable clean testing.

📊 Coverage: The following scenarios are now tested using the Bun test framework:

  • Standard strings (happy path)
  • Empty strings
  • Strings that naturally generate + in Base64 (converted to -)
  • Strings that naturally generate / in Base64 (converted to _)
  • Strings that naturally generate = in Base64 (stripped out)

Result: The base64Url function is now fully covered, preventing potential regressions, and serve.js can be safely imported without starting the HTTP server logic.


PR created automatically by Jules for task 10114646235311564427 started by @megawron

- Add robust unit tests for base64Url in tests/serve.test.js
- Wrap server.listen in require.main === module to prevent port collisions during testing
- Export base64Url conditionally for testing

Co-authored-by: megawron <52606827+megawron@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 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.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Apr 23, 2026

Copy link
Copy Markdown

Deploying 0cms with  Cloudflare Pages  Cloudflare Pages

Latest commit: 44e3025
Status: ✅  Deploy successful!
Preview URL: https://9c8543c3.0cms.pages.dev
Branch Preview URL: https://improve-base64url-testing-10.0cms.pages.dev

View logs

- Updated `build.mjs` to use recursive `cp` instead of iterating and checking with `readdir` directly, which fixes `EISDIR` errors
- Marked generated WASM JS and binary files as external in the Bun builder configuration to prevent CI resolution errors when the artifacts aren't built
- Verified that `serve.test.js` remains intact and `base64Url` runs accurately.

Co-authored-by: megawron <52606827+megawron@users.noreply.github.com>
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