# File lib/test/unit/collector.rb, line 4 def initialize @filters = [] end
# 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 suite.delete_tests(to_delete) destination << suite unless suite.empty? end
# 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
# File lib/test/unit/collector.rb, line 8 def filter=(filters) @filters = case(filters) when Proc [filters] when Array filters end end
# 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
# 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