4
4
5
5
class RendererTest extends \PHPUnit_Framework_TestCase
6
6
{
7
- public function testRender ()
7
+ public function renderChangeDataProvider ()
8
8
{
9
- $ expectedDiff = implode (PHP_EOL , [
10
- 'line1 ' ,
11
- '<del>line2</del> ' ,
12
- '<ins>line2changed</ins> ' ,
13
- 'line3 '
14
- ]);
15
-
16
- $ diffRenderer = new Renderer ();
17
- $ actualDiff = $ diffRenderer ->render (
18
- implode (PHP_EOL , ['line1 ' , 'line2 ' , 'line3 ' ]),
19
- implode (PHP_EOL , ['line1 ' , 'line2changed ' , 'line3 ' ])
20
- );
21
-
22
- $ this ->assertEquals ($ expectedDiff , $ actualDiff );
23
- }
24
-
25
- public function testRender_CustomFullySpecifiedFormat ()
26
- {
27
- $ expectedDiff = implode (PHP_EOL , [
28
- 'line1 ' ,
29
- '<del style="background: #ffe7e7;">line2</del> ' ,
30
- '<ins style="background: #ddfade;">line2changed</ins> ' ,
31
- 'line3 '
32
- ]);
33
-
34
- $ diffRenderer = new Renderer ([
35
- 'format ' => [
36
- 'insert ' => [
37
- 'tag ' => 'ins ' ,
38
- 'attributes ' => 'style="background: #ddfade;" ' ,
9
+ return [
10
+ 'DefaultFormat ' => [
11
+ [
12
+ 'line1 ' ,
13
+ '<del>line2</del> ' ,
14
+ '<ins>line2changed</ins> ' ,
15
+ 'line3 '
39
16
],
40
- 'delete ' => [
41
- 'tag ' => 'del ' ,
42
- 'attributes ' => 'style="background: #ffe7e7;" ' ,
17
+ ['line1 ' , 'line2 ' , 'line3 ' ],
18
+ ['line1 ' , 'line2changed ' , 'line3 ' ],
19
+ [],
20
+ ],
21
+ 'CustomFullySpecifiedFormat ' => [
22
+ [
23
+ 'line1 ' ,
24
+ '<del style="background: #ffe7e7;">line2</del> ' ,
25
+ '<ins style="background: #ddfade;">line2changed</ins> ' ,
26
+ 'line3 '
27
+ ],
28
+ ['line1 ' , 'line2 ' , 'line3 ' ],
29
+ ['line1 ' , 'line2changed ' , 'line3 ' ],
30
+ [
31
+ 'format ' => [
32
+ 'insert ' => [
33
+ 'tag ' => 'ins ' ,
34
+ 'attributes ' => 'style="background: #ddfade;" ' ,
35
+ ],
36
+ 'delete ' => [
37
+ 'tag ' => 'del ' ,
38
+ 'attributes ' => 'style="background: #ffe7e7;" ' ,
39
+ ]
40
+ ]
43
41
]
44
- ]
45
- ]);
46
-
47
- $ actualDiff = $ diffRenderer ->render (
48
- implode (PHP_EOL , ['line1 ' , 'line2 ' , 'line3 ' ]),
49
- implode (PHP_EOL , ['line1 ' , 'line2changed ' , 'line3 ' ])
50
- );
51
-
52
- $ this ->assertEquals ($ expectedDiff , $ actualDiff );
53
- }
54
-
55
- public function testRender_CustomPartlySpecifiedFormat ()
56
- {
57
- $ expectedDiff = implode (PHP_EOL , [
58
- 'line1 ' ,
59
- '<del>line2</del> ' ,
60
- '<ins class="insert">line2changed</ins> ' ,
61
- 'line3 '
62
- ]);
63
-
64
- $ diffRenderer = new Renderer ([
65
- 'format ' => [
66
- 'insert ' => [
67
- 'attributes ' => 'class="insert" ' ,
42
+ ],
43
+ 'CustomPartlySpecifiedFormat ' => [
44
+ [
45
+ 'line1 ' ,
46
+ '<del>line2</del> ' ,
47
+ '<ins class="insert">line2changed</ins> ' ,
48
+ 'line3 '
68
49
],
69
- ]
70
- ]);
71
-
72
- $ actualDiff = $ diffRenderer ->render (
73
- implode (PHP_EOL , ['line1 ' , 'line2 ' , 'line3 ' ]),
74
- implode (PHP_EOL , ['line1 ' , 'line2changed ' , 'line3 ' ])
75
- );
76
-
77
- $ this ->assertEquals ($ expectedDiff , $ actualDiff );
50
+ ['line1 ' , 'line2 ' , 'line3 ' ],
51
+ ['line1 ' , 'line2changed ' , 'line3 ' ],
52
+ [
53
+ 'format ' => [
54
+ 'insert ' => [
55
+ 'attributes ' => 'class="insert" ' ,
56
+ ],
57
+ ]
58
+ ],
59
+ ],
60
+ 'CustomNumericFormat ' => [
61
+ [
62
+ 'line1 ' ,
63
+ '<del style="background: #ffe7e7;">line2</del> ' ,
64
+ '<ins style="background: #ddfade;">line2changed</ins> ' ,
65
+ 'line3 '
66
+ ],
67
+ ['line1 ' , 'line2 ' , 'line3 ' ],
68
+ ['line1 ' , 'line2changed ' , 'line3 ' ],
69
+ [
70
+ 'format ' => Renderer::FORMAT_COLOUR
71
+ ]
72
+ ],
73
+ ];
78
74
}
79
75
80
- public function testRender_CustomNumericFormat ()
81
- {
82
- $ expectedDiff = implode (PHP_EOL , [
83
- 'line1 ' ,
84
- '<del style="background: #ffe7e7;">line2</del> ' ,
85
- '<ins style="background: #ddfade;">line2changed</ins> ' ,
86
- 'line3 '
87
- ]);
88
-
89
- $ diffRenderer = new Renderer ([
90
- 'format ' => Renderer::FORMAT_COLOUR
91
- ]);
92
-
93
- $ actualDiff = $ diffRenderer ->render (
94
- implode (PHP_EOL , ['line1 ' , 'line2 ' , 'line3 ' ]),
95
- implode (PHP_EOL , ['line1 ' , 'line2changed ' , 'line3 ' ])
96
- );
76
+ /**
77
+ * @dataProvider renderChangeDataProvider
78
+ * @param $expectedDiff
79
+ * @param $oldValue
80
+ * @param $newValue
81
+ * @param array|null $renderOptions
82
+ */
83
+ public function testRender_ChanageValueStringType (
84
+ $ expectedDiff ,
85
+ $ oldValue ,
86
+ $ newValue ,
87
+ array $ renderOptions = null
88
+ ) {
89
+ $ expectedDiff = implode (PHP_EOL , $ expectedDiff );
90
+
91
+ $ diffRenderer = new Renderer ($ renderOptions );
92
+ $ actualDiff = $ diffRenderer ->render (new Change (
93
+ implode (PHP_EOL , $ oldValue ),
94
+ implode (PHP_EOL , $ newValue )
95
+ ));
97
96
98
97
$ this ->assertEquals ($ expectedDiff , $ actualDiff );
99
98
}
99
+
100
100
}
0 commit comments