diff-lcs 1.2.2 → 1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +0 -1
  3. data/Code-of-Conduct.md +74 -0
  4. data/Contributing.md +84 -0
  5. data/History.md +247 -0
  6. data/{License.rdoc → License.md} +0 -0
  7. data/Manifest.txt +15 -9
  8. data/README.rdoc +21 -18
  9. data/Rakefile +35 -23
  10. data/autotest/discover.rb +3 -1
  11. data/bin/htmldiff +7 -4
  12. data/bin/ldiff +4 -1
  13. data/lib/diff-lcs.rb +1 -1
  14. data/lib/diff/lcs.rb +181 -254
  15. data/lib/diff/lcs/array.rb +1 -1
  16. data/lib/diff/lcs/backports.rb +9 -0
  17. data/lib/diff/lcs/block.rb +1 -1
  18. data/lib/diff/lcs/callbacks.rb +15 -12
  19. data/lib/diff/lcs/change.rb +34 -37
  20. data/lib/diff/lcs/htmldiff.rb +17 -16
  21. data/lib/diff/lcs/hunk.rb +59 -47
  22. data/lib/diff/lcs/internals.rb +44 -40
  23. data/lib/diff/lcs/ldiff.rb +45 -65
  24. data/lib/diff/lcs/string.rb +1 -1
  25. data/spec/change_spec.rb +31 -7
  26. data/spec/diff_spec.rb +28 -18
  27. data/spec/fixtures/aX +1 -0
  28. data/spec/fixtures/bXaX +1 -0
  29. data/spec/fixtures/ds1.csv +50 -0
  30. data/spec/fixtures/ds2.csv +51 -0
  31. data/spec/fixtures/ldiff/output.diff +4 -0
  32. data/spec/fixtures/ldiff/output.diff-c +7 -0
  33. data/spec/fixtures/ldiff/output.diff-e +3 -0
  34. data/spec/fixtures/ldiff/output.diff-f +3 -0
  35. data/spec/fixtures/ldiff/output.diff-u +5 -0
  36. data/spec/hunk_spec.rb +54 -45
  37. data/spec/issues_spec.rb +50 -17
  38. data/spec/lcs_spec.rb +24 -22
  39. data/spec/ldiff_spec.rb +72 -0
  40. data/spec/patch_spec.rb +182 -180
  41. data/spec/sdiff_spec.rb +99 -87
  42. data/spec/spec_helper.rb +141 -58
  43. data/spec/traverse_balanced_spec.rb +177 -177
  44. data/spec/traverse_sequences_spec.rb +63 -63
  45. metadata +100 -169
  46. data.tar.gz.sig +0 -0
  47. data/.autotest +0 -3
  48. data/.gemtest +0 -0
  49. data/.hoerc +0 -2
  50. data/.travis.yml +0 -22
  51. data/Contributing.rdoc +0 -64
  52. data/Gemfile +0 -19
  53. data/History.rdoc +0 -117
  54. data/diff-lcs.gemspec +0 -63
  55. metadata.gz.sig +0 -4
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8d49f14f7f3242c9aa114b5352864185acb447e05775f21292907f30944a4e57
4
+ data.tar.gz: f72bf7376cb029d39e9fea818361afa99dea8c27440d483a2de04ee3b8864c6b
5
+ SHA512:
6
+ metadata.gz: 9a217015cd26e5ca24d9398f9497c119bfd7251290f20f30e8a30ba880ed1f12fdf669fe8d0a019273fbe7e8e6362de67351f799a1d3ac3c0e9ef91c078609a6
7
+ data.tar.gz: ebc14cb8fb1e0c949fcfce752da8c30c6005dbc62c62b371e6a520b7a485d16e7b36d2aa44dc7e395abca16fd3498c4aab154e2d880392d655abb613d5951185
data/.rspec CHANGED
@@ -1,2 +1 @@
1
1
  --colour
2
- --format documentation
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
@@ -0,0 +1,84 @@
1
+ ## Contributing
2
+
3
+ I value any contribution to Diff::LCS you can provide: a bug report, a feature
4
+ request, or code contributions. Code contributions to Diff::LCS are especially
5
+ <del>welcome</del>encouraged. Because Diff::LCS is a complex codebase, there
6
+ are a few guidelines:
7
+
8
+ * Code changes *will not* be accepted without tests. The test suite is
9
+ written with [RSpec][].
10
+ * Match my coding style.
11
+ * Use a thoughtfully-named topic branch that contains your change. Rebase
12
+ your commits into logical chunks as necessary.
13
+ * Use [quality commit messages][].
14
+ * Do not change the version number; when your patch is accepted and a release
15
+ is made, the version will be updated at that point.
16
+ * Submit a GitHub pull request with your changes.
17
+ * New or changed behaviours require appropriate documentation.
18
+
19
+ ### Test Dependencies
20
+
21
+ Diff::LCS uses Ryan Davis’s [Hoe][] to manage the release process, and it adds
22
+ a number of rake tasks. You will mostly be interested in:
23
+
24
+ $ rake
25
+
26
+ which runs the tests the same way that:
27
+
28
+ $ rake spec
29
+ $ rake travis
30
+
31
+ will do.
32
+
33
+ To assist with the installation of the development dependencies, I have
34
+ provided a Gemfile pointing to the (generated) `diff-lcs.gemspec` file. This
35
+ will permit you to do:
36
+
37
+ $ bundle install
38
+
39
+ to get the development dependencies. If you aleady have `hoe` installed, you
40
+ can accomplish the same thing with:
41
+
42
+ $ rake newb
43
+
44
+ This task will install any missing dependencies, run the tests/specs, and
45
+ generate the RDoc.
46
+
47
+ You can run tests with code coverage analysis by running:
48
+
49
+ $ rake spec:coverage
50
+
51
+ ### Workflow
52
+
53
+ Here's the most direct way to get your work merged into the project:
54
+
55
+ * Fork the project.
56
+ * Clone down your fork (`git clone git://github.com/<username>/diff-lcs.git`).
57
+ * Create a topic branch to contain your change (`git checkout -b
58
+ my_awesome_feature`).
59
+ * Hack away, add tests. Not necessarily in that order.
60
+ * Make sure everything still passes by running `rake`.
61
+ * If necessary, rebase your commits into logical chunks, without errors.
62
+ * Push the branch up (`git push origin my_awesome_feature`).
63
+ * Create a pull request against halostatue/diff-lcs and describe what your
64
+ change does and the why you think it should be merged.
65
+
66
+ ### Contributors
67
+
68
+ * Austin Ziegler created Diff::LCS.
69
+
70
+ Thanks to everyone else who has contributed to Diff::LCS:
71
+
72
+ * Kenichi Kamiya
73
+ * Michael Granger
74
+ * Vít Ondruch
75
+ * Jon Rowe
76
+ * Koichi Ito
77
+ * Josef Strzibny
78
+ * Josh Bronson
79
+ * Mark Friedgan
80
+ * Akinori MUSHA
81
+
82
+ [Rspec]: http://rspec.info/documentation/
83
+ [quality commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
84
+ [Hoe]: https://github.com/seattlerb/hoe
@@ -0,0 +1,247 @@
1
+ # History
2
+
3
+ ## 1.4 / 2020-06-23
4
+
5
+ - Ruby versions lower than 2.4 are soft-deprecated and will not be run as
6
+ part of the CI process any longer.
7
+ - Akinora MUSHA (knu) added the ability for Diff::LCS::Change objects to be
8
+ implicitly treated arrays. Originally provided as pull request [#47][],
9
+ but it introduced a number of test failures as documented in [#48][], and
10
+ remediation of Diff::LCS itself was introduced in [#49][].
11
+ - Resolved [#5][] with some tests comparing output from `system` calls to
12
+ `bin/ldiff` with some pre-generated output. Resolved [#6][] with these
13
+ tests.
14
+ - Resolved a previously undetected `bin/ldiff` issue with `--context` output
15
+ not matching `diff --context` output.
16
+ - Resolved an issue with later versions of Ruby not working with an `OptParse`
17
+ specification of `Numeric`; this has been changed to `Integer`.
18
+ - Brandon Fish added truffleruby in [#52][].
19
+ - Fixed two missing classes as reported in [#53][].
20
+
21
+ ## 1.3 / 2017-01-18
22
+
23
+ - Bugs fixed:
24
+
25
+ - Fixed an error for bin/ldiff --version. Fixes issue [#21][].
26
+ - Force Diff::LCS::Change and Diff::LCS::ContextChange to only perform
27
+ equality comparisons against themselves. Provided by Kevin Mook in
28
+ pull request [#29][].
29
+ - Fix tab expansion in htmldiff, provided by Mark Friedgan in
30
+ pull request [#25][].
31
+ - Silence Ruby 2.4 Fixnum deprecation warnings. Fixxues issue [#38][] and
32
+ [pull request#36][].
33
+ - Ensure that test dependencies are loaded properly. Fixes issue [#33][]
34
+ and pull request [#34][].
35
+ - Fix issue [#1][] with incorrect intuition of patch direction. Tentative
36
+ fix, but the previous failure cases pass now.
37
+
38
+ - Tooling changes:
39
+
40
+ - Added SimpleCov and Coveralls support.
41
+ - Change the homepage (temporarily) to the GitHub repo.
42
+ - Updated testing and gem infrastructure.
43
+ - Modernized the specs.
44
+
45
+ - Cleaned up documentation.
46
+
47
+ - Added a Code of Conduct.
48
+
49
+ ## 1.2.5 / 2013-11-08
50
+
51
+ - Bugs fixed:
52
+
53
+ - Comparing arrays flattened them too far, especially with
54
+ Diff::LCS.sdiff. Fixed by Josh Bronson in pull request [#23][].
55
+
56
+ ## 1.2.4 / 2013-04-20
57
+
58
+ - Bugs fixed:
59
+
60
+ - A bug was introduced after 1.1.3 when pruning common sequences at the
61
+ start of comparison. Paul Kunysch (@pck) fixed this in
62
+ pull request [#18][]. Thanks!
63
+
64
+ - The Rubinius (1.9 mode) bug in [rubinius/rubinius#2268][] has been
65
+ fixed by the Rubinius team two days after it was filed. Thanks for
66
+ fixing this so quickly!
67
+
68
+ - Switching to Raggi's hoe-gemspec2 for gemspec generation.
69
+
70
+ ## 1.2.3 / 2013-04-11
71
+
72
+ - Bugs Fixed:
73
+
74
+ - The new encoding detection for diff output generation (added in 1.2.2)
75
+ introduced a bug if the left side of the comparison was the empty set.
76
+ Originally found in [rspec/rspec-expectations#238][] and
77
+ [rspec/rspec-expectations#239][]. Jon Rowe developed a reasonable
78
+ heuristic (left side, right side, empty string literal) to avoid this
79
+ bug.
80
+ - There is a known issue with Rubinius in 1.9 mode reported in
81
+ [rubinius/rubinius#2268][] and demonstrated in the Travis CI builds.
82
+ For all other tested platforms, diff-lcs is considered stable. As soon
83
+ as a suitably small test-case can be created for the Rubinius team to
84
+ examine, this will be added to the Rubinius issue around this.
85
+
86
+ ## 1.2.2 / 2013-03-30
87
+
88
+ - Bugs Fixed:
89
+
90
+ - Diff::LCS::Hunk could not properly generate a difference for comparison
91
+ sets that are not US-ASCII-compatible because of the use of literal
92
+ regular expressions and strings. Jon Rowe found this in
93
+ [rspec/rspec-expectations#219][] and provided a first pass
94
+ implementation in pull request [#15][]. I've reworked it because of
95
+ test failures in Rubinius when running in Ruby 1.9 mode. This coerces
96
+ the added values to the encoding of the old dataset (as determined by
97
+ the first piece of the old dataset).
98
+ - Adding Travis CI testing for Ruby 2.0.
99
+
100
+ ## 1.2.1 / 2013-02-09
101
+
102
+ - Bugs Fixed:
103
+
104
+ - As seen in [rspec/rspec-expectations#200][], the release of
105
+ Diff::LCS 1.2 introduced an unnecessary public API change to
106
+ Diff::LCS::Hunk (see the change at
107
+ [rspec/rspec-expectations@3d6fc82c][] for details). The new method name
108
+ (and behaviour) is more correct, but I should not have renamed the
109
+ function or should have at least provided an alias. This release
110
+ restores Diff::LCS::Hunk#unshift as an alias to #merge. Note that the
111
+ old #unshift behaviour was incorrect and will not be restored.
112
+
113
+ ## 1.2.0 / 2013-01-21
114
+
115
+ - Minor Enhancements:
116
+
117
+ - Added special case handling for Diff::LCS.patch so that it handles
118
+ patches that are empty or contain no changes.
119
+ - Added two new methods (#patch_me and #unpatch_me) to the includable
120
+ module.
121
+
122
+ - Bugs Fixed:
123
+
124
+ - Fixed issue [#1][] patch direction detection.
125
+ - Resolved issue [#2][] by handling `string[string.size, 1]` properly (it
126
+ returns `""` not `nil`).
127
+ - Michael Granger (ged) fixed an implementation error in
128
+ Diff::LCS::Change and added specs in pull request [#8][]. Thanks!
129
+ - Made the code auto-testable.
130
+ - Vít Ondruch (voxik) provided the latest version of the GPL2 license
131
+ file in pull request [#10][]. Thanks!
132
+ - Fixed a documentation issue with the includable versions of #patch! and
133
+ #unpatch! where they implied that they would replace the original
134
+ value. Given that Diff::LCS.patch always returns a copy, the
135
+ documentation was incorrect and has been corrected. To provide the
136
+ behaviour that was originally documented, two new methods were added to
137
+ provide this behaviour. Found by scooter-dangle in issue [#12][].
138
+ Thanks!
139
+
140
+ - Code Style Changes:
141
+
142
+ - Removed trailing spaces.
143
+ - Calling class methods using `.` instead of `::`.
144
+ - Vít Ondruch (voxik) removed unnecessary shebangs in pull request [#9][].
145
+ Thanks!
146
+ - Kenichi Kamiya (kachick) removed some warnings of an unused variable in
147
+ lucky pull request [#13][]. Thanks!
148
+ - Embarked on a major refactoring to make the files a little more
149
+ manageable and understand the code on a deeper level.
150
+ - Adding to http://travis-ci.org.
151
+
152
+ ## 1.1.3 / 2011-08-27
153
+
154
+ - Converted to 'hoe' for release.
155
+ - Converted tests to RSpec 2.
156
+ - Extracted the body of htmldiff into a class available from
157
+ diff/lcs/htmldiff.
158
+ - Migrated development and issue tracking to GitHub.
159
+ - Bugs fixed:
160
+
161
+ - Eliminated the explicit use of RubyGems in both bin/htmldiff and
162
+ bin/ldiff. Resolves issue [#4][].
163
+ - Eliminated Ruby warnings. Resolves issue [#3][].
164
+
165
+ ## 1.1.2 / 2004-10-20
166
+
167
+ - Fixed a problem reported by Mauricio Fernandez in htmldiff.
168
+
169
+ ## 1.1.1 / 2004-09-25
170
+
171
+ - Fixed bug #891 (Set returned from patch command does not contain last equal
172
+ part).
173
+ - Fixed a problem with callback initialisation code (it assumed that all
174
+ callbacks passed as classes can be initialised; now, it rescues
175
+ NoMethodError in the event of private :new being called).
176
+ - Modified the non-initialisable callbacks to have a private #new method.
177
+ - Moved ldiff core code to Diff::LCS::Ldiff (diff/lcs/ldiff.rb).
178
+
179
+ ## 1.1.0 / -
180
+
181
+ - Eliminated the need for Diff::LCS::Event and removed it.
182
+ - Added a contextual diff callback, Diff::LCS::ContextDiffCallback.
183
+ - Implemented patching/unpatching for standard Diff callback output formats
184
+ with both #diff and #sdiff.
185
+ - Extensive documentation changes.
186
+
187
+ ## 1.0.4
188
+
189
+ - Fixed a problem with bin/ldiff output, especially for unified format.
190
+ Newlines that should have been present weren't.
191
+ - Changed the .tar.gz installer to generate Windows batch files if ones do
192
+ not exist already. Removed the existing batch files as they didn't work.
193
+
194
+ ## 1.0.3
195
+
196
+ - Fixed a problem with #traverse_sequences where the first difference from
197
+ the left sequence might not be appropriately captured.
198
+
199
+ ## 1.0.2
200
+
201
+ - Fixed an issue with ldiff not working because actions were changed from
202
+ symbols to strings.
203
+
204
+ ## 1.0.1
205
+
206
+ - Minor modifications to the gemspec, the README.
207
+ - Renamed the diff program to ldiff (as well as the companion batch file) so
208
+ as to not collide with the standard diff program.
209
+ - Fixed issues with RubyGems. Requires RubyGems > 0.6.1 or >= 0.6.1 with the
210
+ latest CVS version.
211
+
212
+ ## 1.0
213
+
214
+ - Initial release based mostly on Perl's Algorithm::Diff.
215
+
216
+ [rubinius/rubinius#2268]: https://github.com/rubinius/rubinius/issues/2268
217
+ [rspec/rspec-expectations#239]: https://github.com/rspec/rspec-expectations/issues/239
218
+ [rspec/rspec-expectations#238]: https://github.com/rspec/rspec-expectations/issues/238
219
+ [rspec/rspec-expectations#219]: https://github.com/rspec/rspec-expectations/issues/219
220
+ [rspec/rspec-expectations@3d6fc82c]: https://github.com/rspec/rspec-expectations/commit/3d6fc82c
221
+ [rspec/rspec-expectations#200]: https://github.com/rspec/rspec-expectations/pull/200
222
+ [#1]: https://github.com/halostatue/diff-lcs/issues/1
223
+ [#2]: https://github.com/halostatue/diff-lcs/issues/2
224
+ [#3]: https://github.com/halostatue/diff-lcs/issues/3
225
+ [#4]: https://github.com/halostatue/diff-lcs/issues/4
226
+ [#5]: https://github.com/halostatue/diff-lcs/issues/5
227
+ [#6]: https://github.com/halostatue/diff-lcs/issues/6
228
+ [#8]: https://github.com/halostatue/diff-lcs/pull/8
229
+ [#9]: https://github.com/halostatue/diff-lcs/pull/9
230
+ [#10]: https://github.com/halostatue/diff-lcs/pull/10
231
+ [#12]: https://github.com/halostatue/diff-lcs/issues/12
232
+ [#13]: https://github.com/halostatue/diff-lcs/pull/13
233
+ [#15]: https://github.com/halostatue/diff-lcs/pull/15
234
+ [#18]: https://github.com/halostatue/diff-lcs/pull/18
235
+ [#21]: https://github.com/halostatue/diff-lcs/issues/21
236
+ [#23]: https://github.com/halostatue/diff-lcs/pull/23
237
+ [#25]: https://github.com/halostatue/diff-lcs/pull/25
238
+ [#29]: https://github.com/halostatue/diff-lcs/pull/29
239
+ [#33]: https://github.com/halostatue/diff-lcs/issues/33
240
+ [#34]: https://github.com/halostatue/diff-lcs/pull/34
241
+ [#36]: https://github.com/halostatue/diff-lcs/pull/36
242
+ [#38]: https://github.com/halostatue/diff-lcs/issues/38
243
+ [#47]: https://github.com/halostatue/diff-lcs/pull/47
244
+ [#48]: https://github.com/halostatue/diff-lcs/issues/48
245
+ [#49]: https://github.com/halostatue/diff-lcs/pull/49
246
+ [#52]: https://github.com/halostatue/diff-lcs/pull/52
247
+ [#53]: https://github.com/halostatue/diff-lcs/issues/53
File without changes
@@ -1,24 +1,20 @@
1
- .autotest
2
- .gemtest
3
- .hoerc
4
1
  .rspec
5
- .travis.yml
6
- Contributing.rdoc
7
- Gemfile
8
- History.rdoc
9
- License.rdoc
2
+ Code-of-Conduct.md
3
+ Contributing.md
4
+ History.md
5
+ License.md
10
6
  Manifest.txt
11
7
  README.rdoc
12
8
  Rakefile
13
9
  autotest/discover.rb
14
10
  bin/htmldiff
15
11
  bin/ldiff
16
- diff-lcs.gemspec
17
12
  docs/COPYING.txt
18
13
  docs/artistic.txt
19
14
  lib/diff-lcs.rb
20
15
  lib/diff/lcs.rb
21
16
  lib/diff/lcs/array.rb
17
+ lib/diff/lcs/backports.rb
22
18
  lib/diff/lcs/block.rb
23
19
  lib/diff/lcs/callbacks.rb
24
20
  lib/diff/lcs/change.rb
@@ -29,9 +25,19 @@ lib/diff/lcs/ldiff.rb
29
25
  lib/diff/lcs/string.rb
30
26
  spec/change_spec.rb
31
27
  spec/diff_spec.rb
28
+ spec/fixtures/aX
29
+ spec/fixtures/bXaX
30
+ spec/fixtures/ds1.csv
31
+ spec/fixtures/ds2.csv
32
+ spec/fixtures/ldiff/output.diff
33
+ spec/fixtures/ldiff/output.diff-c
34
+ spec/fixtures/ldiff/output.diff-e
35
+ spec/fixtures/ldiff/output.diff-f
36
+ spec/fixtures/ldiff/output.diff-u
32
37
  spec/hunk_spec.rb
33
38
  spec/issues_spec.rb
34
39
  spec/lcs_spec.rb
40
+ spec/ldiff_spec.rb
35
41
  spec/patch_spec.rb
36
42
  spec/sdiff_spec.rb
37
43
  spec/spec_helper.rb