当前位置: 首页>>代码示例>>PHP>>正文


PHP Diff::text2方法代码示例

本文整理汇总了PHP中Diff::text2方法的典型用法代码示例。如果您正苦于以下问题:PHP Diff::text2方法的具体用法?PHP Diff::text2怎么用?PHP Diff::text2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Diff的用法示例。


在下文中一共展示了Diff::text2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testDelta

 public function testDelta()
 {
     // Convert a diff into delta string.
     $this->d->setChanges(array(array(Diff::EQUAL, "jump"), array(Diff::DELETE, "s"), array(Diff::INSERT, "ed"), array(Diff::EQUAL, " over "), array(Diff::DELETE, "the"), array(Diff::INSERT, "a"), array(Diff::EQUAL, " lazy"), array(Diff::INSERT, "old dog")));
     $text1 = $this->d->text1();
     $this->assertEquals("jumps over the lazy", $text1);
     $delta = $this->d->toDelta();
     $this->assertEquals("=4\t-1\t+ed\t=6\t-3\t+a\t=5\t+old dog", $delta);
     // Convert delta string into a diff.
     $this->assertEquals($this->d->getChanges(), $this->d->fromDelta($text1, $delta)->getChanges());
     // Generates error (19 != 20).
     try {
         $this->d->fromDelta($text1 . 'x', $delta);
         $this->fail();
     } catch (\InvalidArgumentException $e) {
     }
     // Generates error (19 != 18).
     try {
         $this->d->fromDelta(mb_substr($text1, 1), $delta);
         $this->fail();
     } catch (\InvalidArgumentException $e) {
     }
     // Test deltas with special characters.
     $this->d->setChanges(array(array(Diff::EQUAL, Utils::unicodeChr(0x680) . "  \t %"), array(Diff::DELETE, Utils::unicodeChr(0x681) . "  \n ^"), array(Diff::INSERT, Utils::unicodeChr(0x682) . "  \\ |")));
     $text1 = $this->d->text1();
     $this->assertEquals(Utils::unicodeChr(0x680) . "  \t %" . Utils::unicodeChr(0x681) . "  \n ^", $text1);
     $delta = $this->d->toDelta();
     $this->assertEquals("=7\t-7\t+%DA%82 %02 %5C %7C", $delta);
     // Convert delta string into a diff.
     $this->assertEquals($this->d->getChanges(), $this->d->fromDelta($text1, $delta)->getChanges());
     // Verify pool of unchanged characters.
     $this->d->setChanges(array(array(Diff::INSERT, "A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; / ? : @ & = + \$ , # ")));
     $text2 = $this->d->text2();
     $this->assertEquals("A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; / ? : @ & = + \$ , # ", $text2);
     $delta = $this->d->toDelta();
     $this->assertEquals("+A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; / ? : @ & = + \$ , # ", $delta);
     // Convert delta string into a diff.
     $this->assertEquals($this->d->getChanges(), $this->d->fromDelta("", $delta)->getChanges());
 }
开发者ID:yetanotherape,项目名称:diff-match-patch,代码行数:39,代码来源:DiffTest.php


注:本文中的Diff::text2方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。