summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Ziegler <austin@zieglers.ca>2021-12-23 10:44:44 -0500
committerAustin Ziegler <austin@zieglers.ca>2022-07-04 20:26:10 -0400
commitf85ec381137c6838600b16c353ff9dba3a05452c (patch)
tree7a2718961e97c56d4c70dc0a6ebe6b17aee005fc
parentef23b66e9a495206f2bf1cd9ce0df50d363d26ef (diff)
downloaddiff-lcs-f85ec381137c6838600b16c353ff9dba3a05452c.tar.gz
standardrb --only Style/StringLiterals --fix
-rw-r--r--Gemfile24
-rw-r--r--Rakefile42
-rwxr-xr-xbin/htmldiff8
-rw-r--r--lib/diff-lcs.rb2
-rw-r--r--lib/diff/lcs.rb64
-rw-r--r--lib/diff/lcs/array.rb2
-rw-r--r--lib/diff/lcs/block.rb8
-rw-r--r--lib/diff/lcs/callbacks.rb6
-rw-r--r--lib/diff/lcs/change.rb32
-rw-r--r--lib/diff/lcs/htmldiff.rb12
-rw-r--r--lib/diff/lcs/hunk.rb20
-rw-r--r--lib/diff/lcs/internals.rb16
-rw-r--r--lib/diff/lcs/ldiff.rb46
-rw-r--r--spec/change_spec.rb48
-rw-r--r--spec/diff_spec.rb28
-rw-r--r--spec/hunk_spec.rb34
-rw-r--r--spec/issues_spec.rb82
-rw-r--r--spec/lcs_spec.rb20
-rw-r--r--spec/ldiff_spec.rb22
-rw-r--r--spec/patch_spec.rb164
-rw-r--r--spec/sdiff_spec.rb176
-rw-r--r--spec/spec_helper.rb122
-rw-r--r--spec/traverse_balanced_spec.rb346
-rw-r--r--spec/traverse_sequences_spec.rb58
24 files changed, 691 insertions, 691 deletions
diff --git a/Gemfile b/Gemfile
index b482de6..2840096 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,23 +3,23 @@
# NOTE: This file is present to keep Travis CI happy. Edits to it will not
# be accepted.
-source 'https://rubygems.org/'
+source "https://rubygems.org/"
-if RUBY_VERSION < '1.9'
- gem 'hoe', '~> 3.20'
- gem 'rake', '< 11'
- gem 'rdoc', '< 4'
+if RUBY_VERSION < "1.9"
+ gem "hoe", "~> 3.20"
+ gem "rake", "< 11"
+ gem "rdoc", "< 4"
- gem 'ruby-debug'
+ gem "ruby-debug"
end
-if RUBY_VERSION >= '2.0'
- gem 'standardrb'
- gem 'fasterer'
+if RUBY_VERSION >= "2.0"
+ gem "standardrb"
+ gem "fasterer"
- if RUBY_ENGINE == 'ruby'
- gem 'simplecov', '~> 0.18'
- gem 'byebug'
+ if RUBY_ENGINE == "ruby"
+ gem "simplecov", "~> 0.18"
+ gem "byebug"
end
end
diff --git a/Rakefile b/Rakefile
index fd7ee31..18c1304 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,9 +1,9 @@
# frozen_string_literal: true
-require 'rubygems'
-require 'rspec'
-require 'rspec/core/rake_task'
-require 'hoe'
+require "rubygems"
+require "rspec"
+require "rspec/core/rake_task"
+require "hoe"
# This is required until https://github.com/seattlerb/hoe/issues/112 is fixed
class Hoe
@@ -45,7 +45,7 @@ Hoe.plugin :doofus
Hoe.plugin :gemspec2
Hoe.plugin :git
-if RUBY_VERSION < '1.9'
+if RUBY_VERSION < "1.9"
class Array #:nodoc:
def to_h
Hash[*flatten(1)]
@@ -65,22 +65,22 @@ if RUBY_VERSION < '1.9'
end
end
-_spec = Hoe.spec 'diff-lcs' do
- developer('Austin Ziegler', 'halostatue@gmail.com')
+_spec = Hoe.spec "diff-lcs" do
+ developer("Austin Ziegler", "halostatue@gmail.com")
- require_ruby_version '>= 1.8'
+ require_ruby_version ">= 1.8"
- self.history_file = 'History.md'
- self.readme_file = 'README.rdoc'
- self.licenses = ['MIT', 'Artistic-2.0', 'GPL-2.0+']
+ self.history_file = "History.md"
+ self.readme_file = "README.rdoc"
+ self.licenses = ["MIT", "Artistic-2.0", "GPL-2.0+"]
- extra_dev_deps << ['hoe-doofus', '~> 1.0']
- extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
- extra_dev_deps << ['hoe-git', '~> 1.6']
- extra_dev_deps << ['hoe-rubygems', '~> 1.0']
- extra_dev_deps << ['rspec', '>= 2.0', '< 4']
- extra_dev_deps << ['rake', '>= 10.0', '< 14']
- extra_dev_deps << ['rdoc', '>= 6.3.1', '< 7']
+ extra_dev_deps << ["hoe-doofus", "~> 1.0"]
+ extra_dev_deps << ["hoe-gemspec2", "~> 1.1"]
+ extra_dev_deps << ["hoe-git", "~> 1.6"]
+ extra_dev_deps << ["hoe-rubygems", "~> 1.0"]
+ extra_dev_deps << ["rspec", ">= 2.0", "< 4"]
+ extra_dev_deps << ["rake", ">= 10.0", "< 14"]
+ extra_dev_deps << ["rdoc", ">= 6.3.1", "< 7"]
end
desc "Run all specifications"
@@ -94,12 +94,12 @@ Rake::Task["spec"].actions.uniq! { |a| a.source_location }
task :default => :spec unless Rake::Task["default"].prereqs.include?("spec")
task :test => :spec unless Rake::Task["test"].prereqs.include?("spec")
-if RUBY_VERSION >= '2.0' && RUBY_ENGINE == 'ruby'
+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."
task :coverage do
- ENV['COVERAGE'] = 'yes'
- Rake::Task['spec'].execute
+ ENV["COVERAGE"] = "yes"
+ Rake::Task["spec"].execute
end
end
end
diff --git a/bin/htmldiff b/bin/htmldiff
index 14114a7..bcd89d2 100755
--- a/bin/htmldiff
+++ b/bin/htmldiff
@@ -1,11 +1,11 @@
#! /usr/bin/env ruby -w
# frozen_string_literal: true
-require 'diff/lcs'
-require 'diff/lcs/htmldiff'
+require "diff/lcs"
+require "diff/lcs/htmldiff"
begin
- require 'text/format'
+ require "text/format"
rescue LoadError
Diff::LCS::HTMLDiff.can_expand_tabs = false
end
@@ -24,7 +24,7 @@ options = { :title => "diff #{ARGV[0]} #{ARGV[1]}" }
htmldiff = Diff::LCS::HTMLDiff.new(left, right, options)
if ARGV[2]
- File.open(ARGV[2], 'w') do |f|
+ File.open(ARGV[2], "w") do |f|
htmldiff.options[:output] = f
htmldiff.run
end
diff --git a/lib/diff-lcs.rb b/lib/diff-lcs.rb
index 250392f..bc07bf9 100644
--- a/lib/diff-lcs.rb
+++ b/lib/diff-lcs.rb
@@ -1,3 +1,3 @@
# frozen_string_literal: true
-require 'diff/lcs'
+require "diff/lcs"
diff --git a/lib/diff/lcs.rb b/lib/diff/lcs.rb
index 234fd03..e6d817b 100644
--- a/lib/diff/lcs.rb
+++ b/lib/diff/lcs.rb
@@ -49,11 +49,11 @@ 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.5.0'
+ VERSION = "1.5.0"
end
-require 'diff/lcs/callbacks'
-require 'diff/lcs/internals'
+require "diff/lcs/callbacks"
+require "diff/lcs/internals"
module Diff::LCS # rubocop:disable Style/Documentation
# Returns an Array containing the longest common subsequence(s) between
@@ -299,7 +299,7 @@ class << Diff::LCS
ax = string ? seq1[ai, 1] : seq1[ai]
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
end
@@ -310,13 +310,13 @@ class << Diff::LCS
break unless bj < b_line
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
bj += 1
end
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('=', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("=", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.match(event)
bj += 1
@@ -332,7 +332,7 @@ class << Diff::LCS
if callbacks.respond_to?(:finished_a) and !run_finished_a
ax = string ? seq1[-1, 1] : seq1[-1]
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('>', (a_size - 1), ax, bj, bx)
+ event = Diff::LCS::ContextChange.new(">", (a_size - 1), ax, bj, bx)
event = yield event if block_given?
callbacks.finished_a(event)
run_finished_a = true
@@ -340,7 +340,7 @@ class << Diff::LCS
ax = string ? seq1[ai, 1] : seq1[ai]
loop do
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
bj += 1
@@ -354,7 +354,7 @@ class << Diff::LCS
if callbacks.respond_to?(:finished_b) and !run_finished_b
ax = string ? seq1[ai, 1] : seq1[ai]
bx = string ? seq2[-1, 1] : seq2[-1]
- event = Diff::LCS::ContextChange.new('<', ai, ax, (b_size - 1), bx)
+ event = Diff::LCS::ContextChange.new("<", ai, ax, (b_size - 1), bx)
event = yield event if block_given?
callbacks.finished_b(event)
run_finished_b = true
@@ -362,7 +362,7 @@ class << Diff::LCS
bx = string ? seq2[bj, 1] : seq2[bj]
loop do
ax = string ? seq1[ai, 1] : seq1[ai]
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
@@ -374,7 +374,7 @@ class << Diff::LCS
if ai < a_size
ax = string ? seq1[ai, 1] : seq1[ai]
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
@@ -383,7 +383,7 @@ class << Diff::LCS
if bj < b_size
ax = string ? seq1[ai, 1] : seq1[ai]
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
bj += 1
@@ -500,29 +500,29 @@ class << Diff::LCS
case [(ai < ma), (bj < mb)]
when [true, true]
if callbacks.respond_to?(:change)
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("!", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.change(event)
ai += 1
else
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
ax = string ? seq1[ai, 1] : seq1[ai]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
end
bj += 1
when [true, false]
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
when [false, true]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
bj += 1
@@ -532,7 +532,7 @@ class << Diff::LCS
# Match
ax = string ? seq1[ai, 1] : seq1[ai]
bx = string ? seq2[bj, 1] : seq2[bj]
- event = Diff::LCS::ContextChange.new('=', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("=", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.match(event)
ai += 1
@@ -546,29 +546,29 @@ class << Diff::LCS
case [(ai < a_size), (bj < b_size)]
when [true, true]
if callbacks.respond_to?(:change)
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("!", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.change(event)
ai += 1
else
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
ax = string ? seq1[ai, 1] : seq1[ai]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
end
bj += 1
when [true, false]
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("-", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_a(event)
ai += 1
when [false, true]
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
+ event = Diff::LCS::ContextChange.new("+", ai, ax, bj, bx)
event = yield event if block_given?
callbacks.discard_b(event)
bj += 1
@@ -577,8 +577,8 @@ class << Diff::LCS
end
PATCH_MAP = { #:nodoc:
- :patch => { '+' => '+', '-' => '-', '!' => '!', '=' => '=' }.freeze,
- :unpatch => { '+' => '-', '-' => '+', '!' => '!', '=' => '=' }.freeze
+ :patch => { "+" => "+", "-" => "-", "!" => "!", "=" => "=" }.freeze,
+ :unpatch => { "+" => "-", "-" => "+", "!" => "!", "=" => "=" }.freeze
}.freeze
# Applies a +patchset+ to the sequence +src+ according to the +direction+
@@ -655,14 +655,14 @@ class << Diff::LCS
end
case action
- when '-' # Remove details from the old string
+ when "-" # Remove details from the old string
while ai < op
res << (string ? src[ai, 1] : src[ai])
ai += 1
bj += 1
end
ai += 1
- when '+'
+ when "+"
while bj < np
res << (string ? src[ai, 1] : src[ai])
ai += 1
@@ -671,7 +671,7 @@ class << Diff::LCS
res << el
bj += 1
- when '='
+ when "="
# This only appears in sdiff output with the SDiff callback.
# Therefore, we only need to worry about dealing with a single
# element.
@@ -679,7 +679,7 @@ class << Diff::LCS
ai += 1
bj += 1
- when '!'
+ when "!"
while ai < op
res << (string ? src[ai, 1] : src[ai])
ai += 1
@@ -693,14 +693,14 @@ class << Diff::LCS
end
when Diff::LCS::Change
case action
- when '-'
+ when "-"
while ai < change.position
res << (string ? src[ai, 1] : src[ai])
ai += 1
bj += 1
end
ai += 1
- when '+'
+ when "+"
while bj < change.position
res << (string ? src[ai, 1] : src[ai])
ai += 1
@@ -736,4 +736,4 @@ class << Diff::LCS
end
end
-require 'diff/lcs/backports'
+require "diff/lcs/backports"
diff --git a/lib/diff/lcs/array.rb b/lib/diff/lcs/array.rb
index 5c250f6..663918a 100644
--- a/lib/diff/lcs/array.rb
+++ b/lib/diff/lcs/array.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require 'diff/lcs'
+require "diff/lcs"
class Array
include Diff::LCS
diff --git a/lib/diff/lcs/block.rb b/lib/diff/lcs/block.rb
index 430702d..226ed6f 100644
--- a/lib/diff/lcs/block.rb
+++ b/lib/diff/lcs/block.rb
@@ -25,13 +25,13 @@ class Diff::LCS::Block
def op
case [@remove.empty?, @insert.empty?]
when [false, false]
- '!'
+ "!"
when [false, true]
- '-'
+ "-"
when [true, false]
- '+'
+ "+"
else # [true, true]
- '^'
+ "^"
end
end
end
diff --git a/lib/diff/lcs/callbacks.rb b/lib/diff/lcs/callbacks.rb
index 2a7665b..c075327 100644
--- a/lib/diff/lcs/callbacks.rb
+++ b/lib/diff/lcs/callbacks.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require 'diff/lcs/change'
+require "diff/lcs/change"
module Diff::LCS # rubocop:disable Style/Documentation
# This callback object implements the default set of callback events,
@@ -131,11 +131,11 @@ class Diff::LCS::DiffCallbacks
end
def discard_a(event)
- @hunk << Diff::LCS::Change.new('-', event.old_position, event.old_element)
+ @hunk << Diff::LCS::Change.new("-", event.old_position, event.old_element)
end
def discard_b(event)
- @hunk << Diff::LCS::Change.new('+', event.new_position, event.new_element)
+ @hunk << Diff::LCS::Change.new("+", event.new_position, event.new_element)
end
def finish_hunk
diff --git a/lib/diff/lcs/change.rb b/lib/diff/lcs/change.rb
index 76faf83..aa55360 100644
--- a/lib/diff/lcs/change.rb
+++ b/lib/diff/lcs/change.rb
@@ -28,7 +28,7 @@ class Diff::LCS::Change
@action, @position, @element = *args
fail "Invalid Change Action '#{@action}'" unless Diff::LCS::Change.valid_action?(@action)
- fail 'Invalid Position Type' unless @position.kind_of? IntClass
+ fail "Invalid Position Type" unless @position.kind_of? IntClass
end
def inspect(*_args)
@@ -49,7 +49,7 @@ class Diff::LCS::Change
when 3
Diff::LCS::Change.new(*(arr[0...3]))
else
- fail 'Invalid change array format provided.'
+ fail "Invalid change array format provided."
end
end
@@ -70,27 +70,27 @@ class Diff::LCS::Change
end
def adding?
- @action == '+'
+ @action == "+"
end
def deleting?
- @action == '-'
+ @action == "-"
end
def unchanged?
- @action == '='
+ @action == "="
end
def changed?
- @action == '!'
+ @action == "!"
end
def finished_a?
- @action == '>'
+ @action == ">"
end
def finished_b?
- @action == '<'
+ @action == "<"
end
end
@@ -115,8 +115,8 @@ class Diff::LCS::ContextChange < Diff::LCS::Change
@action, @old_position, @old_element, @new_position, @new_element = *args
fail "Invalid Change Action '#{@action}'" unless Diff::LCS::Change.valid_action?(@action)
- fail 'Invalid (Old) Position Type' unless @old_position.nil? or @old_position.kind_of? IntClass
- fail 'Invalid (New) Position Type' unless @new_position.nil? or @new_position.kind_of? IntClass
+ fail "Invalid (Old) Position Type" unless @old_position.nil? or @old_position.kind_of? IntClass
+ fail "Invalid (New) Position Type" unless @new_position.nil? or @new_position.kind_of? IntClass
end
def to_a
@@ -139,15 +139,15 @@ class Diff::LCS::ContextChange < Diff::LCS::Change
ea = event.to_a
case ea[0]
- when '-'
+ when "-"
ea[2][1] = nil
- when '<'
- ea[0] = '-'
+ when "<"
+ ea[0] = "-"
ea[2][1] = nil
- when '+'
+ when "+"
ea[1][1] = nil
- when '>'
- ea[0] = '+'
+ when ">"
+ ea[0] = "+"
ea[1][1] = nil
end
diff --git a/lib/diff/lcs/htmldiff.rb b/lib/diff/lcs/htmldiff.rb
index f12220b..41858d5 100644
--- a/lib/diff/lcs/htmldiff.rb
+++ b/lib/diff/lcs/htmldiff.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require 'cgi'
+require "cgi"
# Produce a simple HTML diff view.
class Diff::LCS::HTMLDiff
@@ -19,13 +19,13 @@ class Diff::LCS::HTMLDiff
@output = output
options ||= {}
- @match_class = options[:match_class] || 'match'
- @only_a_class = options[:only_a_class] || 'only_a'
- @only_b_class = options[:only_b_class] || 'only_b'
+ @match_class = options[:match_class] || "match"
+ @only_a_class = options[:only_a_class] || "only_a"
+ @only_b_class = options[:only_b_class] || "only_b"
end
def htmlize(element, css_class)
- element = '&nbsp;' if element.empty?
+ element = "&nbsp;" if element.empty?
%Q(<pre class="#{__send__(css_class)}">#{element}</pre>\n)
end
private :htmlize
@@ -103,7 +103,7 @@ h1 { margin-left: 2em; }
@options[:css] ||= DEFAULT_CSS.dup
- @options[:title] ||= 'diff'
+ @options[:title] ||= "diff"
end
private :verify_options
diff --git a/lib/diff/lcs/hunk.rb b/lib/diff/lcs/hunk.rb
index d27b024..2a9645d 100644
--- a/lib/diff/lcs/hunk.rb
+++ b/lib/diff/lcs/hunk.rb
@@ -1,13 +1,13 @@
# frozen_string_literal: true
-require 'diff/lcs/block'
+require "diff/lcs/block"
# A Hunk is a group of Blocks which overlap because of the context surrounding
# each block. (So if we're not using context, every hunk will contain one
# block.) Used in the diff program (bin/ldiff).
class Diff::LCS::Hunk
- OLD_DIFF_OP_ACTION = { '+' => 'a', '-' => 'd', '!' => 'c' }.freeze #:nodoc:
- ED_DIFF_OP_ACTION = { '+' => 'a', '-' => 'd', '!' => 'c' }.freeze #:nodoc:
+ OLD_DIFF_OP_ACTION = { "+" => "a", "-" => "d", "!" => "c" }.freeze #:nodoc:
+ ED_DIFF_OP_ACTION = { "+" => "a", "-" => "d", "!" => "c" }.freeze #:nodoc:
private_constant :OLD_DIFF_OP_ACTION, :ED_DIFF_OP_ACTION if respond_to?(:private_constant)
@@ -22,7 +22,7 @@ class Diff::LCS::Hunk
end
if String.method_defined?(:encoding)
- @preferred_data_encoding = data_old.fetch(0) { data_new.fetch(0) { '' } }.encoding
+ @preferred_data_encoding = data_old.fetch(0) { data_new.fetch(0) { "" } }.encoding
end
@data_old = data_old
@@ -133,7 +133,7 @@ class Diff::LCS::Hunk
# Note that an old diff can't have any context. Therefore, we know that
# there's only one block in the hunk.
def old_diff(_last = false)
- warn 'Expecting only one block in an old diff hunk!' if @blocks.size > 1
+ warn "Expecting only one block in an old diff hunk!" if @blocks.size > 1
block = @blocks[0]
@@ -144,13 +144,13 @@ class Diff::LCS::Hunk
# If removing anything, just print out all the remove lines in the hunk
# which is just all the remove lines in the block.
unless block.remove.empty?
- @data_old[@start_old..@end_old].each { |e| s << encode('< ') + e.chomp + encode("\n") }
+ @data_old[@start_old..@end_old].each { |e| s << encode("< ") + e.chomp + encode("\n") }
end
- s << encode("---\n") if block.op == '!'
+ s << encode("---\n") if block.op == "!"
unless block.insert.empty?
- @data_new[@start_new..@end_new].each { |e| s << encode('> ') + e.chomp + encode("\n") }
+ @data_new[@start_new..@end_new].each { |e| s << encode("> ") + e.chomp + encode("\n") }
end
s
@@ -213,7 +213,7 @@ class Diff::LCS::Hunk
def context_diff(last = false)
s = encode("***************\n")
s << encode("*** #{context_range(:old, ',', last)} ****\n")
- r = context_range(:new, ',', last)
+ r = context_range(:new, ",", last)
if last
old_missing_newline = missing_last_newline?(@data_old)
@@ -269,7 +269,7 @@ class Diff::LCS::Hunk
private :context_diff
def ed_diff(format, _last = false)
- warn 'Expecting only one block in an old diff hunk!' if @blocks.size > 1
+ warn "Expecting only one block in an old diff hunk!" if @blocks.size > 1
s =
if format == :reverse_ed
diff --git a/lib/diff/lcs/internals.rb b/lib/diff/lcs/internals.rb
index ef77667..2ed713f 100644
--- a/lib/diff/lcs/internals.rb
+++ b/lib/diff/lcs/internals.rb
@@ -100,7 +100,7 @@ class << Diff::LCS::Internals
# the object form of same) and detection of whether the patchset represents
# changes to be made.
def analyze_patchset(patchset, depth = 0)
- fail 'Patchset too complex' if depth > 1
+ fail "Patchset too complex" if depth > 1
has_changes = false
new_patchset = []
@@ -157,22 +157,22 @@ class << Diff::LCS::Internals
re = string ? src[change.new_position, 1] : src[change.new_position]
case change.action
- when '-' # Remove details from the old string
+ when "-" # Remove details from the old string
if le == change.old_element
left_match += 1
else
left_miss += 1
end
- when '+'
+ when "+"
if re == change.new_element
right_match += 1
else
right_miss += 1
end
- when '='
+ when "="
left_miss += 1 if le != change.old_element
right_miss += 1 if re != change.new_element
- when '!'
+ when "!"
if le == change.old_element
left_match += 1
elsif re == change.new_element
@@ -189,19 +189,19 @@ class << Diff::LCS::Internals
element = string ? src[change.position, 1] : src[change.position]
case change.action
- when '-'
+ when "-"
if element == change.element
left_match += 1
else
left_miss += 1
end
- when '+'
+ when "+"
if element == change.element
right_match += 1
else
right_miss += 1
end
- when '='
+ when "="
if element != change.element
left_miss += 1
right_miss += 1
diff --git a/lib/diff/lcs/ldiff.rb b/lib/diff/lcs/ldiff.rb
index 17b374c..c4a60d0 100644
--- a/lib/diff/lcs/ldiff.rb
+++ b/lib/diff/lcs/ldiff.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
-require 'optparse'
-require 'ostruct'
-require 'diff/lcs/hunk'
+require "optparse"
+require "ostruct"
+require "diff/lcs/hunk"
module Diff::LCS::Ldiff #:nodoc:
BANNER = <<-COPYRIGHT
@@ -28,48 +28,48 @@ class << Diff::LCS::Ldiff
args.options do |o|
o.banner = "Usage: #{File.basename($0)} [options] oldfile newfile"
- o.separator ''
+ o.separator ""
o.on(
- '-c', '-C', '--context [LINES]', Integer,
- 'Displays a context diff with LINES lines', 'of context. Default 3 lines.'
+ "-c", "-C", "--context [LINES]", Integer,
+ "Displays a context diff with LINES lines", "of context. Default 3 lines."
) do |ctx|
@format = :context
@lines = ctx || 3
end
o.on(
- '-u', '-U', '--unified [LINES]', Integer,
- 'Displays a unified diff with LINES lines', 'of context. Default 3 lines.'
+ "-u", "-U", "--unified [LINES]", Integer,
+ "Displays a unified diff with LINES lines", "of context. Default 3 lines."
) do |ctx|
@format = :unified
@lines = ctx || 3
end
- o.on('-e', 'Creates an \'ed\' script to change', 'oldfile to newfile.') do |_ctx|
+ o.on("-e", "Creates an 'ed' script to change", "oldfile to newfile.") do |_ctx|
@format = :ed
end
- o.on('-f', 'Creates an \'ed\' script to change', 'oldfile to newfile in reverse order.') do |_ctx|
+ o.on("-f", "Creates an 'ed' script to change", "oldfile to newfile in reverse order.") do |_ctx|
@format = :reverse_ed
end
o.on(
- '-a', '--text',
- 'Treat the files as text and compare them', 'line-by-line, even if they do not seem', 'to be text.'
+ "-a", "--text",
+ "Treat the files as text and compare them", "line-by-line, even if they do not seem", "to be text."
) do |_txt|
@binary = false
end
- o.on('--binary', 'Treats the files as binary.') do |_bin|
+ o.on("--binary", "Treats the files as binary.") do |_bin|
@binary = true
end
- o.on('-q', '--brief', 'Report only whether or not the files', 'differ, not the details.') do |_ctx|
+ o.on("-q", "--brief", "Report only whether or not the files", "differ, not the details.") do |_ctx|
@format = :report
end
- o.on_tail('--help', 'Shows this text.') do
+ o.on_tail("--help", "Shows this text.") do
error << o
return 0
end
- o.on_tail('--version', 'Shows the version of Diff::LCS.') do
+ o.on_tail("--version", "Shows the version of Diff::LCS.") do
error << Diff::LCS::Ldiff::BANNER
return 0
end
- o.on_tail ''
+ o.on_tail ""
o.on_tail 'By default, runs produces an "old-style" diff, with output like UNIX diff.'
o.parse!
end
@@ -87,11 +87,11 @@ class << Diff::LCS::Ldiff
case @format
when :context
- char_old = '*' * 3
- char_new = '-' * 3
+ char_old = "*" * 3
+ char_new = "-" * 3
when :unified
- char_old = '-' * 3
- char_new = '+' * 3
+ char_old = "-" * 3
+ char_new = "+" * 3
end
# After we've read up to a certain point in each file, the number of
@@ -129,9 +129,9 @@ class << Diff::LCS::Ldiff
end
if (@format == :unified) or (@format == :context)
- ft = File.stat(file_old).mtime.localtime.strftime('%Y-%m-%d %H:%M:%S.000000000 %z')
+ ft = File.stat(file_old).mtime.localtime.strftime("%Y-%m-%d %H:%M:%S.000000000 %z")
output << "#{char_old} #{file_old}\t#{ft}\n"
- ft = File.stat(file_new).mtime.localtime.strftime('%Y-%m-%d %H:%M:%S.000000000 %z')
+ ft = File.stat(file_new).mtime.localtime.strftime("%Y-%m-%d %H:%M:%S.000000000 %z")
output << "#{char_new} #{file_new}\t#{ft}\n"
end
diff --git a/spec/change_spec.rb b/spec/change_spec.rb
index b8d3443..237f621 100644
--- a/spec/change_spec.rb
+++ b/spec/change_spec.rb
@@ -1,10 +1,10 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
describe Diff::LCS::Change do
- describe 'an add' do
- subject { described_class.new('+', 0, 'element') }
+ describe "an add" do
+ subject { described_class.new("+", 0, "element") }
it { should_not be_deleting }
it { should be_adding }
it { should_not be_unchanged }
@@ -13,8 +13,8 @@ describe Diff::LCS::Change do
it { should_not be_finished_b }
end
- describe 'a delete' do
- subject { described_class.new('-', 0, 'element') }
+ describe "a delete" do
+ subject { described_class.new("-", 0, "element") }
it { should be_deleting }
it { should_not be_adding }
it { should_not be_unchanged }
@@ -23,8 +23,8 @@ describe Diff::LCS::Change do
it { should_not be_finished_b }
end
- describe 'an unchanged' do
- subject { described_class.new('=', 0, 'element') }
+ describe "an unchanged" do
+ subject { described_class.new("=", 0, "element") }
it { should_not be_deleting }
it { should_not be_adding }
it { should be_unchanged }
@@ -33,8 +33,8 @@ describe Diff::LCS::Change do
it { should_not be_finished_b }
end
- describe 'a changed' do
- subject { described_class.new('!', 0, 'element') }
+ describe "a changed" do
+ subject { described_class.new("!", 0, "element") }
it { should_not be_deleting }
it { should_not be_adding }
it { should_not be_unchanged }
@@ -43,8 +43,8 @@ describe Diff::LCS::Change do
it { should_not be_finished_b }
end
- describe 'a finished_a' do
- subject { described_class.new('>', 0, 'element') }
+ describe "a finished_a" do
+ subject { described_class.new(">", 0, "element") }
it { should_not be_deleting }
it { should_not be_adding }
it { should_not be_unchanged }
@@ -53,8 +53,8 @@ describe Diff::LCS::Change do
it { should_not be_finished_b }
end
- describe 'a finished_b' do
- subject { described_class.new('<', 0, 'element') }
+ describe "a finished_b" do
+ subject { described_class.new("<", 0, "element") }
it { should_not be_deleting }
it { should_not be_adding }
it { should_not be_unchanged }
@@ -63,27 +63,27 @@ describe Diff::LCS::Change do
it { should be_finished_b }
end
- describe 'as array' do
- it 'should be converted' do
- action, position, element = described_class.new('!', 0, 'element')
- expect(action).to eq '!'
+ describe "as array" do
+ it "should be converted" do
+ action, position, element = described_class.new("!", 0, "element")
+ expect(action).to eq "!"
expect(position).to eq 0
- expect(element).to eq 'element'
+ expect(element).to eq "element"
end
end
end
describe Diff::LCS::ContextChange do
- describe 'as array' do
- it 'should be converted' do
+ describe "as array" do
+ it "should be converted" do
action, (old_position, old_element), (new_position, new_element) =
- described_class.new('!', 1, 'old_element', 2, 'new_element')
+ described_class.new("!", 1, "old_element", 2, "new_element")
- expect(action).to eq '!'
+ expect(action).to eq "!"
expect(old_position).to eq 1
- expect(old_element).to eq 'old_element'
+ expect(old_element).to eq "old_element"
expect(new_position).to eq 2
- expect(new_element).to eq 'new_element'
+ expect(new_element).to eq "new_element"
end
end
end
diff --git a/spec/diff_spec.rb b/spec/diff_spec.rb
index e7d632a..bd0776a 100644
--- a/spec/diff_spec.rb
+++ b/spec/diff_spec.rb
@@ -1,28 +1,28 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe Diff::LCS, '.diff' do
+describe Diff::LCS, ".diff" do
include Diff::LCS::SpecHelper::Matchers
- it 'correctly diffs seq1 to seq2' do
+ it "correctly diffs seq1 to seq2" do
diff_s1_s2 = Diff::LCS.diff(seq1, seq2)
expect(change_diff(correct_forward_diff)).to eq(diff_s1_s2)
end
- it 'correctly diffs seq2 to seq1' do
+ it "correctly diffs seq2 to seq1" do
diff_s2_s1 = Diff::LCS.diff(seq2, seq1)
expect(change_diff(correct_backward_diff)).to eq(diff_s2_s1)
end
- it 'correctly diffs against an empty sequence' do
+ it "correctly diffs against an empty sequence" do
diff = Diff::LCS.diff(word_sequence, [])
correct_diff = [
[
- ['-', 0, 'abcd'],
- ['-', 1, 'efgh'],
- ['-', 2, 'ijkl'],
- ['-', 3, 'mnopqrstuvwxyz']
+ ["-", 0, "abcd"],
+ ["-", 1, "efgh"],
+ ["-", 2, "ijkl"],
+ ["-", 3, "mnopqrstuvwxyz"]
]
]
@@ -30,22 +30,22 @@ describe Diff::LCS, '.diff' do
diff = Diff::LCS.diff([], word_sequence)
correct_diff.each do |hunk|
- hunk.each do |change| change[0] = '+' end
+ hunk.each do |change| change[0] = "+" end
end
expect(change_diff(correct_diff)).to eq(diff)
end
it "correctly diffs 'xx' and 'xaxb'" do
- left = 'xx'
- right = 'xaxb'
+ left = "xx"
+ right = "xaxb"
expect(Diff::LCS.patch(left, Diff::LCS.diff(left, right))).to eq(right)
end
- it 'returns an empty diff with (hello, hello)' do
+ it "returns an empty diff with (hello, hello)" do
expect(Diff::LCS.diff(hello, hello)).to be_empty
end
- it 'returns an empty diff with (hello_ary, hello_ary)' do
+ it "returns an empty diff with (hello_ary, hello_ary)" do
expect(Diff::LCS.diff(hello_ary, hello_ary)).to be_empty
end
end
diff --git a/spec/hunk_spec.rb b/spec/hunk_spec.rb
index b3616bf..339f4ab 100644
--- a/spec/hunk_spec.rb
+++ b/spec/hunk_spec.rb
@@ -1,18 +1,18 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
if String.method_defined?(:encoding)
- require 'diff/lcs/hunk'
+ require "diff/lcs/hunk"
describe Diff::LCS::Hunk do
- let(:old_data) { ['Tu a un carté avec {count} itéms'.encode('UTF-16LE')] }
- let(:new_data) { ['Tu a un carte avec {count} items'.encode('UTF-16LE')] }
+ let(:old_data) { ["Tu a un carté avec {count} itéms".encode("UTF-16LE")] }
+ let(:new_data) { ["Tu a un carte avec {count} items".encode("UTF-16LE")] }
let(:pieces) { Diff::LCS.diff old_data, new_data }
let(:hunk) { Diff::LCS::Hunk.new(old_data, new_data, pieces[0], 3, 0) }
- it 'produces a unified diff from the two pieces' do
- expected = <<-EXPECTED.gsub(/^\s+/, '').encode('UTF-16LE').chomp
+ it "produces a unified diff from the two pieces" do
+ expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp
@@ -1 +1 @@
-Tu a un carté avec {count} itéms
+Tu a un carte avec {count} items
@@ -21,8 +21,8 @@ if String.method_defined?(:encoding)
expect(hunk.diff(:unified)).to eq(expected)
end
- it 'produces a unified diff from the two pieces (last entry)' do
- expected = <<-EXPECTED.gsub(/^\s+/, '').encode('UTF-16LE').chomp
+ it "produces a unified diff from the two pieces (last entry)" do
+ expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp
@@ -1 +1 @@
-Tu a un carté avec {count} itéms
+Tu a un carte avec {count} items
@@ -32,8 +32,8 @@ if String.method_defined?(:encoding)
expect(hunk.diff(:unified, true)).to eq(expected)
end
- it 'produces a context diff from the two pieces' do
- expected = <<-EXPECTED.gsub(/^\s+/, '').encode('UTF-16LE').chomp
+ it "produces a context diff from the two pieces" do
+ expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp
***************
*** 1 ****
! Tu a un carté avec {count} itéms
@@ -44,8 +44,8 @@ if String.method_defined?(:encoding)
expect(hunk.diff(:context)).to eq(expected)
end
- it 'produces an old diff from the two pieces' do
- expected = <<-EXPECTED.gsub(/^ +/, '').encode('UTF-16LE').chomp
+ it "produces an old diff from the two pieces" do
+ expected = <<-EXPECTED.gsub(/^ +/, "").encode("UTF-16LE").chomp
1c1
< Tu a un carté avec {count} itéms
---
@@ -56,8 +56,8 @@ if String.method_defined?(:encoding)
expect(hunk.diff(:old)).to eq(expected)
end
- it 'produces a reverse ed diff from the two pieces' do
- expected = <<-EXPECTED.gsub(/^ +/, '').encode('UTF-16LE').chomp
+ it "produces a reverse ed diff from the two pieces" do
+ expected = <<-EXPECTED.gsub(/^ +/, "").encode("UTF-16LE").chomp
c1
Tu a un carte avec {count} items
.
@@ -67,11 +67,11 @@ if String.method_defined?(:encoding)
expect(hunk.diff(:reverse_ed)).to eq(expected)
end
- context 'with empty first data set' do
+ context "with empty first data set" do
let(:old_data) { [] }
- it 'produces a unified diff' do
- expected = <<-EXPECTED.gsub(/^\s+/, '').encode('UTF-16LE').chomp
+ it "produces a unified diff" do
+ expected = <<-EXPECTED.gsub(/^\s+/, "").encode("UTF-16LE").chomp
@@ -1 +1,2 @@
+Tu a un carte avec {count} items
EXPECTED
diff --git a/spec/issues_spec.rb b/spec/issues_spec.rb
index ad73123..fedc3f5 100644
--- a/spec/issues_spec.rb
+++ b/spec/issues_spec.rb
@@ -1,73 +1,73 @@
# frozen_string_literal: true
-require 'spec_helper'
-require 'diff/lcs/hunk'
+require "spec_helper"
+require "diff/lcs/hunk"
-describe 'Diff::LCS Issues' do
+describe "Diff::LCS Issues" do
include Diff::LCS::SpecHelper::Matchers
- describe 'issue #1' do
- shared_examples 'handles simple diffs' do |s1, s2, forward_diff|
+ describe "issue #1" do
+ shared_examples "handles simple diffs" do |s1, s2, forward_diff|
before do
@diff_s1_s2 = Diff::LCS.diff(s1, s2)
end
- it 'creates the correct diff' do
+ it "creates the correct diff" do
expect(change_diff(forward_diff)).to eq(@diff_s1_s2)
end
- it 'creates the correct patch s1->s2' do
+ it "creates the correct patch s1->s2" do
expect(Diff::LCS.patch(s1, @diff_s1_s2)).to eq(s2)
end
- it 'creates the correct patch s2->s1' do
+ it "creates the correct patch s2->s1" do
expect(Diff::LCS.patch(s2, @diff_s1_s2)).to eq(s1)
end
end
- describe 'string' do
- it_has_behavior 'handles simple diffs', 'aX', 'bXaX', [
+ describe "string" do
+ it_has_behavior "handles simple diffs", "aX", "bXaX", [
[
- ['+', 0, 'b'],
- ['+', 1, 'X']
+ ["+", 0, "b"],
+ ["+", 1, "X"]
]
]
- it_has_behavior 'handles simple diffs', 'bXaX', 'aX', [
+ it_has_behavior "handles simple diffs", "bXaX", "aX", [
[
- ['-', 0, 'b'],
- ['-', 1, 'X']
+ ["-", 0, "b"],
+ ["-", 1, "X"]
]
]
end
- describe 'array' do
- it_has_behavior 'handles simple diffs', %w(a X), %w(b X a X), [
+ describe "array" do
+ it_has_behavior "handles simple diffs", %w(a X), %w(b X a X), [
[
- ['+', 0, 'b'],
- ['+', 1, 'X']
+ ["+", 0, "b"],
+ ["+", 1, "X"]
]
]
- it_has_behavior 'handles simple diffs', %w(b X a X), %w(a X), [
+ it_has_behavior "handles simple diffs", %w(b X a X), %w(a X), [
[
- ['-', 0, 'b'],
- ['-', 1, 'X']
+ ["-", 0, "b"],
+ ["-", 1, "X"]
]
]
end
end
- describe 'issue #57' do
- it 'should fail with a correct error' do
+ 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' }
+ 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
- describe 'issue #60' do
- it 'should produce unified output with correct context' do
+ describe "issue #60" do
+ it "should produce unified output with correct context" do
old_data = <<-DATA_OLD.strip.split("\n").map(&:chomp)
{
"name": "x",
@@ -96,7 +96,7 @@ describe 'Diff::LCS Issues' do
end
end
- describe 'issue #65' do
+ describe "issue #65" do
def diff_lines(old_lines, new_lines)
file_length_difference = 0
previous_hunk = nil
@@ -115,22 +115,22 @@ describe 'Diff::LCS Issues' do
output.join
end
- it 'should not misplace the new chunk' do
+ it "should not misplace the new chunk" do
old_data = [
- 'recipe[a::default]', 'recipe[b::default]', 'recipe[c::default]',
- 'recipe[d::default]', 'recipe[e::default]', 'recipe[f::default]',
- 'recipe[g::default]', 'recipe[h::default]', 'recipe[i::default]',
- 'recipe[j::default]', 'recipe[k::default]', 'recipe[l::default]',
- 'recipe[m::default]', 'recipe[n::default]'
+ "recipe[a::default]", "recipe[b::default]", "recipe[c::default]",
+ "recipe[d::default]", "recipe[e::default]", "recipe[f::default]",
+ "recipe[g::default]", "recipe[h::default]", "recipe[i::default]",
+ "recipe[j::default]", "recipe[k::default]", "recipe[l::default]",
+ "recipe[m::default]", "recipe[n::default]"
]
new_data = [
- 'recipe[a::default]', 'recipe[c::default]', 'recipe[d::default]',
- 'recipe[e::default]', 'recipe[f::default]', 'recipe[g::default]',
- 'recipe[h::default]', 'recipe[i::default]', 'recipe[j::default]',
- 'recipe[k::default]', 'recipe[l::default]', 'recipe[m::default]',
- 'recipe[n::default]', 'recipe[o::new]', 'recipe[p::new]',
- 'recipe[q::new]', 'recipe[r::new]'
+ "recipe[a::default]", "recipe[c::default]", "recipe[d::default]",
+ "recipe[e::default]", "recipe[f::default]", "recipe[g::default]",
+ "recipe[h::default]", "recipe[i::default]", "recipe[j::default]",
+ "recipe[k::default]", "recipe[l::default]", "recipe[m::default]",
+ "recipe[n::default]", "recipe[o::new]", "recipe[p::new]",
+ "recipe[q::new]", "recipe[r::new]"
]
expect(diff_lines(old_data, new_data)).to eq(<<-EODIFF)
diff --git a/spec/lcs_spec.rb b/spec/lcs_spec.rb
index 94428fd..e3643dd 100644
--- a/spec/lcs_spec.rb
+++ b/spec/lcs_spec.rb
@@ -1,11 +1,11 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe Diff::LCS::Internals, '.lcs' do
+describe Diff::LCS::Internals, ".lcs" do
include Diff::LCS::SpecHelper::Matchers
- it 'returns a meaningful LCS array with (seq1, seq2)' do
+ it "returns a meaningful LCS array with (seq1, seq2)" do
res = Diff::LCS::Internals.lcs(seq1, seq2)
# The result of the LCS (less the +nil+ values) must be as long as the
# correct result.
@@ -20,37 +20,37 @@ describe Diff::LCS::Internals, '.lcs' do
expect(x_seq2).to eq(correct_lcs)
end
- it 'returns all indexes with (hello, hello)' do
+ it "returns all indexes with (hello, hello)" do
expect(Diff::LCS::Internals.lcs(hello, hello)).to \
eq((0...hello.size).to_a)
end
- it 'returns all indexes with (hello_ary, hello_ary)' do
+ it "returns all indexes with (hello_ary, hello_ary)" do
expect(Diff::LCS::Internals.lcs(hello_ary, hello_ary)).to \
eq((0...hello_ary.size).to_a)
end
end
-describe Diff::LCS, '.LCS' do
+describe Diff::LCS, ".LCS" do
include Diff::LCS::SpecHelper::Matchers
- it 'returns the correct compacted values from Diff::LCS.LCS' do
+ it "returns the correct compacted values from Diff::LCS.LCS" do
res = Diff::LCS.LCS(seq1, seq2)
expect(res).to eq(correct_lcs)
expect(res.compact).to eq(res)
end
- it 'is transitive' do
+ it "is transitive" do
res = Diff::LCS.LCS(seq2, seq1)
expect(res).to eq(correct_lcs)
expect(res.compact).to eq(res)
end
- it 'returns %W(h e l l o) with (hello, hello)' do
+ it "returns %W(h e l l o) with (hello, hello)" do
expect(Diff::LCS.LCS(hello, hello)).to eq(hello.split(//))
end
- it 'returns hello_ary with (hello_ary, hello_ary)' do
+ it "returns hello_ary with (hello_ary, hello_ary)" do
expect(Diff::LCS.LCS(hello_ary, hello_ary)).to eq(hello_ary)
end
end
diff --git a/spec/ldiff_spec.rb b/spec/ldiff_spec.rb
index a2468f8..e5df039 100644
--- a/spec/ldiff_spec.rb
+++ b/spec/ldiff_spec.rb
@@ -1,15 +1,15 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-RSpec.describe 'bin/ldiff' do
+RSpec.describe "bin/ldiff" do
include CaptureSubprocessIO
fixtures = [
- { :name => 'output.diff', :left => 'aX', :right => 'bXaX' },
- { :name => 'output.diff.chef', :left => 'old-chef', :right => 'new-chef' },
- { :name => 'output.diff.chef2', :left => 'old-chef2', :right => 'new-chef2' }
- ].product([nil, '-e', '-f', '-c', '-u']).map { |(fixture, flag)|
+ { :name => "output.diff", :left => "aX", :right => "bXaX" },
+ { :name => "output.diff.chef", :left => "old-chef", :right => "new-chef" },
+ { :name => "output.diff.chef2", :left => "old-chef2", :right => "new-chef2" }
+ ].product([nil, "-e", "-f", "-c", "-u"]).map { |(fixture, flag)|
fixture = fixture.dup
fixture[:flag] = flag
fixture
@@ -20,10 +20,10 @@ RSpec.describe 'bin/ldiff' do
fixture[:flag],
"spec/fixtures/#{fixture[:left]}",
"spec/fixtures/#{fixture[:right]}",
- '#',
- '=>',
+ "#",
+ "=>",
"spec/fixtures/ldiff/#{fixture[:name]}#{fixture[:flag]}"
- ].join(' ')
+ ].join(" ")
it desc do
expect(run_ldiff(fixture)).to eq(read_fixture(fixture))
@@ -45,7 +45,7 @@ RSpec.describe 'bin/ldiff' do
def clean_data(data, flag)
data =
case flag
- when '-c', '-u'
+ when "-c", "-u"
clean_output_timestamp(data)
else
data
@@ -80,7 +80,7 @@ RSpec.describe 'bin/ldiff' do
system("ruby -Ilib bin/ldiff #{flag} spec/fixtures/#{left} spec/fixtures/#{right}")
end
- expect(stderr).to be_empty if RUBY_VERSION >= '1.9'
+ expect(stderr).to be_empty if RUBY_VERSION >= "1.9"
expect(stdout).not_to be_empty
clean_data(stdout, flag)
end
diff --git a/spec/patch_spec.rb b/spec/patch_spec.rb
index 11b0981..8c3a9b1 100644
--- a/spec/patch_spec.rb
+++ b/spec/patch_spec.rb
@@ -1,54 +1,54 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe 'Diff::LCS.patch' do
+describe "Diff::LCS.patch" do
include Diff::LCS::SpecHelper::Matchers
- shared_examples 'patch sequences correctly' do
- it 'correctly patches left-to-right (patch autodiscovery)' do
+ shared_examples "patch sequences correctly" do
+ it "correctly patches left-to-right (patch autodiscovery)" do
expect(Diff::LCS.patch(s1, patch_set)).to eq(s2)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(s1, patch_set, :patch)).to eq(s2)
expect(Diff::LCS.patch!(s1, patch_set)).to eq(s2)
end
- it 'correctly patches right-to-left (unpatch autodiscovery)' do
+ it "correctly patches right-to-left (unpatch autodiscovery)" do
expect(Diff::LCS.patch(s2, patch_set)).to eq(s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(s2, patch_set, :unpatch)).to eq(s1)
expect(Diff::LCS.unpatch!(s2, patch_set)).to eq(s1)
end
end
- describe 'using a Diff::LCS.diff patchset' do
- describe 'an empty patchset returns the source' do
- it 'works on a string (hello)' do
+ describe "using a Diff::LCS.diff patchset" do
+ describe "an empty patchset returns the source" do
+ it "works on a string (hello)" do
diff = Diff::LCS.diff(hello, hello)
expect(Diff::LCS.patch(hello, diff)).to eq(hello)
end
- it 'works on an array %W(h e l l o)' do
+ it "works on an array %W(h e l l o)" do
diff = Diff::LCS.diff(hello_ary, hello_ary)
expect(Diff::LCS.patch(hello_ary, diff)).to eq(hello_ary)
end
end
- describe 'with default diff callbacks (DiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with default diff callbacks (DiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) { Diff::LCS.diff(seq1, seq2) }
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) { Diff::LCS.diff(seq2, seq1) }
@@ -56,9 +56,9 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'with context diff callbacks (ContextDiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with context diff callbacks (ContextDiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) {
@@ -67,8 +67,8 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) {
@@ -78,9 +78,9 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'with sdiff callbacks (SDiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with sdiff callbacks (SDiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) {
@@ -89,8 +89,8 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) {
@@ -101,20 +101,20 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using a Diff::LCS.sdiff patchset' do
- describe 'an empty patchset returns the source' do
- it 'works on a string (hello)' do
+ describe "using a Diff::LCS.sdiff patchset" do
+ describe "an empty patchset returns the source" do
+ it "works on a string (hello)" do
expect(Diff::LCS.patch(hello, Diff::LCS.sdiff(hello, hello))).to eq(hello)
end
- it 'works on an array %W(h e l l o)' do
+ it "works on an array %W(h e l l o)" do
expect(Diff::LCS.patch(hello_ary, Diff::LCS.sdiff(hello_ary, hello_ary))).to eq(hello_ary)
end
end
- describe 'with default diff callbacks (DiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with default diff callbacks (DiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) {
@@ -123,8 +123,8 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) {
@@ -134,9 +134,9 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'with context diff callbacks (DiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with context diff callbacks (DiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) {
@@ -145,8 +145,8 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) {
@@ -156,17 +156,17 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'with sdiff callbacks (SDiffCallbacks)' do
- describe 'forward (s1 -> s2)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "with sdiff callbacks (SDiffCallbacks)" do
+ describe "forward (s1 -> s2)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:patch_set) { Diff::LCS.sdiff(seq1, seq2) }
end
end
- describe 'reverse (s2 -> s1)' do
- it_has_behavior 'patch sequences correctly' do
+ describe "reverse (s2 -> s1)" do
+ it_has_behavior "patch sequences correctly" do
let(:s1) { seq2 }
let(:s2) { seq1 }
let(:patch_set) { Diff::LCS.sdiff(seq2, seq1) }
@@ -179,43 +179,43 @@ describe 'Diff::LCS.patch' do
# to s2 patches"), this cannot use the "patch sequences correctly" shared
# set. Once the bug in autodiscovery is fixed, this can be converted as
# above.
- describe 'fix bug 891: patchsets do not contain the last equal part' do
+ describe "fix bug 891: patchsets do not contain the last equal part" do
before :each do
@s1 = %w(a b c d e f g h i j k) # rubocop:disable Layout/SpaceInsideArrayPercentLiteral
@s2 = %w(a b c d D e f g h i j k)
end
- describe 'using Diff::LCS.diff with default diff callbacks' do
+ describe "using Diff::LCS.diff with default diff callbacks" do
before :each do
@patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2)
@patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
@@ -223,37 +223,37 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using Diff::LCS.diff with context diff callbacks' do
+ describe "using Diff::LCS.diff with context diff callbacks" do
before :each do
@patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2, Diff::LCS::ContextDiffCallbacks)
@patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1, Diff::LCS::ContextDiffCallbacks)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
@@ -261,37 +261,37 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using Diff::LCS.diff with sdiff callbacks' do
+ describe "using Diff::LCS.diff with sdiff callbacks" do
before(:each) do
@patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2, Diff::LCS::SDiffCallbacks)
@patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1, Diff::LCS::SDiffCallbacks)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
@@ -299,37 +299,37 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using Diff::LCS.sdiff with default sdiff callbacks' do
+ describe "using Diff::LCS.sdiff with default sdiff callbacks" do
before(:each) do
@patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2)
@patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
@@ -337,37 +337,37 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using Diff::LCS.sdiff with context diff callbacks' do
+ describe "using Diff::LCS.sdiff with context diff callbacks" do
before(:each) do
@patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2, Diff::LCS::ContextDiffCallbacks)
@patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1, Diff::LCS::ContextDiffCallbacks)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
@@ -375,37 +375,37 @@ describe 'Diff::LCS.patch' do
end
end
- describe 'using Diff::LCS.sdiff with default diff callbacks' do
+ describe "using Diff::LCS.sdiff with default diff callbacks" do
before(:each) do
@patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2, Diff::LCS::DiffCallbacks)
@patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1, Diff::LCS::DiffCallbacks)
end
- it 'autodiscovers s1 to s2 patches' do
+ it "autodiscovers s1 to s2 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 patches' do
+ it "autodiscovers s2 to s1 patches" do
expect do
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
end.to_not raise_error
end
- it 'autodiscovers s2 to s1 the left-to-right patches' do
+ it "autodiscovers s2 to s1 the left-to-right patches" do
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
end
- it 'correctly patches left-to-right (explicit patch)' do
+ it "correctly patches left-to-right (explicit patch)" do
expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
end
- it 'correctly patches right-to-left (explicit unpatch)' do
+ it "correctly patches right-to-left (explicit unpatch)" do
expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
diff --git a/spec/sdiff_spec.rb b/spec/sdiff_spec.rb
index 06d39d6..6816833 100644
--- a/spec/sdiff_spec.rb
+++ b/spec/sdiff_spec.rb
@@ -1,214 +1,214 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe 'Diff::LCS.sdiff' do
+describe "Diff::LCS.sdiff" do
include Diff::LCS::SpecHelper::Matchers
- shared_examples 'compare sequences correctly' do
- it 'compares s1 -> s2 correctly' do
+ shared_examples "compare sequences correctly" do
+ it "compares s1 -> s2 correctly" do
expect(Diff::LCS.sdiff(s1, s2)).to eq(context_diff(result))
end
- it 'compares s2 -> s1 correctly' do
+ it "compares s2 -> s1 correctly" do
expect(Diff::LCS.sdiff(s2, s1)).to eq(context_diff(reverse_sdiff(result)))
end
end
- describe 'using seq1 & seq2' do
+ describe "using seq1 & seq2" do
let(:s1) { seq1 }
let(:s2) { seq2 }
let(:result) { correct_forward_sdiff }
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(abc def yyy xxx ghi jkl) & %w(abc dxf xxx ghi jkl)' do
+ describe "using %w(abc def yyy xxx ghi jkl) & %w(abc dxf xxx ghi jkl)" do
let(:s1) { %w(abc def yyy xxx ghi jkl) }
let(:s2) { %w(abc dxf xxx ghi jkl) }
let(:result) {
[
- ['=', [0, 'abc'], [0, 'abc']],
- ['!', [1, 'def'], [1, 'dxf']],
- ['-', [2, 'yyy'], [2, nil]],
- ['=', [3, 'xxx'], [2, 'xxx']],
- ['=', [4, 'ghi'], [3, 'ghi']],
- ['=', [5, 'jkl'], [4, 'jkl']]
+ ["=", [0, "abc"], [0, "abc"]],
+ ["!", [1, "def"], [1, "dxf"]],
+ ["-", [2, "yyy"], [2, nil]],
+ ["=", [3, "xxx"], [2, "xxx"]],
+ ["=", [4, "ghi"], [3, "ghi"]],
+ ["=", [5, "jkl"], [4, "jkl"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a b c d e) & %w(a e)' do
+ describe "using %w(a b c d e) & %w(a e)" do
let(:s1) { %w(a b c d e) }
let(:s2) { %w(a e) }
let(:result) {
[
- ['=', [0, 'a'], [0, 'a']],
- ['-', [1, 'b'], [1, nil]],
- ['-', [2, 'c'], [1, nil]],
- ['-', [3, 'd'], [1, nil]],
- ['=', [4, 'e'], [1, 'e']]
+ ["=", [0, "a"], [0, "a"]],
+ ["-", [1, "b"], [1, nil]],
+ ["-", [2, "c"], [1, nil]],
+ ["-", [3, "d"], [1, nil]],
+ ["=", [4, "e"], [1, "e"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a e) & %w(a b c d e)' do
+ describe "using %w(a e) & %w(a b c d e)" do
let(:s1) { %w(a e) }
let(:s2) { %w(a b c d e) }
let(:result) {
[
- ['=', [0, 'a'], [0, 'a']],
- ['+', [1, nil], [1, 'b']],
- ['+', [1, nil], [2, 'c']],
- ['+', [1, nil], [3, 'd']],
- ['=', [1, 'e'], [4, 'e']]
+ ["=", [0, "a"], [0, "a"]],
+ ["+", [1, nil], [1, "b"]],
+ ["+", [1, nil], [2, "c"]],
+ ["+", [1, nil], [3, "d"]],
+ ["=", [1, "e"], [4, "e"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(v x a e) & %w(w y a b c d e)' do
+ describe "using %w(v x a e) & %w(w y a b c d e)" do
let(:s1) { %w(v x a e) }
let(:s2) { %w(w y a b c d e) }
let(:result) {
[
- ['!', [0, 'v'], [0, 'w']],
- ['!', [1, 'x'], [1, 'y']],
- ['=', [2, 'a'], [2, 'a']],
- ['+', [3, nil], [3, 'b']],
- ['+', [3, nil], [4, 'c']],
- ['+', [3, nil], [5, 'd']],
- ['=', [3, 'e'], [6, 'e']]
+ ["!", [0, "v"], [0, "w"]],
+ ["!", [1, "x"], [1, "y"]],
+ ["=", [2, "a"], [2, "a"]],
+ ["+", [3, nil], [3, "b"]],
+ ["+", [3, nil], [4, "c"]],
+ ["+", [3, nil], [5, "d"]],
+ ["=", [3, "e"], [6, "e"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(x a e) & %w(a b c d e)' do
+ describe "using %w(x a e) & %w(a b c d e)" do
let(:s1) { %w(x a e) }
let(:s2) { %w(a b c d e) }
let(:result) {
[
- ['-', [0, 'x'], [0, nil]],
- ['=', [1, 'a'], [0, 'a']],
- ['+', [2, nil], [1, 'b']],
- ['+', [2, nil], [2, 'c']],
- ['+', [2, nil], [3, 'd']],
- ['=', [2, 'e'], [4, 'e']]
+ ["-", [0, "x"], [0, nil]],
+ ["=", [1, "a"], [0, "a"]],
+ ["+", [2, nil], [1, "b"]],
+ ["+", [2, nil], [2, "c"]],
+ ["+", [2, nil], [3, "d"]],
+ ["=", [2, "e"], [4, "e"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a e) & %w(x a b c d e)' do
+ describe "using %w(a e) & %w(x a b c d e)" do
let(:s1) { %w(a e) }
let(:s2) { %w(x a b c d e) }
let(:result) {
[
- ['+', [0, nil], [0, 'x']],
- ['=', [0, 'a'], [1, 'a']],
- ['+', [1, nil], [2, 'b']],
- ['+', [1, nil], [3, 'c']],
- ['+', [1, nil], [4, 'd']],
- ['=', [1, 'e'], [5, 'e']]
+ ["+", [0, nil], [0, "x"]],
+ ["=", [0, "a"], [1, "a"]],
+ ["+", [1, nil], [2, "b"]],
+ ["+", [1, nil], [3, "c"]],
+ ["+", [1, nil], [4, "d"]],
+ ["=", [1, "e"], [5, "e"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a e v) & %w(x a b c d e w x)' do
+ describe "using %w(a e v) & %w(x a b c d e w x)" do
let(:s1) { %w(a e v) }
let(:s2) { %w(x a b c d e w x) }
let(:result) {
[
- ['+', [0, nil], [0, 'x']],
- ['=', [0, 'a'], [1, 'a']],
- ['+', [1, nil], [2, 'b']],
- ['+', [1, nil], [3, 'c']],
- ['+', [1, nil], [4, 'd']],
- ['=', [1, 'e'], [5, 'e']],
- ['!', [2, 'v'], [6, 'w']],
- ['+', [3, nil], [7, 'x']]
+ ["+", [0, nil], [0, "x"]],
+ ["=", [0, "a"], [1, "a"]],
+ ["+", [1, nil], [2, "b"]],
+ ["+", [1, nil], [3, "c"]],
+ ["+", [1, nil], [4, "d"]],
+ ["=", [1, "e"], [5, "e"]],
+ ["!", [2, "v"], [6, "w"]],
+ ["+", [3, nil], [7, "x"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w() & %w(a b c)' do
+ describe "using %w() & %w(a b c)" do
let(:s1) { %w() }
let(:s2) { %w(a b c) }
let(:result) {
[
- ['+', [0, nil], [0, 'a']],
- ['+', [0, nil], [1, 'b']],
- ['+', [0, nil], [2, 'c']]
+ ["+", [0, nil], [0, "a"]],
+ ["+", [0, nil], [1, "b"]],
+ ["+", [0, nil], [2, "c"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a b c) & %w(1)' do
+ describe "using %w(a b c) & %w(1)" do
let(:s1) { %w(a b c) }
let(:s2) { %w(1) }
let(:result) {
[
- ['!', [0, 'a'], [0, '1']],
- ['-', [1, 'b'], [1, nil]],
- ['-', [2, 'c'], [1, nil]]
+ ["!", [0, "a"], [0, "1"]],
+ ["-", [1, "b"], [1, nil]],
+ ["-", [2, "c"], [1, nil]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(a b c) & %w(c)' do
+ describe "using %w(a b c) & %w(c)" do
let(:s1) { %w(a b c) }
let(:s2) { %w(c) }
let(:result) {
[
- ['-', [0, 'a'], [0, nil]],
- ['-', [1, 'b'], [0, nil]],
- ['=', [2, 'c'], [0, 'c']]
+ ["-", [0, "a"], [0, nil]],
+ ["-", [1, "b"], [0, nil]],
+ ["=", [2, "c"], [0, "c"]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using %w(abcd efgh ijkl mnop) & []' do
+ describe "using %w(abcd efgh ijkl mnop) & []" do
let(:s1) { %w(abcd efgh ijkl mnop) }
let(:s2) { [] }
let(:result) {
[
- ['-', [0, 'abcd'], [0, nil]],
- ['-', [1, 'efgh'], [0, nil]],
- ['-', [2, 'ijkl'], [0, nil]],
- ['-', [3, 'mnop'], [0, nil]]
+ ["-", [0, "abcd"], [0, nil]],
+ ["-", [1, "efgh"], [0, nil]],
+ ["-", [2, "ijkl"], [0, nil]],
+ ["-", [3, "mnop"], [0, nil]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
- describe 'using [[1,2]] & []' do
+ describe "using [[1,2]] & []" do
let(:s1) { [[1, 2]] }
let(:s2) { [] }
let(:result) {
[
- ['-', [0, [1, 2]], [0, nil]]
+ ["-", [0, [1, 2]], [0, nil]]
]
}
- it_has_behavior 'compare sequences correctly'
+ it_has_behavior "compare sequences correctly"
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 79c4e45..20f8c39 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,12 +1,12 @@
# frozen_string_literal: true
-require 'rubygems'
-require 'pathname'
+require "rubygems"
+require "pathname"
-require 'psych' if RUBY_VERSION >= '1.9'
+require "psych" if RUBY_VERSION >= "1.9"
-if ENV['COVERAGE']
- require 'simplecov'
+if ENV["COVERAGE"]
+ require "simplecov"
def require_do(resource)
require resource
@@ -17,13 +17,13 @@ if ENV['COVERAGE']
formatters = [SimpleCov::Formatter::HTMLFormatter]
- require_do('simplecov-rcov') {
+ require_do("simplecov-rcov") {
formatters << SimpleCov::Formatter::RcovFormatter
}
- require_do('simplecov-vim/formatter') {
+ require_do("simplecov-vim/formatter") {
formatters << SimpleCov::Formatter::VimFormatter
}
- require_do('simplecov-sublime-ruby-coverage') {
+ require_do("simplecov-sublime-ruby-coverage") {
formatters << SimpleCov::Formatter::SublimeRubyCoverageFormatter
}
@@ -36,7 +36,7 @@ file = Pathname.new(__FILE__).expand_path
path = file.parent
parent = path.parent
-$:.unshift parent.join('lib')
+$:.unshift parent.join("lib")
module CaptureSubprocessIO
def _synchronize
@@ -48,9 +48,9 @@ module CaptureSubprocessIO
end
def _capture_subprocess_io
- require 'tempfile'
+ require "tempfile"
- captured_stdout, captured_stderr = Tempfile.new('out'), Tempfile.new('err')
+ captured_stdout, captured_stderr = Tempfile.new("out"), Tempfile.new("err")
orig_stdout, orig_stderr = $stdout.dup, $stderr.dup
$stdout.reopen captured_stdout
@@ -71,11 +71,11 @@ module CaptureSubprocessIO
private :_capture_subprocess_io
end
-require 'diff-lcs'
+require "diff-lcs"
module Diff::LCS::SpecHelper
def hello
- 'hello'
+ "hello"
end
def hello_ary
@@ -109,24 +109,24 @@ module Diff::LCS::SpecHelper
def correct_forward_diff
[
[
- ['-', 0, 'a']
+ ["-", 0, "a"]
],
[
- ['+', 2, 'd']
+ ["+", 2, "d"]
],
[
- ['-', 4, 'h'],
- ['+', 4, 'f']
+ ["-", 4, "h"],
+ ["+", 4, "f"]
],
[
- ['+', 6, 'k']
+ ["+", 6, "k"]
],
[
- ['-', 8, 'n'],
- ['+', 9, 'r'],
- ['-', 9, 'p'],
- ['+', 10, 's'],
- ['+', 11, 't']
+ ["-", 8, "n"],
+ ["+", 9, "r"],
+ ["-", 9, "p"],
+ ["+", 10, "s"],
+ ["+", 11, "t"]
]
]
end
@@ -134,43 +134,43 @@ module Diff::LCS::SpecHelper
def correct_backward_diff
[
[
- ['+', 0, 'a']
+ ["+", 0, "a"]
],
[
- ['-', 2, 'd']
+ ["-", 2, "d"]
],
[
- ['-', 4, 'f'],
- ['+', 4, 'h']
+ ["-", 4, "f"],
+ ["+", 4, "h"]
],
[
- ['-', 6, 'k']
+ ["-", 6, "k"]
],
[
- ['-', 9, 'r'],
- ['+', 8, 'n'],
- ['-', 10, 's'],
- ['+', 9, 'p'],
- ['-', 11, 't']
+ ["-", 9, "r"],
+ ["+", 8, "n"],
+ ["-", 10, "s"],
+ ["+", 9, "p"],
+ ["-", 11, "t"]
]
]
end
def correct_forward_sdiff
[
- ['-', [0, 'a'], [0, nil]],
- ['=', [1, 'b'], [0, 'b']],
- ['=', [2, 'c'], [1, 'c']],
- ['+', [3, nil], [2, 'd']],
- ['=', [3, 'e'], [3, 'e']],
- ['!', [4, 'h'], [4, 'f']],
- ['=', [5, 'j'], [5, 'j']],
- ['+', [6, nil], [6, 'k']],
- ['=', [6, 'l'], [7, 'l']],
- ['=', [7, 'm'], [8, 'm']],
- ['!', [8, 'n'], [9, 'r']],
- ['!', [9, 'p'], [10, 's']],
- ['+', [10, nil], [11, 't']]
+ ["-", [0, "a"], [0, nil]],
+ ["=", [1, "b"], [0, "b"]],
+ ["=", [2, "c"], [1, "c"]],
+ ["+", [3, nil], [2, "d"]],
+ ["=", [3, "e"], [3, "e"]],
+ ["!", [4, "h"], [4, "f"]],
+ ["=", [5, "j"], [5, "j"]],
+ ["+", [6, nil], [6, "k"]],
+ ["=", [6, "l"], [7, "l"]],
+ ["=", [7, "m"], [8, "m"]],
+ ["!", [8, "n"], [9, "r"]],
+ ["!", [9, "p"], [10, "s"]],
+ ["+", [10, nil], [11, "t"]]
]
end
@@ -178,8 +178,8 @@ module Diff::LCS::SpecHelper
forward_sdiff.map { |line|
line[1], line[2] = line[2], line[1]
case line[0]
- when '-' then line[0] = '+'
- when '+' then line[0] = '-'
+ when "-" then line[0] = "+"
+ when "+" then line[0] = "-"
end
line
}
@@ -196,7 +196,7 @@ module Diff::LCS::SpecHelper
def format_diffs(diffs)
diffs.map { |e|
if e.kind_of?(Array)
- e.map { |f| f.to_a.join }.join(', ')
+ e.map { |f| f.to_a.join }.join(", ")
else
e.to_a.join
end
@@ -224,10 +224,10 @@ module Diff::LCS::SpecHelper
change_result.each do |line|
line = [line[0], line[2], line[1]]
case line[0]
- when '<'
- line[0] = '>'
- when '>'
- line[0] = '<'
+ when "<"
+ line[0] = ">"
+ when ">"
+ line[0] = "<"
end
new_result << line
end
@@ -238,9 +238,9 @@ module Diff::LCS::SpecHelper
new_result = []
change_result.each do |line|
case line[0]
- when '!'
- new_result << ['<', line[1], line[2]]
- new_result << ['>', line[1] + 1, line[2]]
+ when "!"
+ new_result << ["<", line[1], line[2]]
+ new_result << [">", line[1] + 1, line[2]]
else
new_result << line
end
@@ -317,19 +317,19 @@ module Diff::LCS::SpecHelper
end
def match(event)
- @result << ['=', event.old_position, event.new_position]
+ @result << ["=", event.old_position, event.new_position]
end
def discard_a(event)
- @result << ['<', event.old_position, event.new_position]
+ @result << ["<", event.old_position, event.new_position]
end
def discard_b(event)
- @result << ['>', event.old_position, event.new_position]
+ @result << [">", event.old_position, event.new_position]
end
def change(event)
- @result << ['!', event.old_position, event.new_position]
+ @result << ["!", event.old_position, event.new_position]
end
end
cb.reset
@@ -367,6 +367,6 @@ end
RSpec.configure do |conf|
conf.include Diff::LCS::SpecHelper
- conf.alias_it_should_behave_like_to :it_has_behavior, 'has behavior:'
+ conf.alias_it_should_behave_like_to :it_has_behavior, "has behavior:"
conf.filter_run_excluding :broken => true
end
diff --git a/spec/traverse_balanced_spec.rb b/spec/traverse_balanced_spec.rb
index 9ee68ea..fcbde79 100644
--- a/spec/traverse_balanced_spec.rb
+++ b/spec/traverse_balanced_spec.rb
@@ -1,310 +1,310 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe 'Diff::LCS.traverse_balanced' do
+describe "Diff::LCS.traverse_balanced" do
include Diff::LCS::SpecHelper::Matchers
- shared_examples 'with a #change callback' do |s1, s2, result|
- it 'traverses s1 -> s2 correctly' do
+ shared_examples "with a #change callback" do |s1, s2, result|
+ it "traverses s1 -> s2 correctly" do
traversal = balanced_traversal(s1, s2, :balanced_callback)
expect(traversal.result).to eq(result)
end
- it 'traverses s2 -> s1 correctly' do
+ it "traverses s2 -> s1 correctly" do
traversal = balanced_traversal(s2, s1, :balanced_callback)
expect(traversal.result).to eq(balanced_reverse(result))
end
end
- shared_examples 'without a #change callback' do |s1, s2, result|
- it 'traverses s1 -> s2 correctly' do
+ shared_examples "without a #change callback" do |s1, s2, result|
+ it "traverses s1 -> s2 correctly" do
traversal = balanced_traversal(s1, s2, :balanced_callback_no_change)
expect(traversal.result).to eq(map_to_no_change(result))
end
- it 'traverses s2 -> s1 correctly' do
+ it "traverses s2 -> s1 correctly" do
traversal = balanced_traversal(s2, s1, :balanced_callback_no_change)
expect(traversal.result).to eq(map_to_no_change(balanced_reverse(result)))
end
end
describe "identical string sequences ('abc')" do
- s1 = s2 = 'abc'
+ s1 = s2 = "abc"
result = [
- ['=', 0, 0],
- ['=', 1, 1],
- ['=', 2, 2]
+ ["=", 0, 0],
+ ["=", 1, 1],
+ ["=", 2, 2]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'identical array sequences %w(a b c)' do
+ describe "identical array sequences %w(a b c)" do
s1 = s2 = %w(a b c)
result = [
- ['=', 0, 0],
- ['=', 1, 1],
- ['=', 2, 2]
+ ["=", 0, 0],
+ ["=", 1, 1],
+ ["=", 2, 2]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(a b c) & %w(a x c)' do
+ describe "sequences %w(a b c) & %w(a x c)" do
s1 = %w(a b c)
s2 = %w(a x c)
result = [
- ['=', 0, 0],
- ['!', 1, 1],
- ['=', 2, 2]
+ ["=", 0, 0],
+ ["!", 1, 1],
+ ["=", 2, 2]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(a x y c) & %w(a v w c)' do
+ describe "sequences %w(a x y c) & %w(a v w c)" do
s1 = %w(a x y c)
s2 = %w(a v w c)
result = [
- ['=', 0, 0],
- ['!', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3]
+ ["=", 0, 0],
+ ["!", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(x y c) & %w(v w c)' do
+ describe "sequences %w(x y c) & %w(v w c)" do
s1 = %w(x y c)
s2 = %w(v w c)
result = [
- ['!', 0, 0],
- ['!', 1, 1],
- ['=', 2, 2]
+ ["!", 0, 0],
+ ["!", 1, 1],
+ ["=", 2, 2]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(a x y z) & %w(b v w)' do
+ describe "sequences %w(a x y z) & %w(b v w)" do
s1 = %w(a x y z)
s2 = %w(b v w)
result = [
- ['!', 0, 0],
- ['!', 1, 1],
- ['!', 2, 2],
- ['<', 3, 3]
+ ["!", 0, 0],
+ ["!", 1, 1],
+ ["!", 2, 2],
+ ["<", 3, 3]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(a z) & %w(a)' do
+ describe "sequences %w(a z) & %w(a)" do
s1 = %w(a z)
s2 = %w(a)
result = [
- ['=', 0, 0],
- ['<', 1, 1]
+ ["=", 0, 0],
+ ["<", 1, 1]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(z a) & %w(a)' do
+ describe "sequences %w(z a) & %w(a)" do
s1 = %w(z a)
s2 = %w(a)
result = [
- ['<', 0, 0],
- ['=', 1, 0]
+ ["<", 0, 0],
+ ["=", 1, 0]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(a b c) & %w(x y z)' do
+ describe "sequences %w(a b c) & %w(x y z)" do
s1 = %w(a b c)
s2 = %w(x y z)
result = [
- ['!', 0, 0],
- ['!', 1, 1],
- ['!', 2, 2]
+ ["!", 0, 0],
+ ["!", 1, 1],
+ ["!", 2, 2]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []' do
+ describe "sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []" do
s1 = %w(abcd efgh ijkl mnopqrstuvwxyz)
s2 = []
result = [
- ['<', 0, 0],
- ['<', 1, 0],
- ['<', 2, 0],
- ['<', 3, 0]
+ ["<", 0, 0],
+ ["<", 1, 0],
+ ["<", 2, 0],
+ ["<", 3, 0]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(a b c) & %q(a x c)' do
- s1 = 'a b c'
- s2 = 'a x c'
+ describe "strings %q(a b c) & %q(a x c)" do
+ s1 = "a b c"
+ s2 = "a x c"
result = [
- ['=', 0, 0],
- ['=', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3],
- ['=', 4, 4]
+ ["=", 0, 0],
+ ["=", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3],
+ ["=", 4, 4]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(a x y c) & %q(a v w c)' do
- s1 = 'a x y c'
- s2 = 'a v w c'
+ describe "strings %q(a x y c) & %q(a v w c)" do
+ s1 = "a x y c"
+ s2 = "a v w c"
result = [
- ['=', 0, 0],
- ['=', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3],
- ['!', 4, 4],
- ['=', 5, 5],
- ['=', 6, 6]
+ ["=", 0, 0],
+ ["=", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3],
+ ["!", 4, 4],
+ ["=", 5, 5],
+ ["=", 6, 6]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(x y c) & %q(v w c)' do
- s1 = 'x y c'
- s2 = 'v w c'
+ describe "strings %q(x y c) & %q(v w c)" do
+ s1 = "x y c"
+ s2 = "v w c"
result = [
- ['!', 0, 0],
- ['=', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3],
- ['=', 4, 4]
+ ["!", 0, 0],
+ ["=", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3],
+ ["=", 4, 4]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(a x y z) & %q(b v w)' do
- s1 = 'a x y z'
- s2 = 'b v w'
+ describe "strings %q(a x y z) & %q(b v w)" do
+ s1 = "a x y z"
+ s2 = "b v w"
result = [
- ['!', 0, 0],
- ['=', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3],
- ['!', 4, 4],
- ['<', 5, 5],
- ['<', 6, 5]
+ ["!", 0, 0],
+ ["=", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3],
+ ["!", 4, 4],
+ ["<", 5, 5],
+ ["<", 6, 5]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(a z) & %q(a)' do
- s1 = 'a z'
- s2 = 'a'
+ describe "strings %q(a z) & %q(a)" do
+ s1 = "a z"
+ s2 = "a"
result = [
- ['=', 0, 0],
- ['<', 1, 1],
- ['<', 2, 1]
+ ["=", 0, 0],
+ ["<", 1, 1],
+ ["<", 2, 1]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(z a) & %q(a)' do
- s1 = 'z a'
- s2 = 'a'
+ describe "strings %q(z a) & %q(a)" do
+ s1 = "z a"
+ s2 = "a"
result = [
- ['<', 0, 0],
- ['<', 1, 0],
- ['=', 2, 0]
+ ["<", 0, 0],
+ ["<", 1, 0],
+ ["=", 2, 0]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(a b c) & %q(x y z)' do
- s1 = 'a b c'
- s2 = 'x y z'
+ describe "strings %q(a b c) & %q(x y z)" do
+ s1 = "a b c"
+ s2 = "x y z"
result = [
- ['!', 0, 0],
- ['=', 1, 1],
- ['!', 2, 2],
- ['=', 3, 3],
- ['!', 4, 4]
+ ["!", 0, 0],
+ ["=", 1, 1],
+ ["!", 2, 2],
+ ["=", 3, 3],
+ ["!", 4, 4]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
- describe 'strings %q(abcd efgh ijkl mnopqrstuvwxyz) & %q()' do
- s1 = 'abcd efgh ijkl mnopqrstuvwxyz'
- s2 = ''
+ describe "strings %q(abcd efgh ijkl mnopqrstuvwxyz) & %q()" do
+ s1 = "abcd efgh ijkl mnopqrstuvwxyz"
+ s2 = ""
result = [
- ['<', 0, 0],
- ['<', 1, 0],
- ['<', 2, 0],
- ['<', 3, 0],
- ['<', 4, 0],
- ['<', 5, 0],
- ['<', 6, 0],
- ['<', 7, 0],
- ['<', 8, 0],
- ['<', 9, 0],
- ['<', 10, 0],
- ['<', 11, 0],
- ['<', 12, 0],
- ['<', 13, 0],
- ['<', 14, 0],
- ['<', 15, 0],
- ['<', 16, 0],
- ['<', 17, 0],
- ['<', 18, 0],
- ['<', 19, 0],
- ['<', 20, 0],
- ['<', 21, 0],
- ['<', 22, 0],
- ['<', 23, 0],
- ['<', 24, 0],
- ['<', 25, 0],
- ['<', 26, 0],
- ['<', 27, 0],
- ['<', 28, 0]
+ ["<", 0, 0],
+ ["<", 1, 0],
+ ["<", 2, 0],
+ ["<", 3, 0],
+ ["<", 4, 0],
+ ["<", 5, 0],
+ ["<", 6, 0],
+ ["<", 7, 0],
+ ["<", 8, 0],
+ ["<", 9, 0],
+ ["<", 10, 0],
+ ["<", 11, 0],
+ ["<", 12, 0],
+ ["<", 13, 0],
+ ["<", 14, 0],
+ ["<", 15, 0],
+ ["<", 16, 0],
+ ["<", 17, 0],
+ ["<", 18, 0],
+ ["<", 19, 0],
+ ["<", 20, 0],
+ ["<", 21, 0],
+ ["<", 22, 0],
+ ["<", 23, 0],
+ ["<", 24, 0],
+ ["<", 25, 0],
+ ["<", 26, 0],
+ ["<", 27, 0],
+ ["<", 28, 0]
]
- it_has_behavior 'with a #change callback', s1, s2, result
- it_has_behavior 'without a #change callback', s1, s2, result
+ it_has_behavior "with a #change callback", s1, s2, result
+ it_has_behavior "without a #change callback", s1, s2, result
end
end
diff --git a/spec/traverse_sequences_spec.rb b/spec/traverse_sequences_spec.rb
index b185e1d..3bad13e 100644
--- a/spec/traverse_sequences_spec.rb
+++ b/spec/traverse_sequences_spec.rb
@@ -1,10 +1,10 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
-describe 'Diff::LCS.traverse_sequences' do
- describe 'callback with no finishers' do
- describe 'over (seq1, seq2)' do
+describe "Diff::LCS.traverse_sequences" do
+ describe "callback with no finishers" do
+ describe "over (seq1, seq2)" do
before(:each) do
@callback_s1_s2 = simple_callback_no_finishers
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
@@ -13,27 +13,27 @@ describe 'Diff::LCS.traverse_sequences' do
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
end
- it 'has the correct LCS result on left-matches' do
+ it "has the correct LCS result on left-matches" do
expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
end
- it 'has the correct LCS result on right-matches' do
+ it "has the correct LCS result on right-matches" do
expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
end
- it 'has the correct skipped sequences with the left sequence' do
+ it "has the correct skipped sequences with the left sequence" do
expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
end
- it 'has the correct skipped sequences with the right sequence' do
+ it "has the correct skipped sequences with the right sequence" do
expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
end
- it 'does not have anything done markers from the left or right sequences' do
+ it "does not have anything done markers from the left or right sequences" do
expect(@callback_s1_s2.done_a).to be_empty
expect(@callback_s1_s2.done_b).to be_empty
expect(@callback_s2_s1.done_a).to be_empty
@@ -41,64 +41,64 @@ describe 'Diff::LCS.traverse_sequences' do
end
end
- describe 'over (hello, hello)' do
+ describe "over (hello, hello)" do
before(:each) do
@callback = simple_callback_no_finishers
Diff::LCS.traverse_sequences(hello, hello, @callback)
end
- it 'has the correct LCS result on left-matches' do
+ it "has the correct LCS result on left-matches" do
expect(@callback.matched_a).to eq(hello.split(//))
end
- it 'has the correct LCS result on right-matches' do
+ it "has the correct LCS result on right-matches" do
expect(@callback.matched_b).to eq(hello.split(//))
end
- it 'has the correct skipped sequences with the left sequence', :only => true do
+ it "has the correct skipped sequences with the left sequence", :only => true do
expect(@callback.discards_a).to be_empty
end
- it 'has the correct skipped sequences with the right sequence' do
+ it "has the correct skipped sequences with the right sequence" do
expect(@callback.discards_b).to be_empty
end
- it 'does not have anything done markers from the left or right sequences' do
+ it "does not have anything done markers from the left or right sequences" do
expect(@callback.done_a).to be_empty
expect(@callback.done_b).to be_empty
end
end
- describe 'over (hello_ary, hello_ary)' do
+ describe "over (hello_ary, hello_ary)" do
before(:each) do
@callback = simple_callback_no_finishers
Diff::LCS.traverse_sequences(hello_ary, hello_ary, @callback)
end
- it 'has the correct LCS result on left-matches' do
+ it "has the correct LCS result on left-matches" do
expect(@callback.matched_a).to eq(hello_ary)
end
- it 'has the correct LCS result on right-matches' do
+ it "has the correct LCS result on right-matches" do
expect(@callback.matched_b).to eq(hello_ary)
end
- it 'has the correct skipped sequences with the left sequence' do
+ it "has the correct skipped sequences with the left sequence" do
expect(@callback.discards_a).to be_empty
end
- it 'has the correct skipped sequences with the right sequence' do
+ it "has the correct skipped sequences with the right sequence" do
expect(@callback.discards_b).to be_empty
end
- it 'does not have anything done markers from the left or right sequences' do
+ it "does not have anything done markers from the left or right sequences" do
expect(@callback.done_a).to be_empty
expect(@callback.done_b).to be_empty
end
end
end
- describe 'callback with finisher' do
+ describe "callback with finisher" do
before(:each) do
@callback_s1_s2 = simple_callback
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
@@ -106,32 +106,32 @@ describe 'Diff::LCS.traverse_sequences' do
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
end
- it 'has the correct LCS result on left-matches' do
+ it "has the correct LCS result on left-matches" do
expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
end
- it 'has the correct LCS result on right-matches' do
+ it "has the correct LCS result on right-matches" do
expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
end
- it 'has the correct skipped sequences for the left sequence' do
+ it "has the correct skipped sequences for the left sequence" do
expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
end
- it 'has the correct skipped sequences for the right sequence' do
+ it "has the correct skipped sequences for the right sequence" do
expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
end
- it 'has done markers differently-sized sequences' do
- expect(@callback_s1_s2.done_a).to eq([['p', 9, 't', 11]])
+ it "has done markers differently-sized sequences" do
+ expect(@callback_s1_s2.done_a).to eq([["p", 9, "t", 11]])
expect(@callback_s1_s2.done_b).to be_empty
expect(@callback_s2_s1.done_a).to be_empty
- expect(@callback_s2_s1.done_b).to eq([['t', 11, 'p', 9]])
+ expect(@callback_s2_s1.done_b).to eq([["t", 11, "p", 9]])
end
end
end