annotate vendor/sebastian/diff/README.md @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 7a779792577d
children
rev   line source
Chris@12 1 # sebastian/diff
Chris@0 2
Chris@0 3 Diff implementation for PHP, factored out of PHPUnit into a stand-alone component.
Chris@0 4
Chris@0 5 ## Installation
Chris@0 6
Chris@12 7 You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):
Chris@0 8
Chris@12 9 composer require sebastian/diff
Chris@12 10
Chris@12 11 If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
Chris@12 12
Chris@12 13 composer require --dev sebastian/diff
Chris@0 14
Chris@0 15 ### Usage
Chris@0 16
Chris@0 17 The `Differ` class can be used to generate a textual representation of the difference between two strings:
Chris@0 18
Chris@0 19 ```php
Chris@0 20 use SebastianBergmann\Diff\Differ;
Chris@0 21
Chris@0 22 $differ = new Differ;
Chris@0 23 print $differ->diff('foo', 'bar');
Chris@0 24 ```
Chris@0 25
Chris@0 26 The code above yields the output below:
Chris@0 27
Chris@0 28 --- Original
Chris@0 29 +++ New
Chris@0 30 @@ @@
Chris@0 31 -foo
Chris@0 32 +bar
Chris@0 33
Chris@0 34 The `Parser` class can be used to parse a unified diff into an object graph:
Chris@0 35
Chris@0 36 ```php
Chris@0 37 use SebastianBergmann\Diff\Parser;
Chris@0 38 use SebastianBergmann\Git;
Chris@0 39
Chris@0 40 $git = new Git('/usr/local/src/money');
Chris@0 41
Chris@0 42 $diff = $git->getDiff(
Chris@0 43 '948a1a07768d8edd10dcefa8315c1cbeffb31833',
Chris@0 44 'c07a373d2399f3e686234c4f7f088d635eb9641b'
Chris@0 45 );
Chris@0 46
Chris@0 47 $parser = new Parser;
Chris@0 48
Chris@0 49 print_r($parser->parse($diff));
Chris@0 50 ```
Chris@0 51
Chris@0 52 The code above yields the output below:
Chris@0 53
Chris@0 54 Array
Chris@0 55 (
Chris@0 56 [0] => SebastianBergmann\Diff\Diff Object
Chris@0 57 (
Chris@0 58 [from:SebastianBergmann\Diff\Diff:private] => a/tests/MoneyTest.php
Chris@0 59 [to:SebastianBergmann\Diff\Diff:private] => b/tests/MoneyTest.php
Chris@0 60 [chunks:SebastianBergmann\Diff\Diff:private] => Array
Chris@0 61 (
Chris@0 62 [0] => SebastianBergmann\Diff\Chunk Object
Chris@0 63 (
Chris@0 64 [start:SebastianBergmann\Diff\Chunk:private] => 87
Chris@0 65 [startRange:SebastianBergmann\Diff\Chunk:private] => 7
Chris@0 66 [end:SebastianBergmann\Diff\Chunk:private] => 87
Chris@0 67 [endRange:SebastianBergmann\Diff\Chunk:private] => 7
Chris@0 68 [lines:SebastianBergmann\Diff\Chunk:private] => Array
Chris@0 69 (
Chris@0 70 [0] => SebastianBergmann\Diff\Line Object
Chris@0 71 (
Chris@0 72 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 73 [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::add
Chris@0 74 )
Chris@0 75
Chris@0 76 [1] => SebastianBergmann\Diff\Line Object
Chris@0 77 (
Chris@0 78 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 79 [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::newMoney
Chris@0 80 )
Chris@0 81
Chris@0 82 [2] => SebastianBergmann\Diff\Line Object
Chris@0 83 (
Chris@0 84 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 85 [content:SebastianBergmann\Diff\Line:private] => */
Chris@0 86 )
Chris@0 87
Chris@0 88 [3] => SebastianBergmann\Diff\Line Object
Chris@0 89 (
Chris@0 90 [type:SebastianBergmann\Diff\Line:private] => 2
Chris@0 91 [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyWithSameCurrencyObjectCanBeAdded()
Chris@0 92 )
Chris@0 93
Chris@0 94 [4] => SebastianBergmann\Diff\Line Object
Chris@0 95 (
Chris@0 96 [type:SebastianBergmann\Diff\Line:private] => 1
Chris@0 97 [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyObjectWithSameCurrencyCanBeAdded()
Chris@0 98 )
Chris@0 99
Chris@0 100 [5] => SebastianBergmann\Diff\Line Object
Chris@0 101 (
Chris@0 102 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 103 [content:SebastianBergmann\Diff\Line:private] => {
Chris@0 104 )
Chris@0 105
Chris@0 106 [6] => SebastianBergmann\Diff\Line Object
Chris@0 107 (
Chris@0 108 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 109 [content:SebastianBergmann\Diff\Line:private] => $a = new Money(1, new Currency('EUR'));
Chris@0 110 )
Chris@0 111
Chris@0 112 [7] => SebastianBergmann\Diff\Line Object
Chris@0 113 (
Chris@0 114 [type:SebastianBergmann\Diff\Line:private] => 3
Chris@0 115 [content:SebastianBergmann\Diff\Line:private] => $b = new Money(2, new Currency('EUR'));
Chris@0 116 )
Chris@0 117
Chris@0 118 )
Chris@0 119
Chris@0 120 )
Chris@0 121
Chris@0 122 )
Chris@0 123
Chris@0 124 )
Chris@0 125
Chris@0 126 )