Sha256: 4f125e746aa9de4490af580d5c438f3e602c6d28a447289ee783af9965d91062

Contents?: true

Size: 1.52 KB

Versions: 5

Compression:

Stored size: 1.52 KB

Contents

require 'rails'
require 'konacha'

module Guard
  module KonachaRails
    class Formatter < ::Konacha::Formatter
      def initialize
        super($stdout)
      end

      def reset
        io.puts('')
        @examples = []
      end

      def dump_summary(duration, example_count, failure_count, pending_count); end
      def dump_failures; end
      def dump_pending; end

      def success?
        failed_examples.empty?
      end

      def any?
        @examples.any?
      end

      def write_summary
        return unless any?

        io.puts('')
        io.puts [
          failed_examples_message,
          pending_examples_message
        ].reject(&:empty?).join("\n\n")
        io.puts('')
        io.puts summary_line
      end

      def summary_line
        "#{examples.size} examples, #{failed_examples.size} failed, #{pending_examples.size} pending"
      end

      private

      def failed_examples
        @examples.select(&:failed?).select(&:exception)
      end

      def pending_examples
        @examples.select(&:pending?)
      end

      def failed_examples_message
        failed_examples.map { |e| failure_message(e) }.join("\n\n")
      end

      def failure_message(example)
        "  \xE2\x9C\x96 ".red + "#{example.metadata['path']}\n" + super
      end

      def pending_examples_message
        pending_examples.map { |e| pending_message(e) }.join("\n\n")
      end

      def pending_message(example)
        "  \xE2\x97\x8B ".yellow + "#{example.metadata['path']}\n" + super
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
guard-konacha-rails-1.1.3 lib/guard/konacha/rails/formatter.rb
guard-konacha-rails-1.1.2 lib/guard/konacha/rails/formatter.rb
guard-konacha-rails-1.1.1 lib/guard/konacha/rails/formatter.rb
guard-konacha-rails-1.1.0 lib/guard/konacha/rails/formatter.rb
guard-konacha-version-1.1.0 lib/guard/konacha/rails/formatter.rb