PrependingWriterTest::testWriteMiddleNewLine()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 19
rs 9.4285
cc 1
eloc 10
nc 1
nop 0
1
<?php
2
3
namespace TextFile\Tests\Writer;
4
5
use TextFile\Tests\TextFileTestCase;
6
use TextFile\Writer\PrependingWriter;
7
8
/**
9
 * Class PrependingWriterTest
10
 *
11
 * @package TextFile\Tests\Writer
12
 */
13
class PrependingWriterTest extends TextFileTestCase
14
{
15
    /**
16
     * @covers TextFile\Writer\PrependingWriter::write
17
     */
18
    public function testWriteBeginning()
19
    {
20
        $prependingWriter = new PrependingWriter();
21
22
        $filePath = $this->createTestFileFromFixtures('complex_singleline_file.txt');
23
        $file     = new \SplFileObject($filePath, 'r+');
24
25
        $prependingWriter->write($file, 'test');
26
27
        $file->rewind();
28
29
        $this->assertEquals('testfirstsecondthirdfourthfifth', trim($file->current()));
30
    }
31
32
    /**
33
     * @covers TextFile\Writer\PrependingWriter::write
34
     */
35
    public function testWriteMiddle()
36
    {
37
        $prependingWriter = new PrependingWriter();
38
39
        $filePath = $this->createTestFileFromFixtures('complex_singleline_file.txt');
40
        $file     = new \SplFileObject($filePath, 'r+');
41
42
        $file->fseek(5);
43
44
        $prependingWriter->write($file, 'test');
45
46
        $file->rewind();
47
48
        $this->assertEquals('firsttestsecondthirdfourthfifth', trim($file->current()));
49
    }
50
51
    /**
52
     * @covers TextFile\Writer\PrependingWriter::write
53
     */
54
    public function testWriteEnd()
55
    {
56
        $prependingWriter = new PrependingWriter();
57
58
        $filePath = $this->createTestFileFromFixtures('complex_singleline_file.txt');
59
        $file     = new \SplFileObject($filePath, 'r+');
60
61
        $file->fseek(27);
62
63
        $prependingWriter->write($file, 'test');
64
65
        $file->rewind();
66
67
        $this->assertEquals('firstsecondthirdfourthfifthtest', trim($file->current()));
68
    }
69
70
    /**
71
     * @covers TextFile\Writer\ErasingWriter::write
72
     */
73
    public function testWriteMiddleNewLine()
74
    {
75
        $prependingWriter = new PrependingWriter();
76
77
        $filePath = $this->createTestFileFromFixtures('complex_singleline_file.txt');
78
        $file     = new \SplFileObject($filePath, 'r+');
79
80
        $file->fseek(5);
81
82
        $prependingWriter->write($file, 'test', true);
83
84
        $file->rewind();
85
86
        $this->assertEquals('firsttest', trim($file->current()));
87
88
        $file->next();
89
90
        $this->assertEquals('secondthirdfourthfifth', trim($file->current()));
91
    }
92
93
    /**
94
     * @covers TextFile\Writer\PrependingWriter::write
95
     */
96
    public function testWriteBeginningNewLine()
97
    {
98
        $prependingWriter = new PrependingWriter();
99
100
        $filePath = $this->createTestFileFromFixtures('complex_singleline_file.txt');
101
        $file     = new \SplFileObject($filePath, 'r+');
102
103
        $prependingWriter->write($file, 'test', true);
104
105
        $file->rewind();
106
107
        $this->assertEquals('test', trim($file->current()));
108
109
        $file->next();
110
111
        $this->assertEquals('firstsecondthirdfourthfifth', trim($file->current()));
112
    }
113
}
114