summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/LocalisationUpdate/tests/phpunit/reader/JSONReaderTest.php
blob: 11f0a03b285921d37eb624533c1af3d20ee1e554 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
/**
 * @file
 * @author Niklas Laxström
 * @license GPL-2.0-or-later
 */

namespace LocalisationUpdate;

/**
 * @covers \LocalisationUpdate\JSONReader
 */
class JSONReaderTest extends \PHPUnit\Framework\TestCase {
	/**
	 * @dataProvider parseProvider
	 */
	public function testParse( $input, $expected, $comment ) {
		$reader = new JSONReader( 'xx' );
		$observed = $reader->parse( $input );
		$this->assertEquals( $expected, $observed['xx'], $comment );
	}

	public function parseProvider() {
		return [
			[
				'{}',
				[],
				'empty file',
			],
			[
				'{"key":"value"}',
				[ 'key' => 'value' ],
				'file with one string',
			],
			[
				'{"@metadata":{"authors":["Nike"]},"key":"value2"}',
				[ 'key' => 'value2' ],
				'@metadata is ignored',
			]
		];
	}
}