class Spec::Runner::Formatter::NestedTextFormatter

def add_example_group(example_group)

def add_example_group(example_group)
  super
  current_nested_example_groups = described_example_group_chain
  current_nested_example_groups.each_with_index do |nested_example_group, i|
    unless nested_example_group == previous_nested_example_groups[i]
      output.puts "#{'  ' * i}#{nested_example_group.description_args}"
    end
  end
  @previous_nested_example_groups = described_example_group_chain
end

def current_indentation

def current_indentation
  '  ' * previous_nested_example_groups.length
end

def described_example_group_chain

def described_example_group_chain
  example_group_chain = []
  example_group.send(:execute_in_class_hierarchy) do |parent_example_group|
    if parent_example_group.description_args && !parent_example_group.description_args.empty?
      example_group_chain << parent_example_group
    end
  end
  example_group_chain
end

def example_failed(example, counter, failure)

def example_failed(example, counter, failure)
  message = if failure.expectation_not_met?
    "#{current_indentation}#{example.description} (FAILED - #{counter})"
  else
    "#{current_indentation}#{example.description} (ERROR - #{counter})"
  end
  output.puts(failure.expectation_not_met? ? red(message) : magenta(message))
  output.flush
end

def example_passed(example)

def example_passed(example)
  message = "#{current_indentation}#{example.description}"
  output.puts green(message)
  output.flush
end

def example_pending(example, message, pending_caller)

def example_pending(example, message, pending_caller)
  super
  output.puts yellow("#{current_indentation}#{example.description} (PENDING: #{message})")
  output.flush
end

def initialize(options, where)

def initialize(options, where)
  super
  @previous_nested_example_groups = []
end