Conversation
The PHPUnit suite was empty. Cover the two pure pieces of logic that need no WordPress mocks: - TranslateLanguages::generateAnalysisLanguages() and languageHasStemmer(): analyzer/snowball/stemmer resolution, including languages without snowball or stemmer support and the english fallback for unknown codes. - Field::buildLanguagePattern(): language extraction from guids for directory, query parameter and subdomain URL formats. Test doubles are named classes because the test framework's include rewriting does not parse anonymous classes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The PHPUnit suite currently contains no tests (CI reports "No tests executed"). This adds the first two test files, covering the two pieces of pure logic in the plugin that need no WordPress mocks:
TranslateLanguagesTest—generateAnalysisLanguages()andlanguageHasStemmer(): analyzer/snowball resolution for fully-supported languages (de, en), languages without snowball support (ar, th, pt-br), multi-code languages (nn → norwegian), and the english fallback for unknown codes; stemmer availability including the no-stemmer languages.FieldLanguagePatternTest—buildLanguagePattern(): language extraction from post guids for all three URL formats the pattern supports (directory/de/, query parameter?lang=fr, subdomainde.), plus non-matching guids, asserting the last-captured-group convention thatgetPostLanguage()relies on.Notes
Field\Syncsubclass) rather than anonymous classes, because the test framework's include rewriting does not parse anonymous classes.Verification