aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/language/TimeAdjustTest.php
Commit message (Collapse)AuthorAgeFilesLines
* Switch over a bunch of class_alias uses to actualsJames D. Forrester2024-10-031-1/+1
| | | | Change-Id: Id175a83e71cc910eaee5d5890a9106872a3ca3b8
* language: Widen `@covers` tags in phpunit testsTimo Tijhof2024-06-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a few missing `@group Language` tags as well. Remove stray `@group Cache` from two classes since "Cache" is not a MediaWiki core component (per T248519 and related tasks, we did long ago in Bugzilla have a "MediaWiki-Cache" category, but that's since been re-orged into BagOStuff, HTTP-Cache, and Parser/ParserCache, and Internationalization/LocalisationCache, per the description at <https://phabricator.wikimedia.org/project/profile/1329/>.) Ref https://gerrit.wikimedia.org/r/q/owner:Krinkle+is:merged+message:Widen > Given all called methods are de-facto and liberally claimed, and > that we keep the coverage limited to the subject class, it maintains > the spirit and intent by listing the class explicitly instead. > > PHPUnit offers a more precise tool when you need it (i.e. when testing > legacy monster/god classes), but for well-written code, the > class-wide tag is exactly what you want. > > We lose useful coverage and waste valuable time on keeping tags > accurate through refactors (or worse, forget to do so). > Tracking tiny per-method details wastes time in realizing (and > fixing) when people inevitably don't keep them in sync, and time > lost in finding uncovered code to write tests to realize it was > already covered but "not yet claimed". Bug: T364652 Change-Id: I9cfc4c210b90bfed6fd988a2525f80f5f5ee4870
* tests: Fix @covers and @coversDefaultClass to have leading \Reedy2024-02-161-1/+1
| | | | Change-Id: I5629f91387f2ac453ee4341bfe4bba310bd52f03
* Language: Don't generate local dates in the year 10000Máté Szabó2024-02-031-0/+11
| | | | | | | | | | | | | | | | | | | | | | MediaWiki only supports 14 character timestamps, and most date input fields accordingly limit the accepted input range to fit within that constraint, so the largest acceptable date is 9999-12-31 23:59:59. However, if an user's own timezone preference is set to a timezone with a higher offset than the server timezone, such dates may overflow into the year 10000 and cause an error ("The timestamp XYZ should have 14 characters"). This very commonly happens when an admin decides to block an user until 9999-12-31 instead of using the infinite expiry for some reason, effectively breaking the block log for every user with a timezone offset higher than the server offset. Making MediaWiki support dates beyond the year 10000 would be a larger undertaking, so for now, limit the impact of this problem by ensuring that userAdjust() does not generate a local date that sprintfDate() would not be able to handle. Bug: T32148 Bug: T277809 Change-Id: I17ceee6c80dcc1559c6d66f1956ba1f0a4b519a3
* tests: Move test cases from /includes/ into sub folderUmherirrender2023-09-131-0/+86
Follow move of the tested class Most moves are part of T321882 Change-Id: I74ab45d6a5331dcb2ff0b65dc2cc7c6315146646