Mercurial > hg > isophonics-drupal-site
comparison core/tests/Drupal/Tests/Component/Discovery/YamlDiscoveryTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Tests\Component\Discovery; | |
4 | |
5 use Drupal\Component\Discovery\YamlDiscovery; | |
6 use Drupal\Component\FileCache\FileCacheFactory; | |
7 use org\bovigo\vfs\vfsStream; | |
8 use org\bovigo\vfs\vfsStreamWrapper; | |
9 use org\bovigo\vfs\vfsStreamDirectory; | |
10 use PHPUnit\Framework\TestCase; | |
11 | |
12 /** | |
13 * YamlDiscovery component unit tests. | |
14 * | |
15 * @group Discovery | |
16 */ | |
17 class YamlDiscoveryTest extends TestCase { | |
18 | |
19 /** | |
20 * {@inheritdoc} | |
21 */ | |
22 protected function setUp() { | |
23 // Ensure that FileCacheFactory has a prefix. | |
24 FileCacheFactory::setPrefix('prefix'); | |
25 } | |
26 | |
27 /** | |
28 * Tests the YAML file discovery. | |
29 */ | |
30 public function testDiscovery() { | |
31 vfsStreamWrapper::register(); | |
32 $root = new vfsStreamDirectory('modules'); | |
33 vfsStreamWrapper::setRoot($root); | |
34 $url = vfsStream::url('modules'); | |
35 | |
36 mkdir($url . '/test_1'); | |
37 file_put_contents($url . '/test_1/test_1.test.yml', 'name: test'); | |
38 file_put_contents($url . '/test_1/test_2.test.yml', 'name: test'); | |
39 | |
40 mkdir($url . '/test_2'); | |
41 file_put_contents($url . '/test_2/test_3.test.yml', 'name: test'); | |
42 // Write an empty YAML file. | |
43 file_put_contents($url . '/test_2/test_4.test.yml', ''); | |
44 | |
45 // Set up the directories to search. | |
46 $directories = [ | |
47 'test_1' => $url . '/test_1', | |
48 'test_2' => $url . '/test_1', | |
49 'test_3' => $url . '/test_2', | |
50 'test_4' => $url . '/test_2', | |
51 ]; | |
52 | |
53 $discovery = new YamlDiscovery('test', $directories); | |
54 $data = $discovery->findAll(); | |
55 | |
56 $this->assertEquals(count($data), count($directories)); | |
57 $this->assertArrayHasKey('test_1', $data); | |
58 $this->assertArrayHasKey('test_2', $data); | |
59 $this->assertArrayHasKey('test_3', $data); | |
60 $this->assertArrayHasKey('test_4', $data); | |
61 | |
62 foreach (['test_1', 'test_2', 'test_3'] as $key) { | |
63 $this->assertArrayHasKey('name', $data[$key]); | |
64 $this->assertEquals($data[$key]['name'], 'test'); | |
65 } | |
66 | |
67 $this->assertSame([], $data['test_4']); | |
68 } | |
69 | |
70 } |