[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 require_once DOKU_INC.'inc/DifferenceEngine.php'; 4 5 /** 6 * Class difference_engine_test 7 */ 8 class difference_engine_test extends DokuWikiTest { 9 public $x = "zzz\n\naaa\n\nbbb\n\nccc\n\nddd\n\nddd\n\nddd\n\neee\n\nfff"; 10 public $y = "ddd\n\naaa\n\nbbb\n\nbbb\n\nccc\n\nccc\n\neee"; 11 12 function test_render_table(){ 13 $diff = new Diff(explode("\n", $this->x), explode("\n", $this->y)); 14 $diffformatter = new TableDiffFormatter(); 15 $actual = $diffformatter->format($diff); 16 $expected = '<tr><td class="diff-blockheader" colspan="2">Line 1:</td> 17 <td class="diff-blockheader" colspan="2">Line 1:</td> 18 </tr> 19 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark">zzz</strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"><strong class="diff-mark">ddd</strong></td></tr> 20 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 21 <tr><td class="diff-lineheader"> </td><td class="diff-context">aaa</td><td class="diff-lineheader"> </td><td class="diff-context">aaa</td></tr> 22 <tr><td colspan="2"> </td><td class="diff-lineheader">+</td><td class="diff-addedline"></td></tr> 23 <tr><td colspan="2"> </td><td class="diff-lineheader">+</td><td class="diff-addedline">bbb</td></tr> 24 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 25 <tr><td class="diff-lineheader"> </td><td class="diff-context">bbb</td><td class="diff-lineheader"> </td><td class="diff-context">bbb</td></tr> 26 <tr><td class="diff-blockheader" colspan="2">Line 7:</td> 27 <td class="diff-blockheader" colspan="2">Line 9:</td> 28 </tr> 29 <tr><td class="diff-lineheader"> </td><td class="diff-context">ccc</td><td class="diff-lineheader"> </td><td class="diff-context">ccc</td></tr> 30 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 31 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark">ddd </strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"><strong class="diff-mark">ccc</strong></td></tr> 32 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark"> </strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"></td></tr> 33 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark">ddd </strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"></td></tr> 34 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark"> </strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"></td></tr> 35 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"><strong class="diff-mark">ddd</strong></td><td class="diff-lineheader">+</td><td class="diff-addedline"></td></tr> 36 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 37 <tr><td class="diff-lineheader"> </td><td class="diff-context">eee</td><td class="diff-lineheader"> </td><td class="diff-context">eee</td></tr> 38 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline"></td><td colspan="2"> </td></tr> 39 <tr><td class="diff-lineheader">-</td><td class="diff-deletedline">fff</td><td colspan="2"> </td></tr> 40 '; 41 $this->assertEquals($expected, $actual); 42 } 43 44 function test_render_inline(){ 45 $diff = new Diff(explode("\n", $this->x), explode("\n", $this->y)); 46 $diffformatter = new InlineDiffFormatter(); 47 $actual = $diffformatter->format($diff); 48 $expected = '<tr><td colspan="2" class="diff-blockheader">@@ Line -1,5 +1,7 @@ <span class="diff-deletedline"><del>removed</del></span> <span class="diff-addedline">created</span></td></tr> 49 50 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del>zzz</del></span><span class="diff-addedline">ddd</span></td></tr> 51 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 52 <tr><td class="diff-lineheader"> </td><td class="diff-context">aaa</td></tr> 53 <tr><td class="diff-lineheader"> </td><td class="diff-addedline"></td></tr> 54 <tr><td class="diff-lineheader"> </td><td class="diff-addedline">bbb</td></tr> 55 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 56 <tr><td class="diff-lineheader"> </td><td class="diff-context">bbb</td></tr> 57 <tr><td colspan="2" class="diff-blockheader">@@ Line -7,11 +9,5 @@ <span class="diff-deletedline"><del>removed</del></span> <span class="diff-addedline">created</span></td></tr> 58 59 <tr><td class="diff-lineheader"> </td><td class="diff-context">ccc</td></tr> 60 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 61 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del>ddd </del></span></td></tr> 62 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del> </del></span></td></tr> 63 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del>ddd </del></span></td></tr> 64 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del> </del></span></td></tr> 65 <tr><td class="diff-lineheader"> </td><td><span class="diff-deletedline"><del>ddd</del></span><span class="diff-addedline">ccc</span></td></tr> 66 <tr><td class="diff-lineheader"> </td><td class="diff-context"></td></tr> 67 <tr><td class="diff-lineheader"> </td><td class="diff-context">eee</td></tr> 68 <tr><td class="diff-lineheader"> </td><td class="diff-deletedline"><del></del></td></tr> 69 <tr><td class="diff-lineheader"> </td><td class="diff-deletedline"><del>fff</del></td></tr> 70 '; 71 $this->assertEquals($expected, $actual); 72 } 73 74 function test_engine_diag(){ 75 // initialize 76 $eng = new _DiffEngine; 77 $eng->diff(explode("\n", $this->x), explode("\n", $this->y)); 78 // check 79 $this->assertEquals( 80 array(9, array(array(0,0),array(1,2),array(3,4),array(4,5),array(5,7),array(6,9),array(7,10),array(9,12),array(15,13))), 81 $eng->_diag(0, 15, 0, 13, 8) 82 ); 83 } 84 } 85 //Setup VIM: ex: et ts=4 :
title
Description
Body
title
Description
Body
title
Description
Body
title
Body