Sha256: 572fb716b4a4941b7bc0072da99f39138cb9ed9b4e13428e151c78a410d7a153

Contents?: true

Size: 1.29 KB

Versions: 19

Compression:

Stored size: 1.29 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["failedExpectations"])
      @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, :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

19 entries across 17 versions & 2 rubygems

Version Path
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/jasmine-2.8.0/lib/jasmine/result.rb
jasmine-2.9.0 lib/jasmine/result.rb
tdiary-5.0.7 vendor/bundle/gems/jasmine-2.8.0/lib/jasmine/result.rb
tdiary-5.0.6 vendor/bundle/gems/jasmine-2.8.0/lib/jasmine/result.rb
jasmine-2.8.0 lib/jasmine/result.rb
jasmine-2.7.0 lib/jasmine/result.rb
tdiary-5.0.5 vendor/bundle/gems/jasmine-2.6.0/lib/jasmine/result.rb
tdiary-5.0.5 vendor/bundle/gems/jasmine-2.5.2/lib/jasmine/result.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/jasmine-2.5.2/lib/jasmine/result.rb
jasmine-2.6.0 lib/jasmine/result.rb
tdiary-5.0.4 vendor/bundle/gems/jasmine-2.5.2/lib/jasmine/result.rb
jasmine-2.5.2 lib/jasmine/result.rb
tdiary-5.0.2 vendor/bundle/gems/jasmine-2.4.0/lib/jasmine/result.rb
jasmine-2.5.1 lib/jasmine/result.rb
jasmine-2.5.0 lib/jasmine/result.rb
tdiary-5.0.1 vendor/bundle/gems/jasmine-2.4.0/lib/jasmine/result.rb
jasmine-2.4.0 lib/jasmine/result.rb
jasmine-2.3.1 lib/jasmine/result.rb
jasmine-2.3.0 lib/jasmine/result.rb