class TestLauncher::Queries::ExampleNameQuery

Public Instance Methods

command() click to toggle source
# File lib/test_launcher/queries.rb, line 221
def command
  return if test_cases.empty?

  if one_example?
    shell.notify("Found 1 example in 1 file.")
    runner.single_example(test_cases.first)
  elsif one_file?
    shell.notify("Found #{test_cases.size} examples in 1 file.")
    runner.multiple_examples_same_file(test_cases) # it will regex with the query
  elsif request.run_all?
    shell.notify "Found #{pluralize(test_cases.size, "example")} in #{pluralize(file_count, "file")}."
    runner.multiple_examples(test_cases)
  else
    shell.notify "Found #{pluralize(test_cases.size, "example")} in #{pluralize(file_count, "file")}."
    shell.notify "Running most recently edited. Run with '--all' to run all the tests."
    runner.single_example(most_recently_edited_test_case) # let it regex the query
  end
end
examples_found_by_name() click to toggle source
# File lib/test_launcher/queries.rb, line 253
def examples_found_by_name
  @examples_found_by_name ||= searcher.examples(request.search_string)
end
one_example?() click to toggle source
# File lib/test_launcher/queries.rb, line 257
def one_example?
  test_cases.size == 1
end
test_cases() click to toggle source
# File lib/test_launcher/queries.rb, line 240
def test_cases
  @test_cases ||= begin
    examples_found_by_name.map { |grep_result|
      request.test_case(
        file: grep_result[:file],
        example: request.search_string,
        line_number: grep_result[:line_number],
        request: request
      )
    }
  end
end