blob: 8ee4a8e69c9cc5efca61a5c9bfca074904352330 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?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'
);
}
}
|