本文整理匯總了PHP中Diff::cleanupEfficiency方法的典型用法代碼示例。如果您正苦於以下問題:PHP Diff::cleanupEfficiency方法的具體用法?PHP Diff::cleanupEfficiency怎麽用?PHP Diff::cleanupEfficiency使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Diff
的用法示例。
在下文中一共展示了Diff::cleanupEfficiency方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testCleanupEfficiency
public function testCleanupEfficiency()
{
// Cleanup operationally trivial equalities.
$this->d->setEditCost(4);
// Null case.
$this->d->setChanges(array());
$this->d->cleanupEfficiency();
$this->assertEquals(array(), $this->d->getChanges());
// No elimination.
$this->d->setChanges(array(array(Diff::DELETE, "ab"), array(Diff::INSERT, "12"), array(Diff::EQUAL, "wxyz"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "34")));
$this->d->cleanupEfficiency();
$this->assertEquals(array(array(Diff::DELETE, "ab"), array(Diff::INSERT, "12"), array(Diff::EQUAL, "wxyz"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "34")), $this->d->getChanges());
// Four-edit elimination.
$this->d->setChanges(array(array(Diff::DELETE, "ab"), array(Diff::INSERT, "12"), array(Diff::EQUAL, "xyz"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "34")));
$this->d->cleanupEfficiency();
$this->assertEquals(array(array(Diff::DELETE, "abxyzcd"), array(Diff::INSERT, "12xyz34")), $this->d->getChanges());
// Three-edit elimination.
$this->d->setChanges(array(array(Diff::INSERT, "12"), array(Diff::EQUAL, "x"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "34")));
$this->d->cleanupEfficiency();
$this->assertEquals(array(array(Diff::DELETE, "xcd"), array(Diff::INSERT, "12x34")), $this->d->getChanges());
// Backpass elimination.
$this->d->setChanges(array(array(Diff::DELETE, "ab"), array(Diff::INSERT, "12"), array(Diff::EQUAL, "xy"), array(Diff::INSERT, "34"), array(Diff::EQUAL, "z"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "56")));
$this->d->cleanupEfficiency();
$this->assertEquals(array(array(Diff::DELETE, "abxyzcd"), array(Diff::INSERT, "12xy34z56")), $this->d->getChanges());
// High cost elimination.
$this->d->setEditCost(5);
$this->d->setChanges(array(array(Diff::DELETE, "ab"), array(Diff::INSERT, "12"), array(Diff::EQUAL, "wxyz"), array(Diff::DELETE, "cd"), array(Diff::INSERT, "34")));
$this->d->cleanupEfficiency();
$this->assertEquals(array(array(Diff::DELETE, "abwxyzcd"), array(Diff::INSERT, "12wxyz34")), $this->d->getChanges());
$this->d->setEditCost(4);
}
示例2: diff_cleanupEfficiency
/**
* Reduce the number of edits by eliminating operationally trivial equalities.
* Modifies $diffs.
*
* @param array $diffs Array of diff arrays.
*/
public function diff_cleanupEfficiency(&$diffs)
{
$this->diff->setChanges($diffs);
$this->diff->cleanupEfficiency();
$diffs = $this->diff->getChanges();
}