Sha256: 19236c3e880e68739723cd0388bfd6e6fd0b3372e9c033782b53aba824793f7d

Contents?: true

Size: 1.03 KB

Versions: 48

Compression:

Stored size: 1.03 KB

Contents

require 'pact/matchers/unix_diff_formatter'
require 'pact/matchers/differ'

module Pact
  module Matchers
    class MultipartFormDiffFormatter

      def initialize diff, options = {}
        @options = options
        @body_diff = diff[:body]
        @non_body_diff = diff.reject{ |k, v| k == :body }
        @colour = options.fetch(:colour, false)
        @differ = Pact::Matchers::Differ.new(@colour)
      end

      def self.call diff, options = {}
        new(diff, options).call
      end

      def call
        Pact::Matchers::UnixDiffFormatter::MESSAGES_TITLE + "\n" + non_body_diff_string + "\n" + body_diff_string
      end

      def non_body_diff_string
        if @non_body_diff.any?
          Pact::Matchers::ExtractDiffMessages.call(@non_body_diff).collect{ | message| "* #{message}" }.join("\n")
        else
          ""
        end
      end

      def body_diff_string
        if @body_diff
          @differ.diff_as_string(@body_diff.expected, @body_diff.actual)
        else
          ""
        end
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
pact-support-1.21.2 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.21.1 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.21.0 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.20.2 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.20.1 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.20.0 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.19.0 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.18.1 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.18.0 lib/pact/matchers/multipart_form_diff_formatter.rb
hs-pact-support-1.17.1 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.17.0 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.10 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.9 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.8 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.7 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.6 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.5 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.4 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.3 lib/pact/matchers/multipart_form_diff_formatter.rb
pact-support-1.16.2 lib/pact/matchers/multipart_form_diff_formatter.rb