mediawiki-skins-Vector/tests/phpunit/unit/Services/LanguageServiceTest.php
Doğu Abaris 1b692aef4d test: Add PHPUnit tests for LanguageService
Adds tests for LanguageService in Vector skin.
Covered:
- `testConstruct`: Validates property initialization.
- `canWordsBeSplitSafely`: Tests that the language is splittable or not.

Change-Id: Icc1c269c56e0e53c624074516aee95ba242a55d7
2024-02-12 16:25:43 +00:00

61 lines
1.7 KiB
PHP

<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* $since 1.42
*/
namespace MediaWiki\Skins\Vector\Tests\Unit\Services;
use MediaWiki\Skins\Vector\Services\LanguageService;
use MediaWikiUnitTestCase;
/**
* @group Vector
* @group Services
* @covers \MediaWiki\Skins\Vector\Services\LanguageService
*/
class LanguageServiceTest extends MediaWikiUnitTestCase {
public function testConstructor() {
$languageService = new LanguageService();
$this->assertInstanceOf( LanguageService::class, $languageService );
}
public function provideSplittableLanguages(): array {
return [
[ 'en', true ],
[ 'de', true ],
[ 'fr', true ],
[ 'ja', true ],
[ 'ru', true ],
[ 'zh', true ],
[ 'ar', false ],
[ 'fa', false ],
];
}
/**
* @dataProvider provideSplittableLanguages
*/
public function testCanWordsBeSplitSafely( string $code, bool $expected ) {
$languageService = new LanguageService();
$result = $languageService->canWordsBeSplitSafely( $code );
$this->assertSame( $expected, $result );
}
}