Skip to content

✨ Quality: Improve useTranslator robustness and test coverage#99

Merged
galiprandi merged 1 commit into
mainfrom
quality/use-translator-improvements-1518299695485679997
Jun 28, 2026
Merged

✨ Quality: Improve useTranslator robustness and test coverage#99
galiprandi merged 1 commit into
mainfrom
quality/use-translator-improvements-1518299695485679997

Conversation

@galiprandi

Copy link
Copy Markdown
Owner

This PR improves the quality of the useTranslator hook by reducing code duplication, increasing robustness via defensive programming, and expanding test coverage.

💡 What:

  • Extracted supported languages into a SUPPORTED_LANGUAGES constant.
  • Added base constructor checks for Translator and LanguageDetector.
  • Added 15+ new tests for edge cases and state transitions.

🎯 Why:

  • The language list was duplicated in two places.
  • Experimental browser APIs like Built-in AI require careful validation to avoid issues with faulty polyfills or missing methods.
  • The hook had several uncovered branches and edge cases (e.g., busy states, unmounting, detection failures).

📊 Impact:

  • Higher maintainability through code reuse.
  • Better reliability across different browser environments.
  • 100% statement and line coverage for the hook.

✅ Verification:

  • pnpm test lib/hooks/useTranslator.test.ts --coverage
  • pnpm build
  • pnpm lint

PR created automatically by Jules for task 1518299695485679997 started by @galiprandi

- Define SUPPORTED_LANGUAGES constant to eliminate duplication.
- Add security checks to ensure Translator and LanguageDetector are not base constructors.
- Add comprehensive unit tests covering edge cases for LanguageDetector, security checks, unmount cleanup, and busy states.
- Ensure 100% statement and line coverage for useTranslator.ts.
@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.

@galiprandi galiprandi merged commit 3fe5aee into main Jun 28, 2026
4 checks passed
@galiprandi galiprandi deleted the quality/use-translator-improvements-1518299695485679997 branch June 28, 2026 14:53
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