1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
require 'abstract_unit'
require 'rails/test_unit/sub_test_task'
module Rails
class TestInfoTest < ActiveSupport::TestCase
def test_test_files
info = new_test_info ['test']
assert_predicate info.files, :empty?
assert_nil info.opts
assert_equal ['test'], info.tasks
end
def test_with_file
info = new_test_info ['test', __FILE__]
assert_equal [__FILE__], info.files
assert_nil info.opts
assert_equal ['test'], info.tasks
end
def test_with_opts
info = new_test_info ['test', __FILE__, '/foo/']
assert_equal [__FILE__], info.files
assert_equal '-n /foo/', info.opts
assert_equal ['test'], info.tasks
end
def test_with_model_shorthand
info = new_test_info ['test', 'models/foo', '/foo/']
def info.test_file?(file)
file == "test/models/foo_test.rb" || super
end
assert_equal ['test/models/foo_test.rb'], info.files
assert_equal '-n /foo/', info.opts
assert_equal ['test'], info.tasks
end
def test_with_model_path
info = new_test_info ['test', 'app/models/foo.rb', '/foo/']
def info.test_file?(file)
file == "test/models/foo_test.rb" || super
end
assert_equal ['test/models/foo_test.rb'], info.files
assert_equal '-n /foo/', info.opts
assert_equal ['test'], info.tasks
end
private
def new_test_info(tasks)
Class.new(TestTask::TestInfo) {
def task_defined?(task)
task == "test"
end
}.new tasks
end
end
end
|