Sha256: 8bf2b27cd5b82ae39bb4a2e20686dac46951307f59bb374ba5ff29c0150e1cee

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

module Lucid
  # Raised when there is no matching test definition for a step.
  class Undefined < StandardError
    attr_reader :step_name

    def initialize(step_name)
      super %{Undefined step: "#{step_name}"}
      @step_name = step_name
    end

    def nested!
      @nested = true
    end

    def nested?
      @nested
    end
  end

  # Raised when a test definition block invokes Domain#pending.
  class Pending < StandardError
  end

  # Raised when a step matches two or more test definitions.
  class Ambiguous < StandardError
    def initialize(step_name, step_definitions, used_guess)
      message = "Ambiguous match of \"#{step_name}\":\n\n"
      message << step_definitions.map{|sd| sd.backtrace_line}.join("\n")
      message << "\n\n"
      message << "You can run again with --guess to make Lucid be a little more smart about it.\n" unless used_guess
      super(message)
    end
  end

  class TagExcess < StandardError
    def initialize(messages)
      super(messages.join("\n"))
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lucid-0.5.1 lib/lucid/errors.rb
lucid-0.4.1 lib/lucid/errors.rb
lucid-0.4.0 lib/lucid/errors.rb
lucid-0.3.3 lib/lucid/errors.rb
lucid-0.3.0 lib/lucid/errors.rb