Completed
Push — master ( 15e850...27125e )
by mw
02:06
created

tests/phpunit/Unit/TransliteratorTest.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Onoi\Tesa\Tests;
4
5
use Onoi\Tesa\Transliterator;
6
7
/**
8
 * @covers \Onoi\Tesa\Transliterator
9
 * @group onoi-tesa
10
 *
11
 * @license GNU GPL v2+
12
 * @since 0.1
13
 *
14
 * @author mwjames
15
 */
16
class TransliteratorTest extends \PHPUnit_Framework_TestCase {
17
18
	/**
19
	 * @dataProvider characterProvider
20
	 */
21
	public function testTransliteration( $input, $flag, $expected ) {
22
23
		$this->assertEquals(
24
			$expected,
25
			Transliterator::transliterate( $input, $flag )
26
		);
27
	}
28
29
	public function characterProvider() {
30
31
		$provider[] = array(
0 ignored issues
show
Coding Style Comprehensibility introduced by
$provider was never initialized. Although not strictly required by PHP, it is generally a good practice to add $provider = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
32
			'Foo',
33
			'unknownFlag',
34
			'Foo',
35
		);
36
37
		$provider[] = array(
38
			'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž',
39
			Transliterator::NONE,
40
			'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž',
41
		);
42
43
		$provider[] = array(
44
			'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž',
45
			Transliterator::DIACRITICS,
46
			'AAAAAEAaaaaaeaOOOOOOEOoooooeoEEEEeeeeðCcÐIIIIiiiiUUUUEuuuueNnSsYyyZz'
47
		);
48
49
		$provider[] = array(
50
			'ỆᶍǍᶆṔƚÉ áéíóúýčďěňřšťžů',
51
			Transliterator::DIACRITICS,
52
			'ExAmPlE aeiouycdenrstzu'
53
		);
54
55
		$provider[] = array(
56
			'àáâãäå',
57
			Transliterator::DIACRITICS,
58
			'aaaaaea'
59
		);
60
61
		$provider[] = array(
62
			'èéêë',
63
			Transliterator::DIACRITICS,
64
			'eeee'
65
		);
66
67
		$provider[] = array(
68
			'òóôõö',
69
			Transliterator::DIACRITICS,
70
			'oooooe'
71
		);
72
73
		$provider[] = array(
74
			'ùúûü',
75
			Transliterator::DIACRITICS,
76
			'uuuue'
77
		);
78
79
		$provider[] = array(
80
			'ç',
81
			Transliterator::DIACRITICS,
82
			'c'
83
		);
84
85
		$provider[] = array(
86
			'æ',
87
			Transliterator::DIACRITICS,
88
			'ae'
89
		);
90
91
		$provider[] = array(
92
			'ñ',
93
			Transliterator::DIACRITICS,
94
			'n'
95
		);
96
97
		$provider[] = array(
98
			'œ',
99
			Transliterator::DIACRITICS,
100
			'oe'
101
		);
102
103
		$provider[] = array(
104
			'ýÿ',
105
			Transliterator::DIACRITICS,
106
			'yy'
107
		);
108
109
		$provider[] = array(
110
			'ß',
111
			Transliterator::DIACRITICS,
112
			'ss'
113
		);
114
115
		$provider[] = array(
116
			'Vilʹândimaa',
117
			Transliterator::DIACRITICS,
118
			'Vilʹandimaa'
119
		);
120
121
		$provider[] = array(
122
			'Ελληνική Δημοκρατία',
123
			Transliterator::GREEK,
124
			'Ellīnikī́ Dīmokratía'
125
		);
126
127
		$provider[] = array(
128
			'Ελληνική Δημοκρατία',
129
			Transliterator::DIACRITICS | Transliterator::GREEK,
130
			'Ellinikí Dimokratia'
131
		);
132
133
		$provider[] = array(
134
			'Γκ γκ γξ Ει ει Ηυ Μπ μπ',
135
			Transliterator::GREEK,
136
			'Gk gk gx Ei ei Īy Mp mp'
137
		);
138
139
		$provider[] = array(
140
			'Μετατροπή του ελληνικού αλφαβήτου με λατινικούς χαρακτήρες',
141
			Transliterator::GREEK,
142
			'Metatropī́ tou ellīnikoú alfavī́tou me latinikoús charaktī́res',
143
		);
144
145
		$provider[] = array(
146
			'Ελληνικός Οργανισμός Τυποποίησης',
147
			Transliterator::GREEK,
148
			'Ellīnikós Organismós Typopoíīsīs',
149
		);
150
151
		return $provider;
152
	}
153
154
}
155