summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--Rakefile11
-rw-r--r--diff-lcs.gemspec11
-rw-r--r--lib/diff/lcs.rb2
-rw-r--r--lib/diff/lcs/block.rb2
-rw-r--r--spec/issues_spec.rb10
-rw-r--r--spec/ldiff_spec.rb14
7 files changed, 25 insertions, 27 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7d953b1..6f539eb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -60,4 +60,4 @@ jobs:
- name: Install dependencies
run: bundle install
- name: Run tests
- run: bundle exec rake
+ run: bundle exec ruby -S rake
diff --git a/Rakefile b/Rakefile
index e6bbf86..c19b7d1 100644
--- a/Rakefile
+++ b/Rakefile
@@ -24,22 +24,11 @@ _spec = Hoe.spec 'diff-lcs' do
extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
extra_dev_deps << ['hoe-git', '~> 1.6']
extra_dev_deps << ['hoe-rubygems', '~> 1.0']
- extra_dev_deps << ['hoe-travis', '~> 1.2']
extra_dev_deps << ['rspec', '>= 2.0', '< 4']
extra_dev_deps << ['rake', '>= 10.0', '< 14']
extra_dev_deps << ['rdoc', '>= 0']
end
-require "rspec/core/rake_task"
-
-desc "Run all specifications"
-RSpec::Core::RakeTask.new(:spec) do |t|
- rspec_dirs = %w(spec lib)
- t.rspec_opts = []
- t.rspec_opts << "-I#{rspec_dirs.join(":")}" unless rspec_dirs.empty?
-end
-task :default => :spec
-
if RUBY_VERSION >= '2.0' && RUBY_ENGINE == 'ruby'
namespace :spec do
desc "Runs test coverage. Only works Ruby 2.0+ and assumes 'simplecov' is installed."
diff --git a/diff-lcs.gemspec b/diff-lcs.gemspec
index 17b7f24..1b9c386 100644
--- a/diff-lcs.gemspec
+++ b/diff-lcs.gemspec
@@ -1,16 +1,16 @@
# -*- encoding: utf-8 -*-
-# stub: diff-lcs 1.4 ruby lib
+# stub: diff-lcs 1.4.1 ruby lib
Gem::Specification.new do |s|
s.name = "diff-lcs".freeze
- s.version = "1.4"
+ s.version = "1.4.1"
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
s.metadata = { "bug_tracker_uri" => "https://github.com/halostatue/diff-lcs/issues", "homepage_uri" => "https://github.com/halostatue/diff-lcs", "source_code_uri" => "https://github.com/halostatue/diff-lcs" } if s.respond_to? :metadata=
s.require_paths = ["lib".freeze]
s.authors = ["Austin Ziegler".freeze]
- s.date = "2020-06-22"
- s.description = "Diff::LCS computes the difference between two Enumerable sequences using the\nMcIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities\nto create a simple HTML diff output format and a standard diff-like tool.\n\nThis is release 1.4, providing a simple extension that allows for\nDiff::LCS::Change objects to be treated implicitly as arrays. Ruby versions\nbelow 2.3 are soft-deprecated.\n\nThis means that older versions are no longer part of the CI test suite. If any\nchanges have been introduced that break those versions, bug reports and patches\nwill be accepted, but it will be up to the reporter to verify any fixes prior\nto release. A future release will completely break compatibility.".freeze
+ s.date = "2020-06-23"
+ s.description = "Diff::LCS computes the difference between two Enumerable sequences using the\nMcIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities\nto create a simple HTML diff output format and a standard diff-like tool.\n\nThis is release 1.4, providing a simple extension that allows for\nDiff::LCS::Change objects to be treated implicitly as arrays. Ruby versions\nbelow 2.5 are soft-deprecated.\n\nThis means that older versions are no longer part of the CI test suite. If any\nchanges have been introduced that break those versions, bug reports and patches\nwill be accepted, but it will be up to the reporter to verify any fixes prior\nto release. A future release will completely break compatibility.".freeze
s.email = ["halostatue@gmail.com".freeze]
s.executables = ["htmldiff".freeze, "ldiff".freeze]
s.extra_rdoc_files = ["Code-of-Conduct.md".freeze, "Contributing.md".freeze, "History.md".freeze, "License.md".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "docs/COPYING.txt".freeze, "docs/artistic.txt".freeze]
@@ -30,7 +30,6 @@ Gem::Specification.new do |s|
s.add_development_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"])
s.add_development_dependency(%q<hoe-git>.freeze, ["~> 1.6"])
s.add_development_dependency(%q<hoe-rubygems>.freeze, ["~> 1.0"])
- s.add_development_dependency(%q<hoe-travis>.freeze, ["~> 1.2"])
s.add_development_dependency(%q<rspec>.freeze, [">= 2.0", "< 4"])
s.add_development_dependency(%q<rake>.freeze, [">= 10.0", "< 14"])
s.add_development_dependency(%q<rdoc>.freeze, [">= 0"])
@@ -40,7 +39,6 @@ Gem::Specification.new do |s|
s.add_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"])
s.add_dependency(%q<hoe-git>.freeze, ["~> 1.6"])
s.add_dependency(%q<hoe-rubygems>.freeze, ["~> 1.0"])
- s.add_dependency(%q<hoe-travis>.freeze, ["~> 1.2"])
s.add_dependency(%q<rspec>.freeze, [">= 2.0", "< 4"])
s.add_dependency(%q<rake>.freeze, [">= 10.0", "< 14"])
s.add_dependency(%q<rdoc>.freeze, [">= 0"])
@@ -51,7 +49,6 @@ Gem::Specification.new do |s|
s.add_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"])
s.add_dependency(%q<hoe-git>.freeze, ["~> 1.6"])
s.add_dependency(%q<hoe-rubygems>.freeze, ["~> 1.0"])
- s.add_dependency(%q<hoe-travis>.freeze, ["~> 1.2"])
s.add_dependency(%q<rspec>.freeze, [">= 2.0", "< 4"])
s.add_dependency(%q<rake>.freeze, [">= 10.0", "< 14"])
s.add_dependency(%q<rdoc>.freeze, [">= 0"])
diff --git a/lib/diff/lcs.rb b/lib/diff/lcs.rb
index c4d1cc8..b6d0a86 100644
--- a/lib/diff/lcs.rb
+++ b/lib/diff/lcs.rb
@@ -49,7 +49,7 @@ module Diff; end unless defined? Diff # rubocop:disable Style/Documentation
# a x b y c z p d q
# a b c a x b y c z
module Diff::LCS
- VERSION = '1.4'
+ VERSION = '1.4.1'
end
require 'diff/lcs/callbacks'
diff --git a/lib/diff/lcs/block.rb b/lib/diff/lcs/block.rb
index 430702d..fe86793 100644
--- a/lib/diff/lcs/block.rb
+++ b/lib/diff/lcs/block.rb
@@ -19,7 +19,7 @@ class Diff::LCS::Block
end
def diff_size
- @insert.size - @remove.size
+ (@insert.size - @remove.size).abs
end
def op
diff --git a/spec/issues_spec.rb b/spec/issues_spec.rb
index 79ddd0b..c4542bb 100644
--- a/spec/issues_spec.rb
+++ b/spec/issues_spec.rb
@@ -54,4 +54,14 @@ describe 'Diff::LCS Issues' do
]
end
end
+
+ describe "issue #57" do
+ it 'should fail with a correct error' do
+ expect {
+ actual = {:category=>"app.rack.request"}
+ expected = {:category=>"rack.middleware", :title=>"Anonymous Middleware"}
+ expect(actual).to eq(expected)
+ }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
+ end
+ end
end
diff --git a/spec/ldiff_spec.rb b/spec/ldiff_spec.rb
index 6dfea29..bd3c1e9 100644
--- a/spec/ldiff_spec.rb
+++ b/spec/ldiff_spec.rb
@@ -36,12 +36,14 @@ RSpec.describe 'bin/ldiff' do
end
def clean_data(data, flag)
- case flag
- when '-c', '-u'
- clean_output_timestamp(data)
- else
- data
- end
+ data =
+ case flag
+ when '-c', '-u'
+ clean_output_timestamp(data)
+ else
+ data
+ end
+ data.gsub(/\r\n?/, "\n")
end
def clean_output_timestamp(data)