diff-lcs 1.2.2 → 1.4

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 (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
@@ -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,282 +1,199 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-lcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
5
- prerelease:
4
+ version: '1.4'
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-03-30 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2020-06-23 00:00:00.000000000 Z
54
12
  dependencies:
55
13
  - !ruby/object:Gem::Dependency
56
- name: rubyforge
14
+ name: hoe-doofus
57
15
  requirement: !ruby/object:Gem::Requirement
58
- none: false
59
16
  requirements:
60
- - - ! '>='
17
+ - - "~>"
61
18
  - !ruby/object:Gem::Version
62
- version: 2.0.4
19
+ version: '1.0'
63
20
  type: :development
64
21
  prerelease: false
65
22
  version_requirements: !ruby/object:Gem::Requirement
66
- none: false
67
23
  requirements:
68
- - - ! '>='
24
+ - - "~>"
69
25
  - !ruby/object:Gem::Version
70
- version: 2.0.4
26
+ version: '1.0'
71
27
  - !ruby/object:Gem::Dependency
72
- name: rdoc
28
+ name: hoe-gemspec2
73
29
  requirement: !ruby/object:Gem::Requirement
74
- none: false
75
30
  requirements:
76
- - - ~>
31
+ - - "~>"
77
32
  - !ruby/object:Gem::Version
78
- version: '3.10'
33
+ version: '1.1'
79
34
  type: :development
80
35
  prerelease: false
81
36
  version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
37
  requirements:
84
- - - ~>
38
+ - - "~>"
85
39
  - !ruby/object:Gem::Version
86
- version: '3.10'
40
+ version: '1.1'
87
41
  - !ruby/object:Gem::Dependency
88
- name: hoe-bundler
42
+ name: hoe-git
89
43
  requirement: !ruby/object:Gem::Requirement
90
- none: false
91
44
  requirements:
92
- - - ~>
45
+ - - "~>"
93
46
  - !ruby/object:Gem::Version
94
- version: '1.2'
47
+ version: '1.6'
95
48
  type: :development
96
49
  prerelease: false
97
50
  version_requirements: !ruby/object:Gem::Requirement
98
- none: false
99
51
  requirements:
100
- - - ~>
52
+ - - "~>"
101
53
  - !ruby/object:Gem::Version
102
- version: '1.2'
54
+ version: '1.6'
103
55
  - !ruby/object:Gem::Dependency
104
- name: hoe-doofus
56
+ name: hoe-rubygems
105
57
  requirement: !ruby/object:Gem::Requirement
106
- none: false
107
58
  requirements:
108
- - - ~>
59
+ - - "~>"
109
60
  - !ruby/object:Gem::Version
110
61
  version: '1.0'
111
62
  type: :development
112
63
  prerelease: false
113
64
  version_requirements: !ruby/object:Gem::Requirement
114
- none: false
115
65
  requirements:
116
- - - ~>
66
+ - - "~>"
117
67
  - !ruby/object:Gem::Version
118
68
  version: '1.0'
119
69
  - !ruby/object:Gem::Dependency
120
- name: hoe-gemspec
70
+ name: hoe-travis
121
71
  requirement: !ruby/object:Gem::Requirement
122
- none: false
123
72
  requirements:
124
- - - ~>
73
+ - - "~>"
125
74
  - !ruby/object:Gem::Version
126
- version: '1.0'
75
+ version: '1.2'
127
76
  type: :development
128
77
  prerelease: false
129
78
  version_requirements: !ruby/object:Gem::Requirement
130
- none: false
131
79
  requirements:
132
- - - ~>
80
+ - - "~>"
133
81
  - !ruby/object:Gem::Version
134
- version: '1.0'
82
+ version: '1.2'
135
83
  - !ruby/object:Gem::Dependency
136
- name: hoe-git
84
+ name: rspec
137
85
  requirement: !ruby/object:Gem::Requirement
138
- none: false
139
86
  requirements:
140
- - - ~>
87
+ - - ">="
141
88
  - !ruby/object:Gem::Version
142
- version: '1.5'
143
- type: :development
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- none: false
147
- requirements:
148
- - - ~>
149
- - !ruby/object:Gem::Version
150
- version: '1.5'
151
- - !ruby/object:Gem::Dependency
152
- name: hoe-rubygems
153
- requirement: !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ~>
89
+ version: '2.0'
90
+ - - "<"
157
91
  - !ruby/object:Gem::Version
158
- version: '1.0'
92
+ version: '4'
159
93
  type: :development
160
94
  prerelease: false
161
95
  version_requirements: !ruby/object:Gem::Requirement
162
- none: false
163
96
  requirements:
164
- - - ~>
97
+ - - ">="
165
98
  - !ruby/object:Gem::Version
166
- version: '1.0'
167
- - !ruby/object:Gem::Dependency
168
- name: hoe-travis
169
- requirement: !ruby/object:Gem::Requirement
170
- none: false
171
- requirements:
172
- - - ~>
173
- - !ruby/object:Gem::Version
174
- version: '1.2'
175
- type: :development
176
- prerelease: false
177
- version_requirements: !ruby/object:Gem::Requirement
178
- none: false
179
- requirements:
180
- - - ~>
99
+ version: '2.0'
100
+ - - "<"
181
101
  - !ruby/object:Gem::Version
182
- version: '1.2'
102
+ version: '4'
183
103
  - !ruby/object:Gem::Dependency
184
104
  name: rake
185
105
  requirement: !ruby/object:Gem::Requirement
186
- none: false
187
106
  requirements:
188
- - - ~>
107
+ - - ">="
189
108
  - !ruby/object:Gem::Version
190
109
  version: '10.0'
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: '14'
191
113
  type: :development
192
114
  prerelease: false
193
115
  version_requirements: !ruby/object:Gem::Requirement
194
- none: false
195
116
  requirements:
196
- - - ~>
117
+ - - ">="
197
118
  - !ruby/object:Gem::Version
198
119
  version: '10.0'
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: '14'
199
123
  - !ruby/object:Gem::Dependency
200
- name: rspec
124
+ name: rdoc
201
125
  requirement: !ruby/object:Gem::Requirement
202
- none: false
203
126
  requirements:
204
- - - ~>
127
+ - - ">="
205
128
  - !ruby/object:Gem::Version
206
- version: '2.0'
129
+ version: '0'
207
130
  type: :development
208
131
  prerelease: false
209
132
  version_requirements: !ruby/object:Gem::Requirement
210
- none: false
211
133
  requirements:
212
- - - ~>
134
+ - - ">="
213
135
  - !ruby/object:Gem::Version
214
- version: '2.0'
136
+ version: '0'
215
137
  - !ruby/object:Gem::Dependency
216
138
  name: hoe
217
139
  requirement: !ruby/object:Gem::Requirement
218
- none: false
219
140
  requirements:
220
- - - ~>
141
+ - - "~>"
221
142
  - !ruby/object:Gem::Version
222
- version: '3.5'
143
+ version: '3.22'
223
144
  type: :development
224
145
  prerelease: false
225
146
  version_requirements: !ruby/object:Gem::Requirement
226
- none: false
227
147
  requirements:
228
- - - ~>
148
+ - - "~>"
229
149
  - !ruby/object:Gem::Version
230
- version: '3.5'
231
- description: ! 'Diff::LCS computes the difference between two Enumerable sequences
232
- using the
233
-
150
+ version: '3.22'
151
+ description: |-
152
+ Diff::LCS computes the difference between two Enumerable sequences using the
234
153
  McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
235
-
236
154
  to create a simple HTML diff output format and a standard diff-like tool.
237
155
 
156
+ This is release 1.4, providing a simple extension that allows for
157
+ Diff::LCS::Change objects to be treated implicitly as arrays. Ruby versions
158
+ below 2.5 are soft-deprecated.
238
159
 
239
- This is release 1.2.2, fixing a bug that prevented comparison of values that
240
-
241
- are not US-ASCII-compatible. Thanks to Jon Rowe for finding and providing most
242
-
243
- of the work behind this issue. This is a recommended release.'
160
+ This means that older versions are no longer part of the CI test suite. If any
161
+ changes have been introduced that break those versions, bug reports and patches
162
+ will be accepted, but it will be up to the reporter to verify any fixes prior
163
+ to release. A future release will completely break compatibility.
244
164
  email:
245
- - austin@rubyforge.org
165
+ - halostatue@gmail.com
246
166
  executables:
247
167
  - htmldiff
248
168
  - ldiff
249
169
  extensions: []
250
170
  extra_rdoc_files:
251
- - Contributing.rdoc
252
- - History.rdoc
253
- - License.rdoc
171
+ - Code-of-Conduct.md
172
+ - Contributing.md
173
+ - History.md
174
+ - License.md
254
175
  - Manifest.txt
255
176
  - README.rdoc
256
177
  - docs/COPYING.txt
257
178
  - docs/artistic.txt
258
179
  files:
259
- - .autotest
260
- - .gemtest
261
- - .hoerc
262
- - .rspec
263
- - .travis.yml
264
- - Contributing.rdoc
265
- - Gemfile
266
- - History.rdoc
267
- - License.rdoc
180
+ - ".rspec"
181
+ - Code-of-Conduct.md
182
+ - Contributing.md
183
+ - History.md
184
+ - License.md
268
185
  - Manifest.txt
269
186
  - README.rdoc
270
187
  - Rakefile
271
188
  - autotest/discover.rb
272
189
  - bin/htmldiff
273
190
  - bin/ldiff
274
- - diff-lcs.gemspec
275
191
  - docs/COPYING.txt
276
192
  - docs/artistic.txt
277
193
  - lib/diff-lcs.rb
278
194
  - lib/diff/lcs.rb
279
195
  - lib/diff/lcs/array.rb
196
+ - lib/diff/lcs/backports.rb
280
197
  - lib/diff/lcs/block.rb
281
198
  - lib/diff/lcs/callbacks.rb
282
199
  - lib/diff/lcs/change.rb
@@ -287,39 +204,53 @@ files:
287
204
  - lib/diff/lcs/string.rb
288
205
  - spec/change_spec.rb
289
206
  - spec/diff_spec.rb
207
+ - spec/fixtures/aX
208
+ - spec/fixtures/bXaX
209
+ - spec/fixtures/ds1.csv
210
+ - spec/fixtures/ds2.csv
211
+ - spec/fixtures/ldiff/output.diff
212
+ - spec/fixtures/ldiff/output.diff-c
213
+ - spec/fixtures/ldiff/output.diff-e
214
+ - spec/fixtures/ldiff/output.diff-f
215
+ - spec/fixtures/ldiff/output.diff-u
290
216
  - spec/hunk_spec.rb
291
217
  - spec/issues_spec.rb
292
218
  - spec/lcs_spec.rb
219
+ - spec/ldiff_spec.rb
293
220
  - spec/patch_spec.rb
294
221
  - spec/sdiff_spec.rb
295
222
  - spec/spec_helper.rb
296
223
  - spec/traverse_balanced_spec.rb
297
224
  - spec/traverse_sequences_spec.rb
298
- homepage: http://diff-lcs.rubyforge.org/
299
- licenses: []
300
- post_install_message:
225
+ homepage: https://github.com/halostatue/diff-lcs
226
+ licenses:
227
+ - MIT
228
+ - Artistic-2.0
229
+ - GPL-2.0+
230
+ metadata:
231
+ homepage_uri: https://github.com/halostatue/diff-lcs
232
+ source_code_uri: https://github.com/halostatue/diff-lcs
233
+ bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
234
+ post_install_message:
301
235
  rdoc_options:
302
- - --main
236
+ - "--main"
303
237
  - README.rdoc
304
238
  require_paths:
305
239
  - lib
306
240
  required_ruby_version: !ruby/object:Gem::Requirement
307
- none: false
308
241
  requirements:
309
- - - ! '>='
242
+ - - ">="
310
243
  - !ruby/object:Gem::Version
311
- version: '0'
244
+ version: '1.8'
312
245
  required_rubygems_version: !ruby/object:Gem::Requirement
313
- none: false
314
246
  requirements:
315
- - - ! '>='
247
+ - - ">="
316
248
  - !ruby/object:Gem::Version
317
249
  version: '0'
318
250
  requirements: []
319
- rubyforge_project: diff-lcs
320
- rubygems_version: 1.8.25
321
- signing_key:
322
- specification_version: 3
251
+ rubygems_version: 3.0.3
252
+ signing_key:
253
+ specification_version: 4
323
254
  summary: Diff::LCS computes the difference between two Enumerable sequences using
324
255
  the McIlroy-Hunt longest common subsequence (LCS) algorithm
325
256
  test_files: []