%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/extensions/Translate/tests/phpunit/ |
Current File : /www/varak.net/wiki.varak.net/extensions/Translate/tests/phpunit/TPParseTest.php |
<?php /** * Unit tests for class TPParse * * @author Niklas Laxström * @license GPL-2.0-or-later * @file */ /** * Unit tests for class TPParse * @ingroup PageTranslation */ class TPParseTest extends MediaWikiTestCase { public function testGetTranslationPageText() { $title = Title::newFromText( __CLASS__ ); $page = TranslatablePage::newFromText( $title, '<translate>Hello <tvar|abc>peter!</></translate>' ); $prefix = $title->getPrefixedDBkey() . '/'; $parse = $page->getParse(); $collection = []; $expected = 'Hello peter!'; $actual = $parse->getTranslationPageText( $collection ); $this->assertEquals( $expected, $actual, 'Variable declarations are substituted when no translation' ); foreach ( $parse->sections as $section ) { $key = $prefix . $section->id; $message = new FatMessage( $key, $section->getText() ); $message->setTranslation( $section->getText() ); $collection[$key] = $message; } $actual = $parse->getTranslationPageText( $collection ); $this->assertEquals( $expected, $actual, 'Variable declarations are substituted in source language' ); foreach ( $parse->sections as $section ) { $key = $prefix . $section->id; $message = new FatMessage( $key, $section->getText() ); $message->setTranslation( $section->getTextForTrans() ); $collection[$key] = $message; } $actual = $parse->getTranslationPageText( $collection ); $this->assertEquals( $expected, $actual, 'Variable declarations are substituted in translation' ); } }