[!!!][TASK] Extract testing framework for TYPO3
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Tests / Unit / RegistryTest.php
1 <?php
2 namespace TYPO3\CMS\Core\Tests\Unit;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 use TYPO3\CMS\Core\Registry;
18
19 /**
20 * Test case
21 */
22 class RegistryTest extends \TYPO3\CMS\Components\TestingFramework\Core\UnitTestCase
23 {
24 /**
25 * @test
26 */
27 public function getThrowsExceptionForInvalidNamespacesUsingNoNamespace()
28 {
29 $this->expectException(\InvalidArgumentException::class);
30 $this->expectExceptionCode(1249755131);
31 (new Registry())->get('', 'someKey');
32 }
33
34 /**
35 * @test
36 */
37 public function getThrowsExceptionForInvalidNamespacesUsingTooShortNamespace()
38 {
39 $this->expectException(\InvalidArgumentException::class);
40 $this->expectExceptionCode(1249755131);
41 (new Registry())->get('t', 'someKey');
42 }
43
44 /**
45 * @test
46 */
47 public function setThrowsAnExceptionOnEmptyNamespace()
48 {
49 $this->expectException(\InvalidArgumentException::class);
50 $this->expectExceptionCode(1249755131);
51 (new Registry())->set('', 'someKey', 'someValue');
52 }
53
54 /**
55 * @test
56 */
57 public function setThrowsAnExceptionOnWrongNamespace()
58 {
59 $this->expectException(\InvalidArgumentException::class);
60 $this->expectExceptionCode(1249755131);
61 (new Registry())->set('t', 'someKey', 'someValue');
62 }
63
64 /**
65 * @test
66 */
67 public function removeThrowsAnExceptionOnWrongNamespace()
68 {
69 $this->expectException(\InvalidArgumentException::class);
70 $this->expectExceptionCode(1249755131);
71 (new Registry())->remove('t', 'someKey');
72 }
73
74 /**
75 * @test
76 */
77 public function removeAllByNamespaceThrowsAnExceptionOnWrongNamespace()
78 {
79 $this->expectException(\InvalidArgumentException::class);
80 $this->expectExceptionCode(1249755131);
81 (new Registry())->removeAllByNamespace('');
82 }
83 }