Line | |
---|
1 | module Test
|
---|
2 | module Unit
|
---|
3 | module Collector
|
---|
4 | def initialize
|
---|
5 | @filters = []
|
---|
6 | end
|
---|
7 |
|
---|
8 | def filter=(filters)
|
---|
9 | @filters = case(filters)
|
---|
10 | when Proc
|
---|
11 | [filters]
|
---|
12 | when Array
|
---|
13 | filters
|
---|
14 | end
|
---|
15 | end
|
---|
16 |
|
---|
17 | def add_suite(destination, suite)
|
---|
18 | to_delete = suite.tests.find_all{|t| !include?(t)}
|
---|
19 | to_delete.each{|t| suite.delete(t)}
|
---|
20 | destination << suite unless(suite.size == 0)
|
---|
21 | end
|
---|
22 |
|
---|
23 | def include?(test)
|
---|
24 | return true if(@filters.empty?)
|
---|
25 | @filters.each do |filter|
|
---|
26 | result = filter[test]
|
---|
27 | if(result.nil?)
|
---|
28 | next
|
---|
29 | elsif(!result)
|
---|
30 | return false
|
---|
31 | else
|
---|
32 | return true
|
---|
33 | end
|
---|
34 | end
|
---|
35 | true
|
---|
36 | end
|
---|
37 |
|
---|
38 | def sort(suites)
|
---|
39 | suites.sort_by{|s| s.name}
|
---|
40 | end
|
---|
41 | end
|
---|
42 | end
|
---|
43 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.