vergissberlin 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +10 -1
  3. data/bin/vergissberlin +1 -1
  4. data/lib/vergissberlin/version.rb +1 -1
  5. data/test/test_test.rb +7 -0
  6. data/test/utils.rb +37 -0
  7. data/vendor/bundle/bin/rake +23 -0
  8. data/vendor/bundle/bin/vergissberlin +23 -0
  9. data/vendor/bundle/build_info/capistrano_colors-0.5.5.info +1 -0
  10. data/vendor/bundle/build_info/rake-10.0.4.info +1 -0
  11. data/vendor/bundle/gems/capistrano_colors-0.5.5/Manifest +7 -0
  12. data/vendor/bundle/gems/capistrano_colors-0.5.5/README.rdoc +130 -0
  13. data/vendor/bundle/gems/capistrano_colors-0.5.5/Rakefile +1 -0
  14. data/vendor/bundle/gems/capistrano_colors-0.5.5/capistrano_colors.gemspec +33 -0
  15. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/configuration.rb +70 -0
  16. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/logger.rb +72 -0
  17. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors.rb +18 -0
  18. data/vendor/bundle/gems/rake-10.0.4/CHANGES +530 -0
  19. data/vendor/bundle/gems/rake-10.0.4/MIT-LICENSE +21 -0
  20. data/vendor/bundle/gems/rake-10.0.4/README.rdoc +187 -0
  21. data/vendor/bundle/gems/rake-10.0.4/Rakefile +375 -0
  22. data/vendor/bundle/gems/rake-10.0.4/TODO +21 -0
  23. data/vendor/bundle/gems/rake-10.0.4/bin/rake +33 -0
  24. data/vendor/bundle/gems/rake-10.0.4/install.rb +90 -0
  25. data/vendor/bundle/gems/rake-10.0.4/lib/rake/alt_system.rb +109 -0
  26. data/vendor/bundle/gems/rake-10.0.4/lib/rake/application.rb +681 -0
  27. data/vendor/bundle/gems/rake-10.0.4/lib/rake/backtrace.rb +19 -0
  28. data/vendor/bundle/gems/rake-10.0.4/lib/rake/clean.rb +32 -0
  29. data/vendor/bundle/gems/rake-10.0.4/lib/rake/cloneable.rb +16 -0
  30. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/compositepublisher.rb +21 -0
  31. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/ftptools.rb +151 -0
  32. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/publisher.rb +73 -0
  33. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  34. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sshpublisher.rb +50 -0
  35. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sys.rb +1 -0
  36. data/vendor/bundle/gems/rake-10.0.4/lib/rake/default_loader.rb +10 -0
  37. data/vendor/bundle/gems/rake-10.0.4/lib/rake/dsl_definition.rb +156 -0
  38. data/vendor/bundle/gems/rake-10.0.4/lib/rake/early_time.rb +18 -0
  39. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/core.rb +27 -0
  40. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/module.rb +0 -0
  41. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/string.rb +168 -0
  42. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/time.rb +15 -0
  43. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_creation_task.rb +24 -0
  44. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_list.rb +410 -0
  45. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_task.rb +47 -0
  46. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils.rb +114 -0
  47. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils_ext.rb +143 -0
  48. data/vendor/bundle/gems/rake-10.0.4/lib/rake/gempackagetask.rb +1 -0
  49. data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_chain.rb +51 -0
  50. data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_exception_mixin.rb +16 -0
  51. data/vendor/bundle/gems/rake-10.0.4/lib/rake/loaders/makefile.rb +40 -0
  52. data/vendor/bundle/gems/rake-10.0.4/lib/rake/multi_task.rb +13 -0
  53. data/vendor/bundle/gems/rake-10.0.4/lib/rake/name_space.rb +25 -0
  54. data/vendor/bundle/gems/rake-10.0.4/lib/rake/packagetask.rb +185 -0
  55. data/vendor/bundle/gems/rake-10.0.4/lib/rake/pathmap.rb +1 -0
  56. data/vendor/bundle/gems/rake-10.0.4/lib/rake/phony.rb +15 -0
  57. data/vendor/bundle/gems/rake-10.0.4/lib/rake/private_reader.rb +20 -0
  58. data/vendor/bundle/gems/rake-10.0.4/lib/rake/promise.rb +99 -0
  59. data/vendor/bundle/gems/rake-10.0.4/lib/rake/pseudo_status.rb +24 -0
  60. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_module.rb +37 -0
  61. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_test_loader.rb +22 -0
  62. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rdoctask.rb +1 -0
  63. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ruby182_test_unit_fix.rb +25 -0
  64. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rule_recursion_overflow_error.rb +20 -0
  65. data/vendor/bundle/gems/rake-10.0.4/lib/rake/runtest.rb +22 -0
  66. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task.rb +368 -0
  67. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_argument_error.rb +7 -0
  68. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_arguments.rb +78 -0
  69. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_manager.rb +296 -0
  70. data/vendor/bundle/gems/rake-10.0.4/lib/rake/tasklib.rb +22 -0
  71. data/vendor/bundle/gems/rake-10.0.4/lib/rake/testtask.rb +198 -0
  72. data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_history_display.rb +48 -0
  73. data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_pool.rb +155 -0
  74. data/vendor/bundle/gems/rake-10.0.4/lib/rake/trace_output.rb +22 -0
  75. data/vendor/bundle/gems/rake-10.0.4/lib/rake/version.rb +13 -0
  76. data/vendor/bundle/gems/rake-10.0.4/lib/rake/win32.rb +55 -0
  77. data/vendor/bundle/gems/rake-10.0.4/lib/rake.rb +71 -0
  78. data/vendor/bundle/gems/rake-10.0.4/test/file_creation.rb +34 -0
  79. data/vendor/bundle/gems/rake-10.0.4/test/helper.rb +562 -0
  80. data/vendor/bundle/gems/rake-10.0.4/test/test_private_reader.rb +42 -0
  81. data/vendor/bundle/gems/rake-10.0.4/test/test_rake.rb +40 -0
  82. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application.rb +515 -0
  83. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application_options.rb +455 -0
  84. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_backtrace.rb +89 -0
  85. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_clean.rb +14 -0
  86. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_definitions.rb +80 -0
  87. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_directory_task.rb +57 -0
  88. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_dsl.rb +40 -0
  89. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_early_time.rb +31 -0
  90. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_extension.rb +59 -0
  91. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_creation_task.rb +56 -0
  92. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list.rb +628 -0
  93. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list_path_map.rb +8 -0
  94. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_task.rb +122 -0
  95. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_utils.rb +305 -0
  96. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_ftp_file.rb +59 -0
  97. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_functional.rb +496 -0
  98. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_invocation_chain.rb +52 -0
  99. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_makefile_loader.rb +44 -0
  100. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_multi_task.rb +59 -0
  101. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_name_space.rb +43 -0
  102. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_package_task.rb +79 -0
  103. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map.rb +157 -0
  104. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_explode.rb +34 -0
  105. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_partial.rb +18 -0
  106. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_pseudo_status.rb +21 -0
  107. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rake_test_loader.rb +21 -0
  108. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_reduce_compat.rb +30 -0
  109. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_require.rb +40 -0
  110. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rules.rb +327 -0
  111. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task.rb +340 -0
  112. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_argument_parsing.rb +103 -0
  113. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_arguments.rb +88 -0
  114. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_lib.rb +9 -0
  115. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager.rb +157 -0
  116. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager_argument_resolution.rb +19 -0
  117. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_with_arguments.rb +171 -0
  118. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_test_task.rb +120 -0
  119. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_thread_pool.rb +122 -0
  120. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_top_level_functions.rb +71 -0
  121. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_win32.rb +72 -0
  122. data/vendor/bundle/gems/rake-10.0.4/test/test_thread_history_display.rb +91 -0
  123. data/vendor/bundle/gems/rake-10.0.4/test/test_trace_output.rb +50 -0
  124. data/vendor/bundle/specifications/capistrano_colors-0.5.5.gemspec +32 -0
  125. data/vendor/bundle/specifications/rake-10.0.4.gemspec +35 -0
  126. data/vergissberlin.gemspec +4 -2
  127. metadata +125 -2
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require 'rake/tasklib'
3
+
4
+ class TestRakeTaskLib < Rake::TestCase
5
+ def test_paste
6
+ tl = Rake::TaskLib.new
7
+ assert_equal :ab, tl.paste(:a, :b)
8
+ end
9
+ end
@@ -0,0 +1,157 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskManager < Rake::TestCase
4
+
5
+ def setup
6
+ super
7
+
8
+ @tm = Rake::TestCase::TaskManager.new
9
+ end
10
+
11
+ def test_create_task_manager
12
+ refute_nil @tm
13
+ assert_equal [], @tm.tasks
14
+ end
15
+
16
+ def test_define_task
17
+ t = @tm.define_task(Rake::Task, :t)
18
+ assert_equal "t", t.name
19
+ assert_equal @tm, t.application
20
+ end
21
+
22
+ def test_index
23
+ e = assert_raises RuntimeError do
24
+ @tm['bad']
25
+ end
26
+
27
+ assert_equal "Don't know how to build task 'bad'", e.message
28
+ end
29
+
30
+ def test_name_lookup
31
+ t = @tm.define_task(Rake::Task, :t)
32
+ assert_equal t, @tm[:t]
33
+ end
34
+
35
+ def test_namespace_task_create
36
+ @tm.in_namespace("x") do
37
+ t = @tm.define_task(Rake::Task, :t)
38
+ assert_equal "x:t", t.name
39
+ end
40
+ assert_equal ["x:t"], @tm.tasks.collect { |t| t.name }
41
+ end
42
+
43
+ def test_anonymous_namespace
44
+ anon_ns = @tm.in_namespace(nil) do
45
+ t = @tm.define_task(Rake::Task, :t)
46
+ assert_equal "_anon_1:t", t.name
47
+ end
48
+ task = anon_ns[:t]
49
+ assert_equal "_anon_1:t", task.name
50
+ end
51
+
52
+ def test_create_filetask_in_namespace
53
+ @tm.in_namespace("x") do
54
+ t = @tm.define_task(Rake::FileTask, "fn")
55
+ assert_equal "fn", t.name
56
+ end
57
+
58
+ assert_equal ["fn"], @tm.tasks.collect { |t| t.name }
59
+ end
60
+
61
+ def test_namespace_yields_same_namespace_as_returned
62
+ yielded_namespace = nil
63
+ returned_namespace = @tm.in_namespace("x") do |ns|
64
+ yielded_namespace = ns
65
+ end
66
+ assert_equal returned_namespace, yielded_namespace
67
+ end
68
+
69
+ def test_name_lookup_with_implicit_file_tasks
70
+ FileUtils.touch 'README.rdoc'
71
+
72
+ t = @tm["README.rdoc"]
73
+
74
+ assert_equal "README.rdoc", t.name
75
+ assert Rake::FileTask === t
76
+ end
77
+
78
+ def test_name_lookup_with_nonexistent_task
79
+ assert_raises(RuntimeError) {
80
+ @tm["DOES NOT EXIST"]
81
+ }
82
+ end
83
+
84
+ def test_name_lookup_in_multiple_scopes
85
+ aa = nil
86
+ bb = nil
87
+ xx = @tm.define_task(Rake::Task, :xx)
88
+ top_z = @tm.define_task(Rake::Task, :z)
89
+ @tm.in_namespace("a") do
90
+ aa = @tm.define_task(Rake::Task, :aa)
91
+ mid_z = @tm.define_task(Rake::Task, :z)
92
+ @tm.in_namespace("b") do
93
+ bb = @tm.define_task(Rake::Task, :bb)
94
+ bot_z = @tm.define_task(Rake::Task, :z)
95
+
96
+ assert_equal ["a", "b"], @tm.current_scope
97
+
98
+ assert_equal bb, @tm["a:b:bb"]
99
+ assert_equal aa, @tm["a:aa"]
100
+ assert_equal xx, @tm["xx"]
101
+ assert_equal bot_z, @tm["z"]
102
+ assert_equal mid_z, @tm["^z"]
103
+ assert_equal top_z, @tm["^^z"]
104
+ assert_equal top_z, @tm["rake:z"]
105
+ end
106
+
107
+ assert_equal ["a"], @tm.current_scope
108
+
109
+ assert_equal bb, @tm["a:b:bb"]
110
+ assert_equal aa, @tm["a:aa"]
111
+ assert_equal xx, @tm["xx"]
112
+ assert_equal bb, @tm["b:bb"]
113
+ assert_equal aa, @tm["aa"]
114
+ assert_equal mid_z, @tm["z"]
115
+ assert_equal top_z, @tm["^z"]
116
+ assert_equal top_z, @tm["rake:z"]
117
+ end
118
+
119
+ assert_equal [], @tm.current_scope
120
+
121
+ assert_equal [], xx.scope
122
+ assert_equal ['a'], aa.scope
123
+ assert_equal ['a', 'b'], bb.scope
124
+ end
125
+
126
+ def test_lookup_with_explicit_scopes
127
+ t1, t2, t3, s = (0...4).collect { nil }
128
+ t1 = @tm.define_task(Rake::Task, :t)
129
+ @tm.in_namespace("a") do
130
+ t2 = @tm.define_task(Rake::Task, :t)
131
+ s = @tm.define_task(Rake::Task, :s)
132
+ @tm.in_namespace("b") do
133
+ t3 = @tm.define_task(Rake::Task, :t)
134
+ end
135
+ end
136
+ assert_equal t1, @tm[:t, []]
137
+ assert_equal t2, @tm[:t, ["a"]]
138
+ assert_equal t3, @tm[:t, ["a", "b"]]
139
+ assert_equal s, @tm[:s, ["a", "b"]]
140
+ assert_equal s, @tm[:s, ["a"]]
141
+ end
142
+
143
+ def test_correctly_scoped_prerequisites_are_invoked
144
+ values = []
145
+ @tm = Rake::Application.new
146
+ @tm.define_task(Rake::Task, :z) do values << "top z" end
147
+ @tm.in_namespace("a") do
148
+ @tm.define_task(Rake::Task, :z) do values << "next z" end
149
+ @tm.define_task(Rake::Task, :x => :z)
150
+ end
151
+
152
+ @tm["a:x"].invoke
153
+ assert_equal ["next z"], values
154
+ end
155
+
156
+ end
157
+
@@ -0,0 +1,19 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskManagerArgumentResolution < Rake::TestCase
4
+
5
+ def test_good_arg_patterns
6
+ assert_equal [:t, [], []], task(:t)
7
+ assert_equal [:t, [], [:x]], task(:t => :x)
8
+ assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
9
+
10
+ assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
11
+ assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
12
+ assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
13
+ end
14
+
15
+ def task(*args)
16
+ tm = Rake::TestCase::TaskManager.new
17
+ tm.resolve_args(args)
18
+ end
19
+ end
@@ -0,0 +1,171 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskWithArguments < Rake::TestCase
4
+ include Rake
5
+
6
+ def setup
7
+ super
8
+
9
+ Task.clear
10
+ Rake::TaskManager.record_task_metadata = true
11
+ end
12
+
13
+ def teardown
14
+ Rake::TaskManager.record_task_metadata = false
15
+
16
+ super
17
+ end
18
+
19
+ def test_no_args_given
20
+ t = task :t
21
+ assert_equal [], t.arg_names
22
+ end
23
+
24
+ def test_args_given
25
+ t = task :t, :a, :b
26
+ assert_equal [:a, :b], t.arg_names
27
+ end
28
+
29
+ def test_name_and_needs
30
+ t = task(:t => [:pre])
31
+ assert_equal "t", t.name
32
+ assert_equal [], t.arg_names
33
+ assert_equal ["pre"], t.prerequisites
34
+ end
35
+
36
+ def test_name_args_and_prereqs
37
+ t = task(:t, [:x, :y] => [:pre])
38
+ assert_equal "t", t.name
39
+ assert_equal [:x, :y], t.arg_names
40
+ assert_equal ["pre"], t.prerequisites
41
+ end
42
+
43
+ def test_arg_list_is_empty_if_no_args_given
44
+ t = task(:t) { |tt, args| assert_equal({}, args.to_hash) }
45
+ t.invoke(1, 2, 3)
46
+ end
47
+
48
+ def test_tasks_can_access_arguments_as_hash
49
+ t = task :t, :a, :b, :c do |tt, args|
50
+ assert_equal({:a => 1, :b => 2, :c => 3}, args.to_hash)
51
+ assert_equal 1, args[:a]
52
+ assert_equal 2, args[:b]
53
+ assert_equal 3, args[:c]
54
+ assert_equal 1, args.a
55
+ assert_equal 2, args.b
56
+ assert_equal 3, args.c
57
+ end
58
+ t.invoke(1, 2, 3)
59
+ end
60
+
61
+ def test_actions_of_various_arity_are_ok_with_args
62
+ notes = []
63
+ t = task(:t, :x) do
64
+ notes << :a
65
+ end
66
+ t.enhance do | |
67
+ notes << :b
68
+ end
69
+ t.enhance do |task|
70
+ notes << :c
71
+ assert_kind_of Task, task
72
+ end
73
+ t.enhance do |t2, args|
74
+ notes << :d
75
+ assert_equal t, t2
76
+ assert_equal({:x => 1}, args.to_hash)
77
+ end
78
+ t.invoke(1)
79
+ assert_equal [:a, :b, :c, :d], notes
80
+ end
81
+
82
+ def test_arguments_are_passed_to_block
83
+ t = task(:t, :a, :b) { |tt, args|
84
+ assert_equal( { :a => 1, :b => 2 }, args.to_hash )
85
+ }
86
+ t.invoke(1, 2)
87
+ end
88
+
89
+ def test_extra_parameters_are_ignored
90
+ t = task(:t, :a) { |tt, args|
91
+ assert_equal 1, args.a
92
+ assert_nil args.b
93
+ }
94
+ t.invoke(1, 2)
95
+ end
96
+
97
+ def test_arguments_are_passed_to_all_blocks
98
+ counter = 0
99
+ t = task :t, :a
100
+ task :t do |tt, args|
101
+ assert_equal 1, args.a
102
+ counter += 1
103
+ end
104
+ task :t do |tt, args|
105
+ assert_equal 1, args.a
106
+ counter += 1
107
+ end
108
+ t.invoke(1)
109
+ assert_equal 2, counter
110
+ end
111
+
112
+ def test_block_with_no_parameters_is_ok
113
+ t = task(:t) { }
114
+ t.invoke(1, 2)
115
+ end
116
+
117
+ def test_name_with_args
118
+ desc "T"
119
+ t = task(:tt, :a, :b)
120
+ assert_equal "tt", t.name
121
+ assert_equal "T", t.comment
122
+ assert_equal "[a,b]", t.arg_description
123
+ assert_equal "tt[a,b]", t.name_with_args
124
+ assert_equal [:a, :b],t.arg_names
125
+ end
126
+
127
+ def test_named_args_are_passed_to_prereqs
128
+ value = nil
129
+ task(:pre, :rev) { |t, args| value = args.rev }
130
+ t = task(:t, [:name, :rev] => [:pre])
131
+ t.invoke("bill", "1.2")
132
+ assert_equal "1.2", value
133
+ end
134
+
135
+ def test_args_not_passed_if_no_prereq_names_on_task
136
+ task(:pre) { |t, args|
137
+ assert_equal({}, args.to_hash)
138
+ assert_equal "bill", args.name
139
+ }
140
+ t = task(:t, [:name, :rev] => [:pre])
141
+ t.invoke("bill", "1.2")
142
+ end
143
+
144
+ def test_args_not_passed_if_no_prereq_names_on_multitask
145
+ task(:pre) { |t, args|
146
+ assert_equal({}, args.to_hash)
147
+ assert_equal "bill", args.name
148
+ }
149
+ t = multitask(:t, [:name, :rev] => [:pre])
150
+ t.invoke("bill", "1.2")
151
+ end
152
+
153
+ def test_args_not_passed_if_no_arg_names
154
+ task(:pre, :rev) { |t, args|
155
+ assert_equal({}, args.to_hash)
156
+ }
157
+ t = task(:t => [:pre])
158
+ t.invoke("bill", "1.2")
159
+ end
160
+
161
+ def test_values_at
162
+ t = task(:pre, [:a, :b, :c]) { |task, args|
163
+ a, b, c = args.values_at(:a, :b, :c)
164
+ assert_equal %w[1 2 3], [a, b, c]
165
+ }
166
+
167
+ t.invoke(*%w[1 2 3])
168
+
169
+ # HACK no assertions
170
+ end
171
+ end
@@ -0,0 +1,120 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require 'rake/testtask'
3
+
4
+ class TestRakeTestTask < Rake::TestCase
5
+ include Rake
6
+
7
+ def test_initialize
8
+ tt = Rake::TestTask.new do |t| end
9
+ refute_nil tt
10
+ assert_equal :test, tt.name
11
+ assert_equal ['lib'], tt.libs
12
+ assert_equal 'test/test*.rb', tt.pattern
13
+ assert_equal false, tt.verbose
14
+ assert Task.task_defined?(:test)
15
+ end
16
+
17
+ def test_initialize_override
18
+ tt = Rake::TestTask.new(:example) do |t|
19
+ t.libs = ['src', 'ext']
20
+ t.pattern = 'test/tc_*.rb'
21
+ t.verbose = true
22
+ end
23
+ refute_nil tt
24
+ assert_equal :example, tt.name
25
+ assert_equal ['src', 'ext'], tt.libs
26
+ assert_equal 'test/tc_*.rb', tt.pattern
27
+ assert_equal true, tt.verbose
28
+ assert Task.task_defined?(:example)
29
+ end
30
+
31
+ def test_file_list_ENV_TEST
32
+ ENV['TEST'] = 'testfile.rb'
33
+ tt = Rake::TestTask.new do |t|
34
+ t.pattern = '*'
35
+ end
36
+
37
+ assert_equal ["testfile.rb"], tt.file_list.to_a
38
+ ensure
39
+ ENV.delete 'TEST'
40
+ end
41
+
42
+ def test_libs_equals
43
+ test_task = Rake::TestTask.new do |t|
44
+ t.libs << ["A", "B"]
45
+ end
46
+
47
+ path = %w[lib A B].join File::PATH_SEPARATOR
48
+
49
+ assert_equal "-I\"#{path}\"", test_task.ruby_opts_string
50
+ end
51
+
52
+ def test_libs_equals_empty
53
+ test_task = Rake::TestTask.new do |t|
54
+ t.libs = []
55
+ end
56
+
57
+ assert_equal '', test_task.ruby_opts_string
58
+ end
59
+
60
+ def test_pattern_equals
61
+ tt = Rake::TestTask.new do |t|
62
+ t.pattern = '*.rb'
63
+ end
64
+ assert_equal ['*.rb'], tt.file_list.to_a
65
+ end
66
+
67
+ def test_pattern_equals_test_files_equals
68
+ tt = Rake::TestTask.new do |t|
69
+ t.test_files = FileList['a.rb', 'b.rb']
70
+ t.pattern = '*.rb'
71
+ end
72
+ assert_equal ['a.rb', 'b.rb', '*.rb'], tt.file_list.to_a
73
+ end
74
+
75
+ def test_run_code_direct
76
+ test_task = Rake::TestTask.new do |t|
77
+ t.loader = :direct
78
+ end
79
+
80
+ assert_equal '-e "ARGV.each{|f| require f}"', test_task.run_code
81
+ end
82
+
83
+ def test_run_code_rake
84
+ test_task = Rake::TestTask.new do |t|
85
+ t.loader = :rake
86
+ end
87
+
88
+ assert_match(/-I".*?" ".*?"/, test_task.run_code)
89
+ end
90
+
91
+ def test_run_code_testrb_ruby_1_8_2
92
+ test_task = Rake::TestTask.new do |t|
93
+ t.loader = :testrb
94
+ end
95
+
96
+ def test_task.ruby_version() '1.8.2' end
97
+
98
+ assert_match(/^-S testrb +".*"$/, test_task.run_code)
99
+ end
100
+
101
+ def test_run_code_testrb_ruby_1_8_6
102
+ test_task = Rake::TestTask.new do |t|
103
+ t.loader = :testrb
104
+ end
105
+
106
+ def test_task.ruby_version() '1.8.6' end
107
+
108
+ assert_match(/^-S testrb +$/, test_task.run_code)
109
+ end
110
+
111
+ def test_test_files_equals
112
+ tt = Rake::TestTask.new do |t|
113
+ t.test_files = FileList['a.rb', 'b.rb']
114
+ end
115
+
116
+ assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
117
+ end
118
+
119
+ end
120
+