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
2declare( strict_types = 1 );
3
4namespace Wikimedia\LangConv;
5
6/**
7 * A replacement machine that leaves text untouched.
8 */
9class NullReplacementMachine extends ReplacementMachine {
10    /** @var string */
11    private $baseLanguage;
12    /** @var array<string,string> */
13    private $codes = [];
14
15    /**
16     * Create a NullReplacementMachine.
17     * @param string $baseLanguage A base language code
18     */
19    public function __construct( string $baseLanguage ) {
20        $this->baseLanguage = $baseLanguage;
21        $this->codes[$baseLanguage] = $baseLanguage;
22    }
23
24    /**
25     * @inheritDoc
26     */
27    public function getCodes() {
28        return $this->codes;
29    }
30
31    /**
32     * @inheritDoc
33     */
34    public function isValidCodePair( $destCode, $invertCode ) {
35        return $destCode === $this->baseLanguage &&
36            $invertCode === $this->baseLanguage;
37    }
38
39    /**
40     * @inheritDoc
41     */
42    public function convert( $document, $s, $destCode, $invertCode ) {
43        $result = $document->createDocumentFragment();
44        $result->appendChild( $document->createTextNode( $s ) );
45        return $result;
46    }
47}