Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split testWriteHtmlSafe into Two Separate Test Cases for Improved Test Granularity #2653

Merged

Conversation

Codegass
Copy link
Contributor

Purpose

This pull request aims to improve the granularity and clarity of testing in the Gson project by splitting the testWriteHtmlSafe test case into two separate tests. This change allows each test to focus on a single scenario: one with HTML escaping enabled and the other with it disabled. Splitting the test enhances the readability and maintainability of the test suite, ensuring that failures in one scenario do not affect the execution of tests in another scenario. This approach facilitates more precise identification of issues and improves the efficiency of debugging and test execution.

Closes #2651

Description

The existing testWriteHtmlSafe combined two scenarios—testing Gson's behavior with HTML escaping both enabled and disabled—into a single test method. This PR proposes splitting this into two distinct test methods:

  • testWriteHtmlSafeWithEscaping: Tests Gson's default behavior of escaping HTML characters.
  • testWriteHtmlSafeWithoutEscaping: Tests Gson's behavior when HTML escaping is disabled using GsonBuilder().disableHtmlEscaping().

This separation increases test specificity and ensures that a failure in one part of the test suite does not hinder the execution or identification of issues in another part. The PR includes the addition of these two new test methods to the Gson test suite, providing a clearer, more targeted approach to testing Gson's HTML escaping functionalities.

Checklist

  • New code follows the Google Java Style Guide
    This is automatically checked by mvn verify, but can also be checked on its own using mvn spotless:check.
    Style violations can be fixed using mvn spotless:apply; this can be done in a separate commit to verify that it did not cause undesired changes.
  • If necessary, new public API validates arguments, for example rejects null
  • New public API has Javadoc
    • Javadoc uses @since $next-version$
      ($next-version$ is a special placeholder which is automatically replaced during release)
  • If necessary, new unit tests have been added
    • Assertions in unit tests use Truth, see existing tests
    • No JUnit 3 features are used (such as extending class TestCase)
    • If this pull request fixes a bug, a new test was added for a situation which failed previously and is now fixed
  • mvn clean verify javadoc:jar passes without errors

@eamonnmcmanus eamonnmcmanus merged commit 04eb52d into google:main Mar 20, 2024
11 checks passed
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.

Split testWriteHtmlSafe into Two Separate Test Cases for Improved Test Granularity
2 participants