wiki.techinc.nl/tests/phpunit/languages/classes/LanguageTrTest.php
James D. Forrester 1e9c361960 tests: Replace implicit Bugzilla bug numbers with Phab ones
It's unreasonable to expect newbies to know that "bug 12345" means "Task T14345"
except where it doesn't, so let's just standardise on the real numbers.

Change-Id: I46261416f7603558dceb76ebe695a5cac274e417
2017-02-21 02:14:34 +00:00

61 lines
1.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* @author Antoine Musso
* @copyright Copyright © 2011, Antoine Musso
* @file
*/
/** Tests for MediaWiki languages/LanguageTr.php */
class LanguageTrTest extends LanguageClassesTestCase {
/**
* See T30040
* Credits to irc://irc.freenode.net/wikipedia-tr users:
* - berm
* - []LuCkY[]
* - Emperyan
* @see https://en.wikipedia.org/wiki/Dotted_and_dotless_I
* @dataProvider provideDottedAndDotlessI
* @covers Language::ucfirst
* @covers Language::lcfirst
*/
public function testDottedAndDotlessI( $func, $input, $inputCase, $expected ) {
if ( $func == 'ucfirst' ) {
$res = $this->getLang()->ucfirst( $input );
} elseif ( $func == 'lcfirst' ) {
$res = $this->getLang()->lcfirst( $input );
} else {
throw new MWException( __METHOD__ . " given an invalid function name '$func'" );
}
$msg = "Converting $inputCase case '$input' with $func should give '$expected'";
$this->assertEquals( $expected, $res, $msg );
}
public static function provideDottedAndDotlessI() {
return [
# function, input, input case, expected
# Case changed:
[ 'ucfirst', 'ı', 'lower', 'I' ],
[ 'ucfirst', 'i', 'lower', 'İ' ],
[ 'lcfirst', 'I', 'upper', 'ı' ],
[ 'lcfirst', 'İ', 'upper', 'i' ],
# Already using the correct case
[ 'ucfirst', 'I', 'upper', 'I' ],
[ 'ucfirst', 'İ', 'upper', 'İ' ],
[ 'lcfirst', 'ı', 'lower', 'ı' ],
[ 'lcfirst', 'i', 'lower', 'i' ],
# A real example taken from T30040 using
# https://tr.wikipedia.org/wiki/%C4%B0Phone
[ 'lcfirst', 'iPhone', 'lower', 'iPhone' ],
# next case is valid in Turkish but are different words if we
# consider IPhone is English!
[ 'lcfirst', 'IPhone', 'upper', 'ıPhone' ],
];
}
}