diff-lcs 1.2.5 → 1.4.3

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 +6 -14
  2. data/.rspec +0 -1
  3. data/Code-of-Conduct.md +74 -0
  4. data/Contributing.md +84 -0
  5. data/History.md +278 -0
  6. data/{License.rdoc → License.md} +0 -0
  7. data/Manifest.txt +15 -8
  8. data/README.rdoc +18 -19
  9. data/Rakefile +41 -25
  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 +2 -2
  18. data/lib/diff/lcs/callbacks.rb +15 -12
  19. data/lib/diff/lcs/change.rb +33 -36
  20. data/lib/diff/lcs/htmldiff.rb +17 -16
  21. data/lib/diff/lcs/hunk.rb +67 -52
  22. data/lib/diff/lcs/internals.rb +43 -40
  23. data/lib/diff/lcs/ldiff.rb +44 -64
  24. data/lib/diff/lcs/string.rb +1 -1
  25. data/spec/change_spec.rb +31 -7
  26. data/spec/diff_spec.rb +24 -20
  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 +37 -37
  37. data/spec/issues_spec.rb +91 -17
  38. data/spec/lcs_spec.rb +24 -22
  39. data/spec/ldiff_spec.rb +86 -0
  40. data/spec/patch_spec.rb +182 -180
  41. data/spec/sdiff_spec.rb +91 -91
  42. data/spec/spec_helper.rb +143 -58
  43. data/spec/traverse_balanced_spec.rb +177 -177
  44. data/spec/traverse_sequences_spec.rb +63 -63
  45. metadata +87 -143
  46. checksums.yaml.gz.sig +0 -0
  47. data.tar.gz.sig +0 -3
  48. data/.autotest +0 -3
  49. data/.gemtest +0 -0
  50. data/.hoerc +0 -2
  51. data/.travis.yml +0 -22
  52. data/Contributing.rdoc +0 -64
  53. data/Gemfile +0 -20
  54. data/History.rdoc +0 -152
  55. metadata.gz.sig +0 -2
@@ -1,10 +1,10 @@
1
- # -*- ruby encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe "Diff::LCS.traverse_sequences" do
6
- describe "callback with no finishers" do
7
- describe "over (seq1, seq2)" do
5
+ describe 'Diff::LCS.traverse_sequences' do
6
+ describe 'callback with no finishers' do
7
+ describe 'over (seq1, seq2)' do
8
8
  before(:each) do
9
9
  @callback_s1_s2 = simple_callback_no_finishers
10
10
  Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
@@ -13,92 +13,92 @@ describe "Diff::LCS.traverse_sequences" do
13
13
  Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
14
14
  end
15
15
 
16
- it "should have the correct LCS result on left-matches" do
17
- @callback_s1_s2.matched_a.should == correct_lcs
18
- @callback_s2_s1.matched_a.should == correct_lcs
16
+ it 'has the correct LCS result on left-matches' do
17
+ expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
18
+ expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
19
19
  end
20
20
 
21
- it "should have the correct LCS result on right-matches" do
22
- @callback_s1_s2.matched_b.should == correct_lcs
23
- @callback_s2_s1.matched_b.should == correct_lcs
21
+ it 'has the correct LCS result on right-matches' do
22
+ expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
23
+ expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
24
24
  end
25
25
 
26
- it "should have the correct skipped sequences with the left sequence" do
27
- @callback_s1_s2.discards_a.should == skipped_seq1
28
- @callback_s2_s1.discards_a.should == skipped_seq2
26
+ it 'has the correct skipped sequences with the left sequence' do
27
+ expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
28
+ expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
29
29
  end
30
30
 
31
- it "should have the correct skipped sequences with the right sequence" do
32
- @callback_s1_s2.discards_b.should == skipped_seq2
33
- @callback_s2_s1.discards_b.should == skipped_seq1
31
+ it 'has the correct skipped sequences with the right sequence' do
32
+ expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
33
+ expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
34
34
  end
35
35
 
36
- it "should not have anything done markers from the left or right sequences" do
37
- @callback_s1_s2.done_a.should be_empty
38
- @callback_s1_s2.done_b.should be_empty
39
- @callback_s2_s1.done_a.should be_empty
40
- @callback_s2_s1.done_b.should be_empty
36
+ it 'does not have anything done markers from the left or right sequences' do
37
+ expect(@callback_s1_s2.done_a).to be_empty
38
+ expect(@callback_s1_s2.done_b).to be_empty
39
+ expect(@callback_s2_s1.done_a).to be_empty
40
+ expect(@callback_s2_s1.done_b).to be_empty
41
41
  end
42
42
  end
43
43
 
44
- describe "over (hello, hello)" do
44
+ describe 'over (hello, hello)' do
45
45
  before(:each) do
46
46
  @callback = simple_callback_no_finishers
47
47
  Diff::LCS.traverse_sequences(hello, hello, @callback)
48
48
  end
49
49
 
50
- it "should have the correct LCS result on left-matches" do
51
- @callback.matched_a.should == hello.split(//)
50
+ it 'has the correct LCS result on left-matches' do
51
+ expect(@callback.matched_a).to eq(hello.split(//))
52
52
  end
53
53
 
54
- it "should have the correct LCS result on right-matches" do
55
- @callback.matched_b.should == hello.split(//)
54
+ it 'has the correct LCS result on right-matches' do
55
+ expect(@callback.matched_b).to eq(hello.split(//))
56
56
  end
57
57
 
58
- it "should have the correct skipped sequences with the left sequence", :only => true do
59
- @callback.discards_a.should be_empty
58
+ it 'has the correct skipped sequences with the left sequence', :only => true do
59
+ expect(@callback.discards_a).to be_empty
60
60
  end
61
61
 
62
- it "should have the correct skipped sequences with the right sequence" do
63
- @callback.discards_b.should be_empty
62
+ it 'has the correct skipped sequences with the right sequence' do
63
+ expect(@callback.discards_b).to be_empty
64
64
  end
65
65
 
66
- it "should not have anything done markers from the left or right sequences" do
67
- @callback.done_a.should be_empty
68
- @callback.done_b.should be_empty
66
+ it 'does not have anything done markers from the left or right sequences' do
67
+ expect(@callback.done_a).to be_empty
68
+ expect(@callback.done_b).to be_empty
69
69
  end
70
70
  end
71
71
 
72
- describe "over (hello_ary, hello_ary)" do
72
+ describe 'over (hello_ary, hello_ary)' do
73
73
  before(:each) do
74
74
  @callback = simple_callback_no_finishers
75
75
  Diff::LCS.traverse_sequences(hello_ary, hello_ary, @callback)
76
76
  end
77
77
 
78
- it "should have the correct LCS result on left-matches" do
79
- @callback.matched_a.should == hello_ary
78
+ it 'has the correct LCS result on left-matches' do
79
+ expect(@callback.matched_a).to eq(hello_ary)
80
80
  end
81
81
 
82
- it "should have the correct LCS result on right-matches" do
83
- @callback.matched_b.should == hello_ary
82
+ it 'has the correct LCS result on right-matches' do
83
+ expect(@callback.matched_b).to eq(hello_ary)
84
84
  end
85
85
 
86
- it "should have the correct skipped sequences with the left sequence" do
87
- @callback.discards_a.should be_empty
86
+ it 'has the correct skipped sequences with the left sequence' do
87
+ expect(@callback.discards_a).to be_empty
88
88
  end
89
89
 
90
- it "should have the correct skipped sequences with the right sequence" do
91
- @callback.discards_b.should be_empty
90
+ it 'has the correct skipped sequences with the right sequence' do
91
+ expect(@callback.discards_b).to be_empty
92
92
  end
93
93
 
94
- it "should not have anything done markers from the left or right sequences" do
95
- @callback.done_a.should be_empty
96
- @callback.done_b.should be_empty
94
+ it 'does not have anything done markers from the left or right sequences' do
95
+ expect(@callback.done_a).to be_empty
96
+ expect(@callback.done_b).to be_empty
97
97
  end
98
98
  end
99
99
  end
100
100
 
101
- describe "callback with finisher" do
101
+ describe 'callback with finisher' do
102
102
  before(:each) do
103
103
  @callback_s1_s2 = simple_callback
104
104
  Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
@@ -106,34 +106,34 @@ describe "Diff::LCS.traverse_sequences" do
106
106
  Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
107
107
  end
108
108
 
109
- it "should have the correct LCS result on left-matches" do
110
- @callback_s1_s2.matched_a.should == correct_lcs
111
- @callback_s2_s1.matched_a.should == correct_lcs
109
+ it 'has the correct LCS result on left-matches' do
110
+ expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
111
+ expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
112
112
  end
113
113
 
114
- it "should have the correct LCS result on right-matches" do
115
- @callback_s1_s2.matched_b.should == correct_lcs
116
- @callback_s2_s1.matched_b.should == correct_lcs
114
+ it 'has the correct LCS result on right-matches' do
115
+ expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
116
+ expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
117
117
  end
118
118
 
119
- it "should have the correct skipped sequences for the left sequence" do
120
- @callback_s1_s2.discards_a.should == skipped_seq1
121
- @callback_s2_s1.discards_a.should == skipped_seq2
119
+ it 'has the correct skipped sequences for the left sequence' do
120
+ expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
121
+ expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
122
122
  end
123
123
 
124
- it "should have the correct skipped sequences for the right sequence" do
125
- @callback_s1_s2.discards_b.should == skipped_seq2
126
- @callback_s2_s1.discards_b.should == skipped_seq1
124
+ it 'has the correct skipped sequences for the right sequence' do
125
+ expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
126
+ expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
127
127
  end
128
128
 
129
- it "should have done markers differently-sized sequences" do
130
- @callback_s1_s2.done_a.should == [[ "p", 9, "s", 10 ]]
131
- @callback_s1_s2.done_b.should be_empty
129
+ it 'has done markers differently-sized sequences' do
130
+ expect(@callback_s1_s2.done_a).to eq([['p', 9, 's', 10]])
131
+ expect(@callback_s1_s2.done_b).to be_empty
132
132
 
133
133
  # 20110731 I don't yet understand why this particular behaviour
134
134
  # isn't transitive.
135
- @callback_s2_s1.done_a.should be_empty
136
- @callback_s2_s1.done_b.should be_empty
135
+ expect(@callback_s2_s1.done_a).to be_empty
136
+ expect(@callback_s2_s1.done_b).to be_empty
137
137
  end
138
138
  end
139
139
  end
metadata CHANGED
@@ -1,243 +1,174 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-lcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Ziegler
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - !binary |-
12
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
13
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaaGRY
14
- TjAKYVc0eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdseWRXSjVabTl5WjJVeEV6
15
- QVJCZ29Ka2lhSmsvSXNaQUVaRmdOdgpjbWN3SGhjTk1UTXdNakEwTURNek16
16
- STNXaGNOTVRRd01qQTBNRE16TXpJM1dqQkJNUTh3RFFZRFZRUUREQVpoCmRY
17
- TjBhVzR4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x5ZFdKNVptOXlaMlV4RXpB
18
- UkJnb0praWFKay9Jc1pBRVoKRmdOdmNtY3dnZ0VpTUEwR0NTcUdTSWIzRFFF
19
- QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDMm1QTmY0TDM3R2hLSQpTUENZc3ZZ
20
- V1hBMi9SOXU1K3B5VW5iSjJSMW8yQ2lScTJaQS9BSXpZNk4zaEduc2dvV25o
21
- NVJ6dmdUTjFMdDA4CkROSXJzSUcyVkRZay9KVnQ2ZjlKNnpaOEVRSGJ6bldh
22
- M2NXWW9DRmFhSUNkazdqVjFuLzQyaGc3MGpFRFlYbDkKZ0RPbDBrNkpteUYv
23
- cnRmRnUvT0lrRkdXZUZZSXVGSHZSdUx5VWJ3NjYrUURUT3pLYjN0OG81NUlo
24
- Z3kxR1Z3VAppNnBrRHM4TGhaV1hkT0QrOTIxbDJaMU5aR1phOUtOYkpJZzZ2
25
- dGdZS1U5OGpRNXFyOWlZM2lrQkFzcEhyRmFzCks2VVN2R2dBZzhmQ0Q1WWlv
26
- dEJFdkNCTVl0ZnFtZnJocGRVMnArZ3ZUZ2VMVzFLYWV2d3FkN25nUW1GVXJG
27
- RzEKZVVKU1VSdjVBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
28
- ME9CQllFRkF0SktNcDZZWU5xbGdSMwo5VGlaTFdxdkxhZ1NNQXNHQTFVZER3
29
- UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXBUUGt2RG04Cjdn
30
- SmxVVDRGZnVtWFB2dHVxUDY3THhVdEdFOHN5dlIwQTRBcyswUC93eWxMSkZV
31
- T3NHVFRkWll0VGhoeENTSkcKKzdLRzJGZkljSDRaejJkOTdhclpHQXpCb2k4
32
- aVBodDIvVXRTbDFmQ2NVSTV2bUphMU1pWFpUMm9xZFc3V3lkcQpyQVpjQlBs
33
- cllZdWl3dEdJMHlxSU9nQmZYU1pDV1dzSnN1eVRLRUxlcDZtQ0xnejBZWlVm
34
- bXZLcjhXL0FiM2F4CkR1THpIOTJMU1JqWkp5anlBVXB3L1ZjMnJNNGdpaVA1
35
- anRCeXJiMVkxZEduUWhIVE1IZjFHZnVjV203TncvVjkKdHdFUFZ3OCswZjg4
36
- SlF1Y3hPVG1URjFOYkxGcGlSd1FVWjF6b1piTmcyZTdtU2hjL2VleG5WTFdL
37
- Rkt4Um9QNgpLUGozV29EK3NwQjhmQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
38
- LS0tLS0K
39
- date: 2013-11-08 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2020-06-29 00:00:00.000000000 Z
40
12
  dependencies:
41
- - !ruby/object:Gem::Dependency
42
- name: rubyforge
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: 2.0.4
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: 2.0.4
55
- - !ruby/object:Gem::Dependency
56
- name: rdoc
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '4.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ~>
67
- - !ruby/object:Gem::Version
68
- version: '4.0'
69
- - !ruby/object:Gem::Dependency
70
- name: hoe-bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '1.2'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- version: '1.2'
83
13
  - !ruby/object:Gem::Dependency
84
14
  name: hoe-doofus
85
15
  requirement: !ruby/object:Gem::Requirement
86
16
  requirements:
87
- - - ~>
17
+ - - "~>"
88
18
  - !ruby/object:Gem::Version
89
19
  version: '1.0'
90
20
  type: :development
91
21
  prerelease: false
92
22
  version_requirements: !ruby/object:Gem::Requirement
93
23
  requirements:
94
- - - ~>
24
+ - - "~>"
95
25
  - !ruby/object:Gem::Version
96
26
  version: '1.0'
97
27
  - !ruby/object:Gem::Dependency
98
28
  name: hoe-gemspec2
99
29
  requirement: !ruby/object:Gem::Requirement
100
30
  requirements:
101
- - - ~>
31
+ - - "~>"
102
32
  - !ruby/object:Gem::Version
103
33
  version: '1.1'
104
34
  type: :development
105
35
  prerelease: false
106
36
  version_requirements: !ruby/object:Gem::Requirement
107
37
  requirements:
108
- - - ~>
38
+ - - "~>"
109
39
  - !ruby/object:Gem::Version
110
40
  version: '1.1'
111
41
  - !ruby/object:Gem::Dependency
112
42
  name: hoe-git
113
43
  requirement: !ruby/object:Gem::Requirement
114
44
  requirements:
115
- - - ~>
45
+ - - "~>"
116
46
  - !ruby/object:Gem::Version
117
- version: '1.5'
47
+ version: '1.6'
118
48
  type: :development
119
49
  prerelease: false
120
50
  version_requirements: !ruby/object:Gem::Requirement
121
51
  requirements:
122
- - - ~>
52
+ - - "~>"
123
53
  - !ruby/object:Gem::Version
124
- version: '1.5'
54
+ version: '1.6'
125
55
  - !ruby/object:Gem::Dependency
126
56
  name: hoe-rubygems
127
57
  requirement: !ruby/object:Gem::Requirement
128
58
  requirements:
129
- - - ~>
59
+ - - "~>"
130
60
  - !ruby/object:Gem::Version
131
61
  version: '1.0'
132
62
  type: :development
133
63
  prerelease: false
134
64
  version_requirements: !ruby/object:Gem::Requirement
135
65
  requirements:
136
- - - ~>
66
+ - - "~>"
137
67
  - !ruby/object:Gem::Version
138
68
  version: '1.0'
139
69
  - !ruby/object:Gem::Dependency
140
- name: hoe-travis
70
+ name: rspec
141
71
  requirement: !ruby/object:Gem::Requirement
142
72
  requirements:
143
- - - ~>
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ - - "<"
144
77
  - !ruby/object:Gem::Version
145
- version: '1.2'
78
+ version: '4'
146
79
  type: :development
147
80
  prerelease: false
148
81
  version_requirements: !ruby/object:Gem::Requirement
149
82
  requirements:
150
- - - ~>
83
+ - - ">="
151
84
  - !ruby/object:Gem::Version
152
- version: '1.2'
85
+ version: '2.0'
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '4'
153
89
  - !ruby/object:Gem::Dependency
154
90
  name: rake
155
91
  requirement: !ruby/object:Gem::Requirement
156
92
  requirements:
157
- - - ~>
93
+ - - ">="
158
94
  - !ruby/object:Gem::Version
159
95
  version: '10.0'
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '14'
160
99
  type: :development
161
100
  prerelease: false
162
101
  version_requirements: !ruby/object:Gem::Requirement
163
102
  requirements:
164
- - - ~>
103
+ - - ">="
165
104
  - !ruby/object:Gem::Version
166
105
  version: '10.0'
106
+ - - "<"
107
+ - !ruby/object:Gem::Version
108
+ version: '14'
167
109
  - !ruby/object:Gem::Dependency
168
- name: rspec
110
+ name: rdoc
169
111
  requirement: !ruby/object:Gem::Requirement
170
112
  requirements:
171
- - - ~>
113
+ - - ">="
172
114
  - !ruby/object:Gem::Version
173
- version: '2.0'
115
+ version: '0'
174
116
  type: :development
175
117
  prerelease: false
176
118
  version_requirements: !ruby/object:Gem::Requirement
177
119
  requirements:
178
- - - ~>
120
+ - - ">="
179
121
  - !ruby/object:Gem::Version
180
- version: '2.0'
122
+ version: '0'
181
123
  - !ruby/object:Gem::Dependency
182
124
  name: hoe
183
125
  requirement: !ruby/object:Gem::Requirement
184
126
  requirements:
185
- - - ~>
127
+ - - "~>"
186
128
  - !ruby/object:Gem::Version
187
- version: '3.7'
129
+ version: '3.22'
188
130
  type: :development
189
131
  prerelease: false
190
132
  version_requirements: !ruby/object:Gem::Requirement
191
133
  requirements:
192
- - - ~>
134
+ - - "~>"
193
135
  - !ruby/object:Gem::Version
194
- version: '3.7'
195
- description: ! 'Diff::LCS computes the difference between two Enumerable sequences
196
- using the
197
-
136
+ version: '3.22'
137
+ description: |-
138
+ Diff::LCS computes the difference between two Enumerable sequences using the
198
139
  McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
199
-
200
140
  to create a simple HTML diff output format and a standard diff-like tool.
201
141
 
142
+ This is release 1.4.3, providing a simple extension that allows for
143
+ Diff::LCS::Change objects to be treated implicitly as arrays and fixes a
144
+ number of formatting issues.
202
145
 
203
- This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did
204
-
205
- not properly prune common sequences at the beginning of a comparison set.
206
-
207
- Thanks to Paul Kunysch for fixing this issue.
208
-
209
-
210
- Coincident with the release of diff-lcs 1.2.3, we reported an issue with
211
-
212
- Rubinius in 1.9 mode
213
-
214
- ({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
215
-
216
- We are happy to report that this issue has been resolved.'
146
+ Ruby versions below 2.5 are soft-deprecated, which means that older versions
147
+ are no longer part of the CI test suite. If any changes have been introduced
148
+ that break those versions, bug reports and patches will be accepted, but it
149
+ will be up to the reporter to verify any fixes prior to release. The next
150
+ major release will completely break compatibility.
217
151
  email:
218
- - austin@rubyforge.org
152
+ - halostatue@gmail.com
219
153
  executables:
220
154
  - htmldiff
221
155
  - ldiff
222
156
  extensions: []
223
157
  extra_rdoc_files:
224
- - Contributing.rdoc
225
- - History.rdoc
226
- - License.rdoc
158
+ - Code-of-Conduct.md
159
+ - Contributing.md
160
+ - History.md
161
+ - License.md
227
162
  - Manifest.txt
228
163
  - README.rdoc
229
164
  - docs/COPYING.txt
230
165
  - docs/artistic.txt
231
166
  files:
232
- - .autotest
233
- - .gemtest
234
- - .hoerc
235
- - .rspec
236
- - .travis.yml
237
- - Contributing.rdoc
238
- - Gemfile
239
- - History.rdoc
240
- - License.rdoc
167
+ - ".rspec"
168
+ - Code-of-Conduct.md
169
+ - Contributing.md
170
+ - History.md
171
+ - License.md
241
172
  - Manifest.txt
242
173
  - README.rdoc
243
174
  - Rakefile
@@ -249,6 +180,7 @@ files:
249
180
  - lib/diff-lcs.rb
250
181
  - lib/diff/lcs.rb
251
182
  - lib/diff/lcs/array.rb
183
+ - lib/diff/lcs/backports.rb
252
184
  - lib/diff/lcs/block.rb
253
185
  - lib/diff/lcs/callbacks.rb
254
186
  - lib/diff/lcs/change.rb
@@ -259,40 +191,52 @@ files:
259
191
  - lib/diff/lcs/string.rb
260
192
  - spec/change_spec.rb
261
193
  - spec/diff_spec.rb
194
+ - spec/fixtures/aX
195
+ - spec/fixtures/bXaX
196
+ - spec/fixtures/ds1.csv
197
+ - spec/fixtures/ds2.csv
198
+ - spec/fixtures/ldiff/output.diff
199
+ - spec/fixtures/ldiff/output.diff-c
200
+ - spec/fixtures/ldiff/output.diff-e
201
+ - spec/fixtures/ldiff/output.diff-f
202
+ - spec/fixtures/ldiff/output.diff-u
262
203
  - spec/hunk_spec.rb
263
204
  - spec/issues_spec.rb
264
205
  - spec/lcs_spec.rb
206
+ - spec/ldiff_spec.rb
265
207
  - spec/patch_spec.rb
266
208
  - spec/sdiff_spec.rb
267
209
  - spec/spec_helper.rb
268
210
  - spec/traverse_balanced_spec.rb
269
211
  - spec/traverse_sequences_spec.rb
270
- homepage: http://diff-lcs.rubyforge.org/
212
+ homepage: https://github.com/halostatue/diff-lcs
271
213
  licenses:
272
214
  - MIT
273
- - Perl Artistic v2
274
- - GNU GPL v2
275
- metadata: {}
276
- post_install_message:
215
+ - Artistic-2.0
216
+ - GPL-2.0+
217
+ metadata:
218
+ homepage_uri: https://github.com/halostatue/diff-lcs
219
+ source_code_uri: https://github.com/halostatue/diff-lcs
220
+ bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
221
+ post_install_message:
277
222
  rdoc_options:
278
- - --main
223
+ - "--main"
279
224
  - README.rdoc
280
225
  require_paths:
281
226
  - lib
282
227
  required_ruby_version: !ruby/object:Gem::Requirement
283
228
  requirements:
284
- - - ! '>='
229
+ - - ">="
285
230
  - !ruby/object:Gem::Version
286
- version: '0'
231
+ version: '1.8'
287
232
  required_rubygems_version: !ruby/object:Gem::Requirement
288
233
  requirements:
289
- - - ! '>='
234
+ - - ">="
290
235
  - !ruby/object:Gem::Version
291
236
  version: '0'
292
237
  requirements: []
293
- rubyforge_project: diff-lcs
294
- rubygems_version: 2.0.7
295
- signing_key:
238
+ rubygems_version: 3.0.3
239
+ signing_key:
296
240
  specification_version: 4
297
241
  summary: Diff::LCS computes the difference between two Enumerable sequences using
298
242
  the McIlroy-Hunt longest common subsequence (LCS) algorithm