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
@@ -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: []