Sha256: 0779ef768c861330cc76e028f1acace3e9cd41b7b0613133d0ba5ba30f988eb5

Contents?: true

Size: 1.4 KB

Versions: 31

Compression:

Stored size: 1.4 KB

Contents

module Jasmine
  class Result

    def self.map_raw_results(raw_results)
      raw_results.map { |r| new(r) }
    end

    def initialize(attrs)
      @show_full_stack_trace = attrs["show_full_stack_trace"]
      @status = attrs["status"]
      @full_name = attrs["fullName"]
      @description = attrs["description"]
      @failed_expectations = map_failures(attrs.fetch("failedExpectations", []))
      @deprecation_warnings = map_failures(attrs.fetch("deprecationWarnings", []))
      @suite_name = full_name.slice(0, full_name.size - description.size - 1)
      @pending_reason = attrs["pendingReason"]
    end

    def succeeded?
      status == 'passed'
    end

    def failed?
      status == 'failed'
    end

    def pending?
      status == 'pending'
    end

    def disabled?
      status == 'disabled'
    end

    attr_reader :full_name, :description, :failed_expectations, :deprecation_warnings, :suite_name, :pending_reason

    private
    attr_reader :status, :show_full_stack_trace

    def map_failures(failures)
      failures.map do |e|
        if e["stack"]
          if show_full_stack_trace
            stack = e["stack"]
          else
            stack = e["stack"].split("\n").slice(0, 7).join("\n")
          end
        else
          stack = "No stack trace present."
        end

        Failure.new(e["message"], stack)
      end
    end

    class Failure < Struct.new(:message, :stack); end
  end
end

Version data entries

31 entries across 19 versions & 2 rubygems

Version Path
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.6 vendor/bundle/ruby/3.0.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.5 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.4 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.3 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.3 vendor/bundle/ruby/2.6.0/gems/jasmine-2.99.0/lib/jasmine/result.rb
tdiary-5.1.2 vendor/bundle/ruby/2.7.0/gems/jasmine-2.99.0/lib/jasmine/result.rb