changed ISSNCleanup into NormalizeIssn, refactored respective tests #13748#13767
changed ISSNCleanup into NormalizeIssn, refactored respective tests #13748#13767koppor merged 6 commits intoJabRef:mainfrom siddhantkore:refactor-ISSNCleanup-into-NormalizeIssn
Conversation
| import org.jabref.logic.formatter.bibtexfields.NormalizePagesFormatter; | ||
| import org.jabref.logic.formatter.bibtexfields.OrdinalsToSuperscriptFormatter; | ||
| import org.jabref.logic.formatter.bibtexfields.UnicodeToLatexFormatter; | ||
| import org.jabref.logic.formatter.bibtexfields.*; |
There was a problem hiding this comment.
Please re-check that you really followed the setup guide setp 3: https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-13-code-style.html
koppor
left a comment
There was a problem hiding this comment.
Looks very nice. 👍
Only two nitpicks.
|
|
||
| @Override | ||
| public String format(String value) { | ||
| Objects.requireNonNull(value); |
There was a problem hiding this comment.
Use @NonNull annotation instead of requireNonNull
| new ReplaceUnicodeLigaturesFormatter(), | ||
| new UnprotectTermsFormatter() | ||
| new UnprotectTermsFormatter(), | ||
| new NormalizeIssn() |
There was a problem hiding this comment.
Move to "Normalize*" Group (even though it is not really alphabetically sorted
Please move the NormalizeUnicodeFormater also up.
| @Test | ||
| void emptyOrNullReturnsSame() { | ||
| assertEquals("", formatISSN.format("")); | ||
| assertThrows(NullPointerException.class, () -> formatISSN.format(null)); |
There was a problem hiding this comment.
This line can be removed if we change to JSpecify
| @Test | ||
| void returnValidIssnUnchanged() { | ||
| assertEquals("0123-4567", formatISSN.format("0123-4567")); | ||
| } | ||
|
|
||
| @Test | ||
| void addMissingDashToIssn() { | ||
| assertEquals("0123-4567", formatISSN.format("01234567")); | ||
| } | ||
|
|
||
| @Test | ||
| void leavesInvalidInputUnchanged() { | ||
| assertEquals("Banana", formatISSN.format("Banana")); | ||
| } |
There was a problem hiding this comment.
Please convert to @ParamterizedTest. You can use @CsvSource
| @CsvSource({ | ||
| "0123-4567, 0123-4567", | ||
| "01234567, 0123-4567", | ||
| "Banana, Banana", | ||
| "'',''" | ||
| }) |
There was a problem hiding this comment.
Test data should use Arguments.of() instead of @CsvSource for better readability and maintainability in JUnit tests, following modern Java practices.
|
Hey @koppor , this is my first contribution. |
* upstream/main: (54 commits) Split relativizeSymlinks parameterized tests in separate tests (#13782) Update the search syntax highlight for web search (#13801) Chore(deps): Bump ai.djl:bom from 0.33.0 to 0.34.0 in /versions (#13833) Fix typos in CHANGELOG.md (#13826) Chore(deps): Bump com.konghq:unirest-modules-gson in /versions (#13831) Chore(deps): Bump org.gradlex:extra-java-module-info in /build-logic (#13830) Chore(deps): Bump org.apache.logging.log4j:log4j-to-slf4j in /versions (#13832) Chore(deps): Bump io.zonky.test.postgres:embedded-postgres-binaries-bom (#13834) Chore(deps): Bump jablib/src/main/resources/csl-locales (#13829) Chore(deps): Bump jablib/src/main/resources/csl-styles (#13827) Chore(deps): Bump jablib/src/main/abbrv.jabref.org (#13828) add: CAYW endpoint formats (#13785) New Crowdin updates (#13823) chore(deps): update dependency org.kohsuke:github-api to v2.0-rc.5 (#13822) Add support for automatic ICORE conference ranking lookup [#13476] (#13699) New Crowdin updates (#13820) Initialize search bar auto-completion with real database context (no tab switch needed) (#13816) Fixes #13274: Allow cygwin-paths on Windows (#13297) Refine "REDACTED" replacement of API key value in web fetcher search URL (#13814) changed ISSNCleanup into NormalizeIssn, refactored respective tests #13748 (#13767) ...
Closes #13748
This PR moves ISSNCleanup int NormalizeIssn Issn formatter
Changes
ISSNCleanup→NormalizeIssninorg.jabref.logic.formatter.bibtexfields.NormalizeIssnnow extends Formatter (instead of CleanupJob).CLEAN_UP_ISSNfromCleanupWorkerandCleanupPresetPanel.CleanupPresetPanel.fxmlto fix indentation and remove theISSNcheckbox.NormalizeIssnTestrefactoredISSNCleanupTestSteps to test
12345678 ISSN is normalized to 1234-5678.
1234-5678 ISSN remains unchanged.
ISSN cleanup option is no longer shown.
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)