Skip to content

Commit 1f77317

Browse files
committed
Add more tests
1 parent 609c934 commit 1f77317

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

tests/Diff/Renderer/Html/MergedTest.php

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,58 @@ public function testMergedRendererReplaceCase()
2121
$this->assertStringContainsString('<del', $output);
2222
$this->assertStringContainsString('<ins', $output);
2323
}
24+
25+
public function testInsertCase()
26+
{
27+
$a = "line1\nline2";
28+
$b = "line1\nline2\nline3";
29+
30+
$diff = new Diff($a, $b);
31+
$output = $diff->render(new Merged());
32+
33+
$this->assertStringContainsString('<ins', $output);
34+
$this->assertStringContainsString('line3', $output);
35+
}
36+
37+
public function testDeleteCase()
38+
{
39+
$a = "line1\nline2\nline3";
40+
$b = "line1\nline3";
41+
42+
$diff = new Diff($a, $b);
43+
$output = $diff->render(new Merged());
44+
45+
$this->assertStringContainsString('ChangeDelete', $output);
46+
$this->assertStringContainsString('line2', $output);
47+
}
48+
49+
public function testMixedChanges()
50+
{
51+
$a = "alpha\nbeta\ngamma\ndelta";
52+
$b = "alpha\nBETA\ngamma\nnew-delta";
53+
54+
$diff = new Diff($a, $b);
55+
$output = $diff->render(new Merged());
56+
57+
$this->assertStringContainsString('<del>beta</del>', $output);
58+
$this->assertStringContainsString('<ins>BETA</ins>', $output);
59+
$this->assertStringContainsString('<ins>new-</ins>', $output);
60+
$this->assertStringContainsString('delta', $output);
61+
}
62+
63+
64+
public function testReplaceCaseTriggersMergedBlock()
65+
{
66+
$a = "line1\nsame\nline3";
67+
$b = "line1\nchanged\nline3";
68+
69+
$diff = new Diff($a, $b);
70+
$output = $diff->render(new Merged());
71+
72+
// Hier sollte der Block ab Zeile 250 greifen:
73+
$this->assertStringContainsString('<del', $output);
74+
$this->assertStringContainsString('<ins', $output);
75+
$this->assertStringContainsString('same', $output);
76+
$this->assertStringContainsString('changed', $output);
77+
}
2478
}

0 commit comments

Comments
 (0)