diff-lcs 1.2.3 → 1.4.1

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 +20 -24
  9. data/Rakefile +24 -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 +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 +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 +37 -37
  37. data/spec/issues_spec.rb +60 -17
  38. data/spec/lcs_spec.rb +24 -22
  39. data/spec/ldiff_spec.rb +74 -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 +92 -188
  46. data.tar.gz.sig +0 -4
  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 -135
  54. data/diff-lcs.gemspec +0 -63
  55. 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,295 +1,185 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-lcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
5
- prerelease:
4
+ version: 1.4.1
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-12 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2020-06-23 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: '3.10'
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: '3.10'
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
- name: hoe-gemspec
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
- version: '1.0'
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
- version: '1.0'
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
+ - - ">="
173
74
  - !ruby/object:Gem::Version
174
- version: '1.2'
75
+ version: '2.0'
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
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.5'
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.5'
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.3, fixing a bug in value comparison where the left side of
240
-
241
- the comparison was the empty set, preventing the detection of encoding. Thanks
242
-
243
- to Jon Rowe for fixing this issue. This is a strongly recommended release.
244
-
245
-
246
- *Note*: There is a known issue with Rubinius in 1.9 mode reported in
247
-
248
- {rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268] and
249
-
250
- demonstrated in the Travis CI builds. For all other tested platforms, diff-lcs
251
-
252
- is considered stable. As soon as a suitably small test-case can be created for
253
-
254
- the Rubinius team to examine, this will be added to the Rubinius issue around
255
-
256
- this.'
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.
257
150
  email:
258
- - austin@rubyforge.org
151
+ - halostatue@gmail.com
259
152
  executables:
260
153
  - htmldiff
261
154
  - ldiff
262
155
  extensions: []
263
156
  extra_rdoc_files:
264
- - Contributing.rdoc
265
- - History.rdoc
266
- - License.rdoc
157
+ - Code-of-Conduct.md
158
+ - Contributing.md
159
+ - History.md
160
+ - License.md
267
161
  - Manifest.txt
268
162
  - README.rdoc
269
163
  - docs/COPYING.txt
270
164
  - docs/artistic.txt
271
165
  files:
272
- - .autotest
273
- - .gemtest
274
- - .hoerc
275
- - .rspec
276
- - .travis.yml
277
- - Contributing.rdoc
278
- - Gemfile
279
- - History.rdoc
280
- - License.rdoc
166
+ - ".rspec"
167
+ - Code-of-Conduct.md
168
+ - Contributing.md
169
+ - History.md
170
+ - License.md
281
171
  - Manifest.txt
282
172
  - README.rdoc
283
173
  - Rakefile
284
174
  - autotest/discover.rb
285
175
  - bin/htmldiff
286
176
  - bin/ldiff
287
- - diff-lcs.gemspec
288
177
  - docs/COPYING.txt
289
178
  - docs/artistic.txt
290
179
  - lib/diff-lcs.rb
291
180
  - lib/diff/lcs.rb
292
181
  - lib/diff/lcs/array.rb
182
+ - lib/diff/lcs/backports.rb
293
183
  - lib/diff/lcs/block.rb
294
184
  - lib/diff/lcs/callbacks.rb
295
185
  - lib/diff/lcs/change.rb
@@ -300,39 +190,53 @@ files:
300
190
  - lib/diff/lcs/string.rb
301
191
  - spec/change_spec.rb
302
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
303
202
  - spec/hunk_spec.rb
304
203
  - spec/issues_spec.rb
305
204
  - spec/lcs_spec.rb
205
+ - spec/ldiff_spec.rb
306
206
  - spec/patch_spec.rb
307
207
  - spec/sdiff_spec.rb
308
208
  - spec/spec_helper.rb
309
209
  - spec/traverse_balanced_spec.rb
310
210
  - spec/traverse_sequences_spec.rb
311
- homepage: http://diff-lcs.rubyforge.org/
312
- licenses: []
313
- 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:
314
221
  rdoc_options:
315
- - --main
222
+ - "--main"
316
223
  - README.rdoc
317
224
  require_paths:
318
225
  - lib
319
226
  required_ruby_version: !ruby/object:Gem::Requirement
320
- none: false
321
227
  requirements:
322
- - - ! '>='
228
+ - - ">="
323
229
  - !ruby/object:Gem::Version
324
- version: '0'
230
+ version: '1.8'
325
231
  required_rubygems_version: !ruby/object:Gem::Requirement
326
- none: false
327
232
  requirements:
328
- - - ! '>='
233
+ - - ">="
329
234
  - !ruby/object:Gem::Version
330
235
  version: '0'
331
236
  requirements: []
332
- rubyforge_project: diff-lcs
333
- rubygems_version: 1.8.25
334
- signing_key:
335
- specification_version: 3
237
+ rubygems_version: 3.0.3
238
+ signing_key:
239
+ specification_version: 4
336
240
  summary: Diff::LCS computes the difference between two Enumerable sequences using
337
241
  the McIlroy-Hunt longest common subsequence (LCS) algorithm
338
242
  test_files: []