Sha256: a934e91dc1881c0b82b54301bc2e593775b339933909039a8c1fadbf5fd64f6e

Contents?: true

Size: 1.05 KB

Versions: 8

Compression:

Stored size: 1.05 KB

Contents

module Jasmine
  class Result

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

    def initialize(attrs)
      @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)
    end

    def succeeded?
      status == 'passed'
    end

    def failed?
      status == 'failed'
    end

    def pending?
      status == 'pending'
    end

    attr_reader :full_name, :description, :failed_expectations, :suite_name

    private
    attr_reader :status

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

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jasmine-2.1.0 lib/jasmine/result.rb
jasmine-2.0.3 lib/jasmine/result.rb
jasmine-2.0.2 lib/jasmine/result.rb
jasmine-2.0.1 lib/jasmine/result.rb
jasmine-2.0.0 lib/jasmine/result.rb
jasmine-2.0.0.rc5 lib/jasmine/result.rb
jasmine-2.0.0.rc4 lib/jasmine/result.rb
jasmine-2.0.0.rc3 lib/jasmine/result.rb