Changeset View
Changeset View
Standalone View
Standalone View
src/utils/__tests__/PhutilProseDiffTestCase.php
Show First 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | public function testProseDiffsDistance() { | ||||
$this->assertProseParts( | $this->assertProseParts( | ||||
'aaa aaa aaa aaa, bbb bbb bbb bbb.', | 'aaa aaa aaa aaa, bbb bbb bbb bbb.', | ||||
"aaa aaa aaa aaa, bbb bbb bbb bbb.\n\n- ccc ccc ccc", | "aaa aaa aaa aaa, bbb bbb bbb bbb.\n\n- ccc ccc ccc", | ||||
array( | array( | ||||
'= aaa aaa aaa aaa, bbb bbb bbb bbb.', | '= aaa aaa aaa aaa, bbb bbb bbb bbb.', | ||||
"+ \n\n- ccc ccc ccc", | "+ \n\n- ccc ccc ccc", | ||||
), | ), | ||||
pht('Diff with new trailing content.')); | pht('Diff with new trailing content.')); | ||||
$this->assertProseParts( | |||||
'aaa aaa aaa aaa, bbb bbb bbb bbb.', | |||||
'aaa aaa aaa aaa bbb bbb bbb bbb.', | |||||
array( | |||||
'= aaa aaa aaa aaa', | |||||
'- ,', | |||||
'= bbb bbb bbb bbb.', | |||||
), | |||||
pht('Diff with a removed comma.')); | |||||
$this->assertProseParts( | |||||
'aaa aaa aaa aaa, bbb bbb bbb bbb.', | |||||
"aaa aaa aaa aaa bbb bbb bbb bbb.\n\n- ccc ccc ccc!", | |||||
array( | |||||
'= aaa aaa aaa aaa', | |||||
'- ,', | |||||
'= bbb bbb bbb bbb.', | |||||
"+ \n\n- ccc ccc ccc!", | |||||
), | |||||
pht('Diff with a removed comma and new trailing content.')); | |||||
} | } | ||||
private function assertProseParts($old, $new, array $expect_parts, $label) { | private function assertProseParts($old, $new, array $expect_parts, $label) { | ||||
$engine = new PhutilProseDifferenceEngine(); | $engine = new PhutilProseDifferenceEngine(); | ||||
$diff = $engine->getDiff($old, $new); | $diff = $engine->getDiff($old, $new); | ||||
$parts = $diff->getParts(); | $parts = $diff->getParts(); | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |