Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 30
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ZhReplacementMachine
0.00% covered (danger)
0.00%
0 / 30
0.00% covered (danger)
0.00%
0 / 2
210
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
2
 isValidCodePair
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
182
1<?php
2declare( strict_types = 1 );
3
4namespace Wikimedia\LangConv;
5
6class ZhReplacementMachine extends FstReplacementMachine {
7
8    public function __construct() {
9        parent::__construct(
10            'zh',
11            [
12                'zh-hans',
13                'zh-hant',
14                'zh-cn',
15                'zh-hk',
16                'zh-mo',
17                'zh-my',
18                'zh-sg',
19                'zh-tw',
20            ]
21        );
22    }
23
24    /** @inheritDoc */
25    public function isValidCodePair( $destCode, $invertCode ) {
26        if ( $destCode === $invertCode ) {
27            return true;
28        }
29        switch ( $destCode ) {
30            case 'zh-cn':
31                if ( $invertCode === 'zh-tw' ) {
32                    return true;
33                }
34                // fall through
35            case 'zh-sg':
36            case 'zh-my':
37            case 'zh-hans':
38                return $invertCode === 'zh-hant';
39            case 'zh-tw':
40                if ( $invertCode === 'zh-cn' ) {
41                    return true;
42                }
43                // fall through
44            case 'zh-hk':
45            case 'zh-mo':
46            case 'zh-hant':
47                return $invertCode === 'zh-hans';
48            default:
49                return false;
50        }
51    }
52
53}