Completed
Push — master ( 03a881...28de70 )
by Damian
09:16
created

testRemoveClassContentSillyMethod()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Core\Tests\Manifest;
4
5
use SilverStripe\Core\Manifest\ClassContentRemover;
6
use SilverStripe\Dev\SapphireTest;
7
8
class ClassContentRemoverTest extends SapphireTest
9
{
10
    public function testRemoveClassContent()
11
    {
12
        $filePath = dirname(__FILE__) . '/fixtures/classcontentremover/ContentRemoverTestA.php';
13
        $cleanContents = ClassContentRemover::remove_class_content($filePath);
14
15
        $expected = '<?php
16
 namespace TestNamespace\\Testing; use TestNamespace\\{Test1, Test2, Test3}; class MyTest extends Test1 implements Test2 {}';
17
18
        $this->assertEquals($expected, $cleanContents);
19
    }
20
21
    public function testRemoveClassContentConditional()
22
    {
23
        $filePath = dirname(__FILE__) . '/fixtures/classcontentremover/ContentRemoverTestB.php';
24
        $cleanContents = ClassContentRemover::remove_class_content($filePath);
25
26
        $expected = '<?php
27
 namespace TestNamespace\\Testing; use TestNamespace\\{Test1, Test2, Test3}; if (class_exists(\'Class\')) { class MyTest extends Test1 implements Test2 {} class MyTest2 {} }';
28
29
        $this->assertEquals($expected, $cleanContents);
30
    }
31
32
    public function testRemoveClassContentNoClass()
33
    {
34
        $filePath = dirname(__FILE__) . '/fixtures/classcontentremover/ContentRemoverTestC.php';
35
36
        $cleanContents = ClassContentRemover::remove_class_content($filePath);
37
38
        $this->assertEmpty($cleanContents);
39
    }
40
41
    public function testRemoveClassContentSillyMethod()
42
    {
43
        $filePath = dirname(__FILE__) . '/fixtures/classcontentremover/ContentRemoverTestD.php';
44
45
        $cleanContents = ClassContentRemover::remove_class_content($filePath);
46
47
        $expected = '<?php
48
 class SomeClass {} class AnotherClass {}';
49
50
        $this->assertEquals($expected, $cleanContents);
51
    }
52
}
53