Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
37.50% covered (danger)
37.50%
3 / 8
25.00% covered (danger)
25.00%
1 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
NullReplacementMachine
37.50% covered (danger)
37.50%
3 / 8
25.00% covered (danger)
25.00%
1 / 4
11.10
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getCodes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 isValidCodePair
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
6
 convert
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Wikimedia\LangConv;
4
5/**
6 * A replacement machine that leaves text untouched.
7 */
8class NullReplacementMachine extends ReplacementMachine {
9    /** @var string */
10    private $baseLanguage;
11    /** @var array<string,string> */
12    private $codes = [];
13
14    /**
15     * Create a NullReplacementMachine.
16     * @param string $baseLanguage A base language code
17     */
18    public function __construct( string $baseLanguage ) {
19        $this->baseLanguage = $baseLanguage;
20        $this->codes[$baseLanguage] = $baseLanguage;
21    }
22
23    /**
24     * @inheritDoc
25     */
26    public function getCodes() {
27        return $this->codes;
28    }
29
30    /**
31     * @inheritDoc
32     */
33    public function isValidCodePair( $destCode, $invertCode ) {
34        return $destCode === $this->baseLanguage &&
35            $invertCode === $this->baseLanguage;
36    }
37
38    /**
39     * @inheritDoc
40     */
41    public function convert( $document, $s, $destCode, $invertCode ) {
42        $result = $document->createDocumentFragment();
43        $result->appendChild( $document->createTextNode( $s ) );
44        return $result;
45    }
46}