diff-lcs 1.2.4 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) 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 +263 -0
  6. data/{License.rdoc → License.md} +0 -0
  7. data/Manifest.txt +15 -8
  8. data/README.rdoc +20 -22
  9. data/Rakefile +23 -22
  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 +34 -37
  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 +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 +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 +80 -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 +89 -180
  46. data.tar.gz.sig +0 -3
  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 -20
  53. data/History.rdoc +0 -146
  54. metadata.gz.sig +0 -0
@@ -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,279 +1,173 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-lcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
5
- prerelease:
4
+ version: 1.4.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Austin Ziegler
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
- cert_chain:
12
- - ! '-----BEGIN CERTIFICATE-----
13
-
14
- MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZhdXN0
15
-
16
- aW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZFgNv
17
-
18
- cmcwHhcNMTMwMjA0MDMzMzI3WhcNMTQwMjA0MDMzMzI3WjBBMQ8wDQYDVQQDDAZh
19
-
20
- dXN0aW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZ
21
-
22
- FgNvcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2mPNf4L37GhKI
23
-
24
- SPCYsvYWXA2/R9u5+pyUnbJ2R1o2CiRq2ZA/AIzY6N3hGnsgoWnh5RzvgTN1Lt08
25
-
26
- DNIrsIG2VDYk/JVt6f9J6zZ8EQHbznWa3cWYoCFaaICdk7jV1n/42hg70jEDYXl9
27
-
28
- gDOl0k6JmyF/rtfFu/OIkFGWeFYIuFHvRuLyUbw66+QDTOzKb3t8o55Ihgy1GVwT
29
-
30
- i6pkDs8LhZWXdOD+921l2Z1NZGZa9KNbJIg6vtgYKU98jQ5qr9iY3ikBAspHrFas
31
-
32
- K6USvGgAg8fCD5YiotBEvCBMYtfqmfrhpdU2p+gvTgeLW1Kaevwqd7ngQmFUrFG1
33
-
34
- eUJSURv5AgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFAtJKMp6YYNqlgR3
35
-
36
- 9TiZLWqvLagSMAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEApTPkvDm8
37
-
38
- 7gJlUT4FfumXPvtuqP67LxUtGE8syvR0A4As+0P/wylLJFUOsGTTdZYtThhxCSJG
39
-
40
- +7KG2FfIcH4Zz2d97arZGAzBoi8iPht2/UtSl1fCcUI5vmJa1MiXZT2oqdW7Wydq
41
-
42
- rAZcBPlrYYuiwtGI0yqIOgBfXSZCWWsJsuyTKELep6mCLgz0YZUfmvKr8W/Ab3ax
43
-
44
- DuLzH92LSRjZJyjyAUpw/Vc2rM4giiP5jtByrb1Y1dGnQhHTMHf1GfucWm7Nw/V9
45
-
46
- twEPVw8+0f88JQucxOTmTF1NbLFpiRwQUZ1zoZbNg2e7mShc/eexnVLWKFKxRoP6
47
-
48
- KPj3WoD+spB8fA==
49
-
50
- -----END CERTIFICATE-----
51
-
52
- '
53
- date: 2013-04-21 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2020-06-24 00:00:00.000000000 Z
54
12
  dependencies:
55
- - !ruby/object:Gem::Dependency
56
- name: rubyforge
57
- requirement: !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ! '>='
61
- - !ruby/object:Gem::Version
62
- version: 2.0.4
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ! '>='
69
- - !ruby/object:Gem::Version
70
- version: 2.0.4
71
- - !ruby/object:Gem::Dependency
72
- name: rdoc
73
- requirement: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ~>
77
- - !ruby/object:Gem::Version
78
- version: '4.0'
79
- type: :development
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
- requirements:
84
- - - ~>
85
- - !ruby/object:Gem::Version
86
- version: '4.0'
87
- - !ruby/object:Gem::Dependency
88
- name: hoe-bundler
89
- requirement: !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ~>
93
- - !ruby/object:Gem::Version
94
- version: '1.2'
95
- type: :development
96
- prerelease: false
97
- version_requirements: !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ~>
101
- - !ruby/object:Gem::Version
102
- version: '1.2'
103
13
  - !ruby/object:Gem::Dependency
104
14
  name: hoe-doofus
105
15
  requirement: !ruby/object:Gem::Requirement
106
- none: false
107
16
  requirements:
108
- - - ~>
17
+ - - "~>"
109
18
  - !ruby/object:Gem::Version
110
19
  version: '1.0'
111
20
  type: :development
112
21
  prerelease: false
113
22
  version_requirements: !ruby/object:Gem::Requirement
114
- none: false
115
23
  requirements:
116
- - - ~>
24
+ - - "~>"
117
25
  - !ruby/object:Gem::Version
118
26
  version: '1.0'
119
27
  - !ruby/object:Gem::Dependency
120
28
  name: hoe-gemspec2
121
29
  requirement: !ruby/object:Gem::Requirement
122
- none: false
123
30
  requirements:
124
- - - ~>
31
+ - - "~>"
125
32
  - !ruby/object:Gem::Version
126
33
  version: '1.1'
127
34
  type: :development
128
35
  prerelease: false
129
36
  version_requirements: !ruby/object:Gem::Requirement
130
- none: false
131
37
  requirements:
132
- - - ~>
38
+ - - "~>"
133
39
  - !ruby/object:Gem::Version
134
40
  version: '1.1'
135
41
  - !ruby/object:Gem::Dependency
136
42
  name: hoe-git
137
43
  requirement: !ruby/object:Gem::Requirement
138
- none: false
139
44
  requirements:
140
- - - ~>
45
+ - - "~>"
141
46
  - !ruby/object:Gem::Version
142
- version: '1.5'
47
+ version: '1.6'
143
48
  type: :development
144
49
  prerelease: false
145
50
  version_requirements: !ruby/object:Gem::Requirement
146
- none: false
147
51
  requirements:
148
- - - ~>
52
+ - - "~>"
149
53
  - !ruby/object:Gem::Version
150
- version: '1.5'
54
+ version: '1.6'
151
55
  - !ruby/object:Gem::Dependency
152
56
  name: hoe-rubygems
153
57
  requirement: !ruby/object:Gem::Requirement
154
- none: false
155
58
  requirements:
156
- - - ~>
59
+ - - "~>"
157
60
  - !ruby/object:Gem::Version
158
61
  version: '1.0'
159
62
  type: :development
160
63
  prerelease: false
161
64
  version_requirements: !ruby/object:Gem::Requirement
162
- none: false
163
65
  requirements:
164
- - - ~>
66
+ - - "~>"
165
67
  - !ruby/object:Gem::Version
166
68
  version: '1.0'
167
69
  - !ruby/object:Gem::Dependency
168
- name: hoe-travis
70
+ name: rspec
169
71
  requirement: !ruby/object:Gem::Requirement
170
- none: false
171
72
  requirements:
172
- - - ~>
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ - - "<"
173
77
  - !ruby/object:Gem::Version
174
- version: '1.2'
78
+ version: '4'
175
79
  type: :development
176
80
  prerelease: false
177
81
  version_requirements: !ruby/object:Gem::Requirement
178
- none: false
179
82
  requirements:
180
- - - ~>
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '2.0'
86
+ - - "<"
181
87
  - !ruby/object:Gem::Version
182
- version: '1.2'
88
+ version: '4'
183
89
  - !ruby/object:Gem::Dependency
184
90
  name: rake
185
91
  requirement: !ruby/object:Gem::Requirement
186
- none: false
187
92
  requirements:
188
- - - ~>
93
+ - - ">="
189
94
  - !ruby/object:Gem::Version
190
95
  version: '10.0'
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '14'
191
99
  type: :development
192
100
  prerelease: false
193
101
  version_requirements: !ruby/object:Gem::Requirement
194
- none: false
195
102
  requirements:
196
- - - ~>
103
+ - - ">="
197
104
  - !ruby/object:Gem::Version
198
105
  version: '10.0'
106
+ - - "<"
107
+ - !ruby/object:Gem::Version
108
+ version: '14'
199
109
  - !ruby/object:Gem::Dependency
200
- name: rspec
110
+ name: rdoc
201
111
  requirement: !ruby/object:Gem::Requirement
202
- none: false
203
112
  requirements:
204
- - - ~>
113
+ - - ">="
205
114
  - !ruby/object:Gem::Version
206
- version: '2.0'
115
+ version: '0'
207
116
  type: :development
208
117
  prerelease: false
209
118
  version_requirements: !ruby/object:Gem::Requirement
210
- none: false
211
119
  requirements:
212
- - - ~>
120
+ - - ">="
213
121
  - !ruby/object:Gem::Version
214
- version: '2.0'
122
+ version: '0'
215
123
  - !ruby/object:Gem::Dependency
216
124
  name: hoe
217
125
  requirement: !ruby/object:Gem::Requirement
218
- none: false
219
126
  requirements:
220
- - - ~>
127
+ - - "~>"
221
128
  - !ruby/object:Gem::Version
222
- version: '3.6'
129
+ version: '3.22'
223
130
  type: :development
224
131
  prerelease: false
225
132
  version_requirements: !ruby/object:Gem::Requirement
226
- none: false
227
133
  requirements:
228
- - - ~>
134
+ - - "~>"
229
135
  - !ruby/object:Gem::Version
230
- version: '3.6'
231
- description: ! 'Diff::LCS computes the difference between two Enumerable sequences
232
- using the
233
-
136
+ version: '3.22'
137
+ description: |-
138
+ Diff::LCS computes the difference between two Enumerable sequences using the
234
139
  McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
235
-
236
140
  to create a simple HTML diff output format and a standard diff-like tool.
237
141
 
142
+ This is release 1.4, providing a simple extension that allows for
143
+ Diff::LCS::Change objects to be treated implicitly as arrays. Ruby versions
144
+ below 2.5 are soft-deprecated.
238
145
 
239
- This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did
240
-
241
- not properly prune common sequences at the beginning of a comparison set.
242
-
243
- Thanks to Paul Kunysch for fixing this issue.
244
-
245
-
246
- Coincident with the release of diff-lcs 1.2.3, we reported an issue with
247
-
248
- Rubinius in 1.9 mode
249
-
250
- ({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
251
-
252
- We are happy to report that this issue has been resolved.'
146
+ This means that older versions are no longer part of the CI test suite. If any
147
+ changes have been introduced that break those versions, bug reports and patches
148
+ will be accepted, but it will be up to the reporter to verify any fixes prior
149
+ to release. A future release will completely break compatibility.
253
150
  email:
254
- - austin@rubyforge.org
151
+ - halostatue@gmail.com
255
152
  executables:
256
153
  - htmldiff
257
154
  - ldiff
258
155
  extensions: []
259
156
  extra_rdoc_files:
260
- - Contributing.rdoc
261
- - History.rdoc
262
- - License.rdoc
157
+ - Code-of-Conduct.md
158
+ - Contributing.md
159
+ - History.md
160
+ - License.md
263
161
  - Manifest.txt
264
162
  - README.rdoc
265
163
  - docs/COPYING.txt
266
164
  - docs/artistic.txt
267
165
  files:
268
- - .autotest
269
- - .gemtest
270
- - .hoerc
271
- - .rspec
272
- - .travis.yml
273
- - Contributing.rdoc
274
- - Gemfile
275
- - History.rdoc
276
- - License.rdoc
166
+ - ".rspec"
167
+ - Code-of-Conduct.md
168
+ - Contributing.md
169
+ - History.md
170
+ - License.md
277
171
  - Manifest.txt
278
172
  - README.rdoc
279
173
  - Rakefile
@@ -285,6 +179,7 @@ files:
285
179
  - lib/diff-lcs.rb
286
180
  - lib/diff/lcs.rb
287
181
  - lib/diff/lcs/array.rb
182
+ - lib/diff/lcs/backports.rb
288
183
  - lib/diff/lcs/block.rb
289
184
  - lib/diff/lcs/callbacks.rb
290
185
  - lib/diff/lcs/change.rb
@@ -295,39 +190,53 @@ files:
295
190
  - lib/diff/lcs/string.rb
296
191
  - spec/change_spec.rb
297
192
  - spec/diff_spec.rb
193
+ - spec/fixtures/aX
194
+ - spec/fixtures/bXaX
195
+ - spec/fixtures/ds1.csv
196
+ - spec/fixtures/ds2.csv
197
+ - spec/fixtures/ldiff/output.diff
198
+ - spec/fixtures/ldiff/output.diff-c
199
+ - spec/fixtures/ldiff/output.diff-e
200
+ - spec/fixtures/ldiff/output.diff-f
201
+ - spec/fixtures/ldiff/output.diff-u
298
202
  - spec/hunk_spec.rb
299
203
  - spec/issues_spec.rb
300
204
  - spec/lcs_spec.rb
205
+ - spec/ldiff_spec.rb
301
206
  - spec/patch_spec.rb
302
207
  - spec/sdiff_spec.rb
303
208
  - spec/spec_helper.rb
304
209
  - spec/traverse_balanced_spec.rb
305
210
  - spec/traverse_sequences_spec.rb
306
- homepage: http://diff-lcs.rubyforge.org/
307
- licenses: []
308
- post_install_message:
211
+ homepage: https://github.com/halostatue/diff-lcs
212
+ licenses:
213
+ - MIT
214
+ - Artistic-2.0
215
+ - GPL-2.0+
216
+ metadata:
217
+ homepage_uri: https://github.com/halostatue/diff-lcs
218
+ source_code_uri: https://github.com/halostatue/diff-lcs
219
+ bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
220
+ post_install_message:
309
221
  rdoc_options:
310
- - --main
222
+ - "--main"
311
223
  - README.rdoc
312
224
  require_paths:
313
225
  - lib
314
226
  required_ruby_version: !ruby/object:Gem::Requirement
315
- none: false
316
227
  requirements:
317
- - - ! '>='
228
+ - - ">="
318
229
  - !ruby/object:Gem::Version
319
- version: '0'
230
+ version: '1.8'
320
231
  required_rubygems_version: !ruby/object:Gem::Requirement
321
- none: false
322
232
  requirements:
323
- - - ! '>='
233
+ - - ">="
324
234
  - !ruby/object:Gem::Version
325
235
  version: '0'
326
236
  requirements: []
327
- rubyforge_project: diff-lcs
328
- rubygems_version: 1.8.25
329
- signing_key:
330
- specification_version: 3
237
+ rubygems_version: 3.0.3
238
+ signing_key:
239
+ specification_version: 4
331
240
  summary: Diff::LCS computes the difference between two Enumerable sequences using
332
241
  the McIlroy-Hunt longest common subsequence (LCS) algorithm
333
242
  test_files: []