Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/differential/parser/__tests__/DifferentialChangesetParserTestCase.php
12262 views
1
<?php
2
3
final class DifferentialChangesetParserTestCase extends PhabricatorTestCase {
4
5
public function testDiffChangesets() {
6
$hunk = new DifferentialHunk();
7
$hunk->setChanges("+a\n b\n-c\n");
8
$hunk->setNewOffset(1);
9
$hunk->setNewLen(2);
10
$left = new DifferentialChangeset();
11
$left->attachHunks(array($hunk));
12
13
$tests = array(
14
"+a\n b\n-c\n" => array(array(), array()),
15
"+a\n x\n-c\n" => array(array(), array()),
16
"+aa\n b\n-c\n" => array(array(1), array(11)),
17
" b\n-c\n" => array(array(1), array()),
18
"+a\n b\n c\n" => array(array(), array(13)),
19
"+a\n x\n c\n" => array(array(), array(13)),
20
);
21
22
foreach ($tests as $changes => $expected) {
23
$hunk = new DifferentialHunk();
24
$hunk->setChanges($changes);
25
$hunk->setNewOffset(11);
26
$hunk->setNewLen(3);
27
$right = new DifferentialChangeset();
28
$right->attachHunks(array($hunk));
29
30
$parser = new DifferentialChangesetParser();
31
$parser->setOriginals($left, $right);
32
$this->assertEqual($expected, $parser->diffOriginals(), $changes);
33
}
34
}
35
36
}
37
38