diff options
author | Austin Ziegler <austin@zieglers.ca> | 2021-12-23 10:44:44 -0500 |
---|---|---|
committer | Austin Ziegler <austin@zieglers.ca> | 2022-07-04 20:26:10 -0400 |
commit | f85ec381137c6838600b16c353ff9dba3a05452c (patch) | |
tree | 7a2718961e97c56d4c70dc0a6ebe6b17aee005fc | |
parent | ef23b66e9a495206f2bf1cd9ce0df50d363d26ef (diff) | |
download | diff-lcs-f85ec381137c6838600b16c353ff9dba3a05452c.tar.gz |
standardrb --only Style/StringLiterals --fix
-rw-r--r-- | Gemfile | 24 | ||||
-rw-r--r-- | Rakefile | 42 | ||||
-rwxr-xr-x | bin/htmldiff | 8 | ||||
-rw-r--r-- | lib/diff-lcs.rb | 2 | ||||
-rw-r--r-- | lib/diff/lcs.rb | 64 | ||||
-rw-r--r-- | lib/diff/lcs/array.rb | 2 | ||||
-rw-r--r-- | lib/diff/lcs/block.rb | 8 | ||||
-rw-r--r-- | lib/diff/lcs/callbacks.rb | 6 | ||||
-rw-r--r-- | lib/diff/lcs/change.rb | 32 | ||||
-rw-r--r-- | lib/diff/lcs/htmldiff.rb | 12 | ||||
-rw-r--r-- | lib/diff/lcs/hunk.rb | 20 | ||||
-rw-r--r-- | lib/diff/lcs/internals.rb | 16 | ||||
-rw-r--r-- | lib/diff/lcs/ldiff.rb | 46 | ||||
-rw-r--r-- | spec/change_spec.rb | 48 | ||||
-rw-r--r-- | spec/diff_spec.rb | 28 | ||||
-rw-r--r-- | spec/hunk_spec.rb | 34 | ||||
-rw-r--r-- | spec/issues_spec.rb | 82 | ||||
-rw-r--r-- | spec/lcs_spec.rb | 20 | ||||
-rw-r--r-- | spec/ldiff_spec.rb | 22 | ||||
-rw-r--r-- | spec/patch_spec.rb | 164 | ||||
-rw-r--r-- | spec/sdiff_spec.rb | 176 | ||||
-rw-r--r-- | spec/spec_helper.rb | 122 | ||||
-rw-r--r-- | spec/traverse_balanced_spec.rb | 346 | ||||
-rw-r--r-- | spec/traverse_sequences_spec.rb | 58 |
24 files changed, 691 insertions, 691 deletions
@@ -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 @@ -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 = ' ' if element.empty? + element = " " 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 |