本文整理汇总了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();
}