module Test::Unit::Collector

Public Class Methods

new() click to toggle source
# File lib/test/unit/collector.rb, line 4
def initialize
  @filters = []
end

Public Instance Methods

add_suite(destination, suite) click to toggle source
# File lib/test/unit/collector.rb, line 17
def add_suite(destination, suite)
  to_delete = suite.tests.find_all do |test|
    test.is_a?(TestCase) and !include?(test)
  end
  to_delete.each {|t| suite.delete(t)}
  destination << suite unless suite.empty?
end
add_test_cases(suite, test_cases) click to toggle source
# File lib/test/unit/collector.rb, line 25
def add_test_cases(suite, test_cases)
  children_map = {}
  test_cases.each do |descendant_test_case|
    parent = descendant_test_case.ancestors[1]
    children_map[parent] ||= []
    children_map[parent] << descendant_test_case
  end

  root_test_cases = children_map.keys - test_cases
  root_test_cases.each do |root_test_case|
    add_test_case(suite, root_test_case, children_map)
  end
end
filter=(filters) click to toggle source
# File lib/test/unit/collector.rb, line 8
def filter=(filters)
  @filters = case(filters)
    when Proc
      [filters]
    when Array
      filters
  end
end
include?(test) click to toggle source
# File lib/test/unit/collector.rb, line 39
def include?(test)
  return true if(@filters.empty?)
  @filters.each do |filter|
    return false if filter[test] == false
  end
  true
end
sort(suites) click to toggle source
# File lib/test/unit/collector.rb, line 47
def sort(suites)
  suites.sort_by do |suite|
    [suite.priority, suite.name || suite.to_s]
  end
end