Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 7
CRAP
0.00% covered (danger)
0.00%
0 / 1
Suggestion
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 7
56
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 newFromRow
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 getListId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSourceLanguage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTargetLanguage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 __toString
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace ContentTranslation;
4
5use MediaWiki\Title\Title;
6
7class Suggestion {
8    /** @var int */
9    protected $listId;
10    /** @var string */
11    protected $title;
12    /** @var string */
13    protected $sourceLanguage;
14    /** @var string */
15    protected $targetLanguage;
16
17    public function __construct( array $params ) {
18        $this->listId = (int)$params['listId'];
19        $this->title = (string)$params['title'];
20        $this->sourceLanguage = (string)$params['sourceLanguage'];
21        $this->targetLanguage = (string)$params['targetLanguage'];
22    }
23
24    /**
25     * @param \stdClass $row
26     * @return Suggestion
27     */
28    public static function newFromRow( $row ) {
29        $params = [
30            'listId' => $row->cxs_list_id,
31            'title' => $row->cxs_title,
32            'sourceLanguage' => $row->cxs_source_language,
33            'targetLanguage' => $row->cxs_target_language,
34        ];
35
36        return new Suggestion( $params );
37    }
38
39    /**
40     * @return int
41     */
42    public function getListId() {
43        return $this->listId;
44    }
45
46    /**
47     * @return Title|null
48     */
49    public function getTitle() {
50        return Title::newFromText( $this->title );
51    }
52
53    /**
54     * @return string
55     */
56    public function getSourceLanguage() {
57        return $this->sourceLanguage;
58    }
59
60    /**
61     * @return string
62     */
63    public function getTargetLanguage() {
64        return $this->targetLanguage;
65    }
66
67    /**
68     * @return string
69     */
70    public function __toString() {
71        return $this->title;
72    }
73}