Commit graph

7 commits

Author SHA1 Message Date
Antoine Musso
97783870bc Makes LanguageTr uc & lc match parent declaration
Methods were introduced in r84057 which, unfortunatly was tested with
PHP errors disabled :\

Additionally add tests for the full Turkish alphabet based on an article
from Wikipedia http://en.wikipedia.org/wiki/Turkish_alphabet
2011-03-16 07:38:15 +00:00
Antoine Musso
3e6e06a3bb bug 28040 Turkish: properly handle dotted and dotless i
As mentioned by Bawolff on code review, r83970 only handled case change
of the first character lacking full strings support.

This patch override the uc and lc methods for the Turkish language (tr)
using preg_replace() which know about unicode. Other possible choices
would have been:
 - strtr() =>  outputs garbage
 - mbstring => can not know we handle turkish and transform i to I!

I have amended the RELEASE-NOTES to reflect this patch.

Some new tests are added as well to cover the regular functions as
well as the specific Turkish overriding. Result in testdox:

LanguageTr
[x] Change case of first char being dotted and dotless i
[x] Language tr lower casing override
[x] Language tr upper casing override
[x] Upper casing of a string with dotted and dot less i
[x] Lower casing of a string with dotted and dot less i
2011-03-15 21:56:54 +00:00
Antoine Musso
b8522fac08 bug 28040 Turkish: properly lower case 'I' to 'ı' (dotless i)
Turkish has two different i, one with a dot and another without a dot. They
are totally different letters in this language, so we have to override the
ucfirst and lcfirst methods.
See http://en.wikipedia.org/wiki/Dotted_and_dotless_I

Credits to #wikipedia-tr users berm, []LuCkY[] and Emperyan
2011-03-14 22:14:39 +00:00
Antoine Musso
0330258617 Underscore are not valid in language code
* Reject underscore in validation
* Still case unsensitive
* Corrected tests using underscore


Follow up r83160 which was a follow up of r82927 (language code validation)
2011-03-04 17:16:09 +00:00
Antoine Musso
93348f39d4 Fix language code validation (from r82927)
A language code may contains the underscore character (be_tarask)
and might as well be upper case (FR).

Add tests for Language::isValidBuiltInCode() against some language codes
2011-03-03 19:13:57 +00:00
Chad Horohoe
5f528203aa Rename MediaWikiTestSetup to MediaWikiTestCase: this is going to be the base class for all unit tests from now on 2010-12-28 17:45:33 +00:00
Chad Horohoe
23f69f10ed Per wikitech-l discussion: Move tests from maintenance/tests/ to tests/. They're not strictly maintenance scripts, and some people want to do a selective checkout that doesn't include the tests. There's still debate on whether we should include these in the release downloads, but we had a pretty firm consensus to move this. 2010-12-14 16:26:35 +00:00