17 'core' =>
'/IP/languages/i18n',
18 'Babel' =>
'/IP/extensions/Babel/i18n',
20 'core' =>
'/IP/extensions/Door/i18n/core',
21 'extra' =>
'/IP/extensions/Door/i18n/extra',
23 'Vector' =>
'/IP/skins/Vector/i18n',
27 $observed = $finder->getComponents();
30 'repo' =>
'mediawiki',
31 'orig' =>
"file:///IP/languages/i18n/*.json",
32 'path' =>
'languages/i18n/*.json',
34 $this->assertArrayHasKey(
'core-0', $observed );
35 $this->assertEquals( $expected, $observed[
'core-0'],
'Core JSON file' );
38 'repo' =>
'extension',
40 'orig' =>
'file:///IP/extensions/Babel/i18n/*.json',
41 'path' =>
'i18n/*.json'
43 $this->assertArrayHasKey(
'Babel-0', $observed );
44 $this->assertEquals( $expected, $observed[
'Babel-0'],
'JSON extension' );
47 'repo' =>
'extension',
49 'orig' =>
'file:///IP/extensions/Door/i18n/core/*.json',
50 'path' =>
'i18n/core/*.json'
52 $this->assertArrayHasKey(
'Door-core', $observed );
53 $this->assertEquals( $expected, $observed[
'Door-core'],
'Multidir json extension' );
56 'repo' =>
'extension',
58 'orig' =>
'file:///IP/extensions/Door/i18n/extra/*.json',
59 'path' =>
'i18n/extra/*.json'
61 $this->assertArrayHasKey(
'Door-extra', $observed );
62 $this->assertEquals( $expected, $observed[
'Door-extra'],
'Multidir json extension' );
67 'orig' =>
'file:///IP/skins/Vector/i18n/*.json',
68 'path' =>
'i18n/*.json'
70 $this->assertArrayHasKey(
'Vector-0', $observed );
71 $this->assertEquals( $expected, $observed[
'Vector-0'],
'Json skin' );