spline 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/lib/spline/action_command.rb +21 -0
  4. data/lib/spline/install_command.rb +28 -0
  5. data/lib/spline/process_command.rb +20 -0
  6. data/lib/spline/spline_cli.rb +7 -19
  7. data/lib/spline/templates/action.tt +7 -0
  8. data/lib/spline/templates/my_first_action.tt +11 -0
  9. data/lib/spline/templates/my_process.tt +21 -0
  10. data/lib/spline/templates/my_second_action.tt +11 -0
  11. data/lib/spline/templates/process.tt +6 -0
  12. data/lib/spline/version.rb +1 -1
  13. data/spline.gemspec +0 -1
  14. metadata +9 -140
  15. data/vendor/bundle/ruby/2.1.0/bin/rake +0 -23
  16. data/vendor/bundle/ruby/2.1.0/bin/spline +0 -23
  17. data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +0 -1
  18. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +0 -7
  19. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.gemtest +0 -0
  20. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.rubocop.yml +0 -27
  21. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +0 -7
  22. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +0 -34
  23. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +0 -609
  24. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +0 -21
  25. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +0 -162
  26. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +0 -137
  27. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +0 -81
  28. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +0 -33
  29. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +0 -110
  30. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +0 -783
  31. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +0 -23
  32. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +0 -76
  33. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +0 -16
  34. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
  35. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +0 -21
  36. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +0 -137
  37. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +0 -81
  38. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  39. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +0 -61
  40. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +0 -4
  41. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +0 -109
  42. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +0 -14
  43. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +0 -198
  44. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +0 -21
  45. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +0 -25
  46. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +0 -1
  47. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +0 -173
  48. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +0 -15
  49. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +0 -24
  50. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +0 -414
  51. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +0 -46
  52. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +0 -116
  53. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +0 -144
  54. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +0 -4
  55. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +0 -56
  56. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +0 -16
  57. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +0 -103
  58. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +0 -40
  59. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +0 -13
  60. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +0 -38
  61. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +0 -202
  62. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +0 -3
  63. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +0 -15
  64. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +0 -20
  65. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +0 -99
  66. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +0 -29
  67. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +0 -38
  68. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +0 -22
  69. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +0 -4
  70. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +0 -29
  71. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
  72. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +0 -27
  73. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +0 -42
  74. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +0 -383
  75. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +0 -7
  76. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +0 -98
  77. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +0 -310
  78. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +0 -24
  79. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +0 -212
  80. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +0 -48
  81. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +0 -164
  82. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +0 -22
  83. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +0 -7
  84. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +0 -56
  85. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +0 -78
  86. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +0 -20
  87. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +0 -25
  88. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +0 -34
  89. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +0 -127
  90. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +0 -478
  91. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +0 -33
  92. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +0 -42
  93. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +0 -40
  94. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +0 -641
  95. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +0 -466
  96. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +0 -119
  97. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +0 -55
  98. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +0 -50
  99. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +0 -79
  100. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +0 -63
  101. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +0 -40
  102. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +0 -31
  103. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +0 -59
  104. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +0 -56
  105. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +0 -627
  106. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +0 -8
  107. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +0 -186
  108. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +0 -309
  109. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +0 -74
  110. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +0 -482
  111. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +0 -64
  112. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +0 -84
  113. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +0 -46
  114. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +0 -58
  115. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +0 -57
  116. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +0 -79
  117. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +0 -168
  118. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +0 -34
  119. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +0 -18
  120. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +0 -21
  121. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +0 -20
  122. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +0 -26
  123. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +0 -40
  124. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +0 -388
  125. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +0 -44
  126. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +0 -392
  127. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +0 -109
  128. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +0 -127
  129. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +0 -9
  130. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +0 -178
  131. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
  132. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +0 -171
  133. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +0 -141
  134. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +0 -142
  135. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +0 -71
  136. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +0 -72
  137. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +0 -101
  138. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +0 -52
  139. data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +0 -45
@@ -1,392 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'fileutils'
3
-
4
- class TestRakeTask < Rake::TestCase
5
- include Rake
6
-
7
- def setup
8
- super
9
-
10
- Task.clear
11
- Rake::TaskManager.record_task_metadata = true
12
- end
13
-
14
- def teardown
15
- Rake::TaskManager.record_task_metadata = false
16
-
17
- super
18
- end
19
-
20
- def test_create
21
- arg = nil
22
- t = task(:name) { |task| arg = task; 1234 }
23
- assert_equal "name", t.name
24
- assert_equal [], t.prerequisites
25
- assert t.needed?
26
- t.execute(0)
27
- assert_equal t, arg
28
- assert_nil t.source
29
- assert_equal [], t.sources
30
- assert_equal 1, t.locations.size
31
- assert_match(/#{Regexp.quote(__FILE__)}/, t.locations.first)
32
- end
33
-
34
- def test_inspect
35
- t = task(:foo => [:bar, :baz])
36
- assert_equal "<Rake::Task foo => [bar, baz]>", t.inspect
37
- end
38
-
39
- def test_invoke
40
- runlist = []
41
- t1 = task(:t1 => [:t2, :t3]) { |t| runlist << t.name; 3321 }
42
- task(:t2) { |t| runlist << t.name }
43
- task(:t3) { |t| runlist << t.name }
44
- assert_equal ["t2", "t3"], t1.prerequisites
45
- t1.invoke
46
- assert_equal ["t2", "t3", "t1"], runlist
47
- end
48
-
49
- def test_invoke_with_circular_dependencies
50
- runlist = []
51
- t1 = task(:t1 => [:t2]) { |t| runlist << t.name; 3321 }
52
- t2 = task(:t2 => [:t1]) { |t| runlist << t.name }
53
- assert_equal ["t2"], t1.prerequisites
54
- assert_equal ["t1"], t2.prerequisites
55
- ex = assert_raises RuntimeError do
56
- t1.invoke
57
- end
58
- assert_match(/circular dependency/i, ex.message)
59
- assert_match(/t1 => t2 => t1/, ex.message)
60
- end
61
-
62
- def test_dry_run_prevents_actions
63
- Rake.application.options.dryrun = true
64
- runlist = []
65
- t1 = task(:t1) { |t| runlist << t.name; 3321 }
66
- _, err = capture_io { t1.invoke }
67
- assert_match(/execute .*t1/i, err)
68
- assert_match(/dry run/i, err)
69
- refute_match(/invoke/i, err)
70
- assert_equal [], runlist
71
- ensure
72
- Rake.application.options.dryrun = false
73
- end
74
-
75
- def test_tasks_can_be_traced
76
- Rake.application.options.trace = true
77
- t1 = task(:t1)
78
- _, err = capture_io {
79
- t1.invoke
80
- }
81
- assert_match(/invoke t1/i, err)
82
- assert_match(/execute t1/i, err)
83
- ensure
84
- Rake.application.options.trace = false
85
- end
86
-
87
- def test_no_double_invoke
88
- runlist = []
89
- t1 = task(:t1 => [:t2, :t3]) { |t| runlist << t.name; 3321 }
90
- task(:t2 => [:t3]) { |t| runlist << t.name }
91
- task(:t3) { |t| runlist << t.name }
92
- t1.invoke
93
- assert_equal ["t3", "t2", "t1"], runlist
94
- end
95
-
96
- def test_can_double_invoke_with_reenable
97
- runlist = []
98
- t1 = task(:t1) { |t| runlist << t.name }
99
- t1.invoke
100
- t1.reenable
101
- t1.invoke
102
- assert_equal ["t1", "t1"], runlist
103
- end
104
-
105
- def test_clear
106
- desc "a task"
107
- t = task("t" => "a") { }
108
- t.clear
109
- assert t.prerequisites.empty?, "prerequisites should be empty"
110
- assert t.actions.empty?, "actions should be empty"
111
- assert_nil t.comment, "comments should be empty"
112
- end
113
-
114
- def test_clear_prerequisites
115
- t = task("t" => ["a", "b"])
116
- assert_equal ['a', 'b'], t.prerequisites
117
- t.clear_prerequisites
118
- assert_equal [], t.prerequisites
119
- end
120
-
121
- def test_clear_actions
122
- t = task("t") { }
123
- t.clear_actions
124
- assert t.actions.empty?, "actions should be empty"
125
- end
126
-
127
- def test_clear_comments
128
- desc "the original foo"
129
- task :foo => [:x] do
130
- # Dummy action
131
- end
132
-
133
- task(:foo).clear_comments
134
-
135
- desc "a slightly different foo"
136
- task :foo
137
-
138
- assert_equal "a slightly different foo", task(:foo).comment
139
- assert_equal ["x"], task(:foo).prerequisites
140
- assert_equal 1, task(:foo).actions.size
141
- end
142
-
143
- def test_find
144
- task :tfind
145
- assert_equal "tfind", Task[:tfind].name
146
- ex = assert_raises(RuntimeError) { Task[:leaves] }
147
- assert_equal "Don't know how to build task 'leaves'", ex.message
148
- end
149
-
150
- def test_defined
151
- assert ! Task.task_defined?(:a)
152
- task :a
153
- assert Task.task_defined?(:a)
154
- end
155
-
156
- def test_multi_invocations
157
- runs = []
158
- p = proc do |t| runs << t.name end
159
- task({ :t1 => [:t2, :t3] }, &p)
160
- task({ :t2 => [:t3] }, &p)
161
- task(:t3, &p)
162
- Task[:t1].invoke
163
- assert_equal ["t1", "t2", "t3"], runs.sort
164
- end
165
-
166
- def test_task_list
167
- task :t2
168
- task :t1 => [:t2]
169
- assert_equal ["t1", "t2"], Task.tasks.map { |t| t.name }
170
- end
171
-
172
- def test_task_gives_name_on_to_s
173
- task :abc
174
- assert_equal "abc", Task[:abc].to_s
175
- end
176
-
177
- def test_symbols_can_be_prerequisites
178
- task :a => :b
179
- assert_equal ["b"], Task[:a].prerequisites
180
- end
181
-
182
- def test_strings_can_be_prerequisites
183
- task :a => "b"
184
- assert_equal ["b"], Task[:a].prerequisites
185
- end
186
-
187
- def test_arrays_can_be_prerequisites
188
- task :a => ["b", "c"]
189
- assert_equal ["b", "c"], Task[:a].prerequisites
190
- end
191
-
192
- def test_filelists_can_be_prerequisites
193
- task :a => FileList.new.include("b", "c")
194
- assert_equal ["b", "c"], Task[:a].prerequisites
195
- end
196
-
197
- def test_prerequiste_tasks_returns_tasks_not_strings
198
- a = task :a => ["b", "c"]
199
- b = task :b
200
- c = task :c
201
- assert_equal [b, c], a.prerequisite_tasks
202
- end
203
-
204
- def test_prerequiste_tasks_fails_if_prerequisites_are_undefined
205
- a = task :a => ["b", "c"]
206
- task :b
207
- assert_raises(RuntimeError) do
208
- a.prerequisite_tasks
209
- end
210
- end
211
-
212
- def test_prerequiste_tasks_honors_namespaces
213
- a = b = nil
214
- namespace "X" do
215
- a = task :a => ["b", "c"]
216
- b = task :b
217
- end
218
- c = task :c
219
-
220
- assert_equal [b, c], a.prerequisite_tasks
221
- end
222
-
223
- def test_all_prerequisite_tasks_includes_all_prerequisites
224
- a = task :a => "b"
225
- b = task :b => ["c", "d"]
226
- c = task :c => "e"
227
- d = task :d
228
- e = task :e
229
-
230
- assert_equal [b, c, d, e], a.all_prerequisite_tasks.sort_by { |t| t.name }
231
- end
232
-
233
- def test_all_prerequisite_tasks_does_not_include_duplicates
234
- a = task :a => ["b", "c"]
235
- b = task :b => "c"
236
- c = task :c
237
-
238
- assert_equal [b, c], a.all_prerequisite_tasks.sort_by { |t| t.name }
239
- end
240
-
241
- def test_all_prerequisite_tasks_includes_self_on_cyclic_dependencies
242
- a = task :a => "b"
243
- b = task :b => "a"
244
-
245
- assert_equal [a, b], a.all_prerequisite_tasks.sort_by { |t| t.name }
246
- end
247
-
248
- def test_timestamp_returns_now_if_all_prereqs_have_no_times
249
- a = task :a => ["b", "c"]
250
- task :b
251
- task :c
252
-
253
- assert_in_delta Time.now, a.timestamp, 0.1, 'computer too slow?'
254
- end
255
-
256
- def test_timestamp_returns_latest_prereq_timestamp
257
- a = task :a => ["b", "c"]
258
- b = task :b
259
- c = task :c
260
-
261
- now = Time.now
262
- def b.timestamp() Time.now + 10 end
263
- def c.timestamp() Time.now + 5 end
264
-
265
- assert_in_delta now, a.timestamp, 0.1, 'computer too slow?'
266
- end
267
-
268
- def test_always_multitask
269
- mx = Mutex.new
270
- result = []
271
-
272
- t_a = task(:a) do |t|
273
- sleep 0.02
274
- mx.synchronize { result << t.name }
275
- end
276
-
277
- t_b = task(:b) do |t|
278
- mx.synchronize { result << t.name }
279
- end
280
-
281
- t_c = task(:c => [:a, :b]) do |t|
282
- mx.synchronize { result << t.name }
283
- end
284
-
285
- t_c.invoke
286
-
287
- # task should always run in order
288
- assert_equal ['a', 'b', 'c'], result
289
-
290
- [t_a, t_b, t_c].each { |t| t.reenable }
291
- result.clear
292
-
293
- Rake.application.options.always_multitask = true
294
- t_c.invoke
295
-
296
- # with multitask, task 'b' should grab the mutex first
297
- assert_equal ['b', 'a', 'c'], result
298
- end
299
-
300
- def test_investigation_output
301
- t1 = task(:t1 => [:t2, :t3]) { |t| runlist << t.name; 3321 }
302
- task(:t2)
303
- task(:t3)
304
- out = t1.investigation
305
- assert_match(/class:\s*Rake::Task/, out)
306
- assert_match(/needed:\s*true/, out)
307
- assert_match(/pre-requisites:\s*--t[23]/, out)
308
- end
309
-
310
- # NOTE: Rail-ties uses comment=.
311
- def test_comment_setting
312
- t = task(:t, :name, :rev)
313
- t.comment = "A Comment"
314
- assert_equal "A Comment", t.comment
315
- end
316
-
317
- def test_comments_with_sentences
318
- desc "Comment 1. Comment 2."
319
- t = task(:t, :name, :rev)
320
- assert_equal "Comment 1", t.comment
321
- end
322
-
323
- def test_comments_with_tabbed_sentences
324
- desc "Comment 1.\tComment 2."
325
- t = task(:t, :name, :rev)
326
- assert_equal "Comment 1", t.comment
327
- end
328
-
329
- def test_comments_with_decimal_points
330
- desc "Revision 1.2.3."
331
- t = task(:t, :name, :rev)
332
- assert_equal "Revision 1.2.3", t.comment
333
- end
334
-
335
- def test_comments_do_not_set
336
- t = task(:t, :name, :rev)
337
- assert_equal nil, t.comment
338
- end
339
-
340
- def test_comments_is_nil
341
- t = task(:t, :name, :rev)
342
- t.comment = nil
343
- assert_equal nil, t.comment
344
- end
345
-
346
- def test_extended_comments
347
- desc %{
348
- This is a comment.
349
-
350
- And this is the extended comment.
351
- name -- Name of task to execute.
352
- rev -- Software revision to use.
353
- }
354
- t = task(:t, :name, :rev)
355
- assert_equal "[name,rev]", t.arg_description
356
- assert_equal "This is a comment", t.comment
357
- assert_match(/^\s*name -- Name/, t.full_comment)
358
- assert_match(/^\s*rev -- Software/, t.full_comment)
359
- assert_match(/\A\s*This is a comment\.$/, t.full_comment)
360
- end
361
-
362
- def test_multiple_comments
363
- desc "line one"
364
- t = task(:t)
365
- desc "line two"
366
- task(:t)
367
- assert_equal "line one / line two", t.comment
368
- end
369
-
370
- def test_duplicate_comments
371
- desc "line one"
372
- t = task(:t)
373
- desc "line one"
374
- task(:t)
375
- assert_equal "line one", t.comment
376
- end
377
-
378
- def test_interspersed_duplicate_comments
379
- desc "line one"
380
- t = task(:t)
381
- desc "line two"
382
- task(:t)
383
- desc "line one"
384
- task(:t)
385
- assert_equal "line one / line two", t.comment
386
- end
387
-
388
- def test_source_is_first_prerequisite
389
- t = task :t => ["preqA", "preqB"]
390
- assert_equal "preqA", t.source
391
- end
392
- end
@@ -1,109 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskArgumentParsing < Rake::TestCase
4
- def setup
5
- super
6
-
7
- @app = Rake::Application.new
8
- end
9
-
10
- def test_name_only
11
- name, args = @app.parse_task_string("name")
12
- assert_equal "name", name
13
- assert_equal [], args
14
- end
15
-
16
- def test_empty_args
17
- name, args = @app.parse_task_string("name[]")
18
- assert_equal "name", name
19
- assert_equal [], args
20
- end
21
-
22
- def test_one_argument
23
- name, args = @app.parse_task_string("name[one]")
24
- assert_equal "name", name
25
- assert_equal ["one"], args
26
- end
27
-
28
- def test_two_arguments
29
- name, args = @app.parse_task_string("name[one,two]")
30
- assert_equal "name", name
31
- assert_equal ["one", "two"], args
32
- end
33
-
34
- def test_can_handle_spaces_between_args
35
- name, args = @app.parse_task_string("name[one, two,\tthree , \tfour]")
36
- assert_equal "name", name
37
- assert_equal ["one", "two", "three", "four"], args
38
- end
39
-
40
- def test_keeps_embedded_spaces
41
- name, args = @app.parse_task_string("name[a one ana, two]")
42
- assert_equal "name", name
43
- assert_equal ["a one ana", "two"], args
44
- end
45
-
46
- def test_can_handle_commas_in_args
47
- name, args = @app.parse_task_string("name[one, two, three_a\\, three_b, four]")
48
- assert_equal "name", name
49
- assert_equal ["one", "two", "three_a, three_b", "four"], args
50
- end
51
-
52
- def test_terminal_width_using_env
53
- app = Rake::Application.new
54
- app.terminal_columns = 1234
55
-
56
- assert_equal 1234, app.terminal_width
57
- end
58
-
59
- def test_terminal_width_using_stty
60
- def @app.unix?() true end
61
- def @app.dynamic_width_stty() 1235 end
62
- def @app.dynamic_width_tput() 0 end
63
-
64
- assert_equal 1235, @app.terminal_width
65
- end
66
-
67
- def test_terminal_width_using_tput
68
- def @app.unix?() true end
69
- def @app.dynamic_width_stty() 0 end
70
- def @app.dynamic_width_tput() 1236 end
71
-
72
- assert_equal 1236, @app.terminal_width
73
- end
74
-
75
- def test_terminal_width_using_hardcoded_80
76
- def @app.unix?() false end
77
-
78
- assert_equal 80, @app.terminal_width
79
- end
80
-
81
- def test_terminal_width_with_failure
82
- def @app.unix?() raise end
83
-
84
- assert_equal 80, @app.terminal_width
85
- end
86
-
87
- def test_no_rakeopt
88
- ARGV << '--trace'
89
- app = Rake::Application.new
90
- app.init
91
- assert !app.options.silent
92
- end
93
-
94
- def test_rakeopt_with_blank_options
95
- ARGV << '--trace'
96
- app = Rake::Application.new
97
- app.init
98
- assert !app.options.silent
99
- end
100
-
101
- def test_rakeopt_with_silent_options
102
- ENV['RAKEOPT'] = '-s'
103
- app = Rake::Application.new
104
-
105
- app.init
106
-
107
- assert app.options.silent
108
- end
109
- end
@@ -1,127 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- ######################################################################
4
- class TestRakeTaskArguments < Rake::TestCase
5
- def teardown
6
- ENV.delete('rev')
7
- ENV.delete('VER')
8
-
9
- super
10
- end
11
-
12
- def test_empty_arg_list_is_empty
13
- ta = Rake::TaskArguments.new([], [])
14
- assert_equal({}, ta.to_hash)
15
- end
16
-
17
- def test_multiple_values_in_args
18
- ta = Rake::TaskArguments.new([:a, :b, :c], [:one, :two, :three])
19
- assert_equal({:a => :one, :b => :two, :c => :three}, ta.to_hash)
20
- end
21
-
22
- def test_has_key
23
- ta = Rake::TaskArguments.new([:a], [:one])
24
- assert(ta.has_key?(:a))
25
- refute(ta.has_key?(:b))
26
- end
27
-
28
- def test_to_s
29
- ta = Rake::TaskArguments.new([:a, :b, :c], [1, 2, 3])
30
- assert_equal ta.to_hash.inspect, ta.to_s
31
- assert_equal ta.to_hash.inspect, ta.inspect
32
- end
33
-
34
- def test_enumerable_behavior
35
- ta = Rake::TaskArguments.new([:a, :b, :c], [1, 2, 3])
36
- assert_equal [10, 20, 30], ta.map { |k, v| v * 10 }.sort
37
- end
38
-
39
- def test_named_args
40
- ta = Rake::TaskArguments.new(["aa", "bb"], [1, 2])
41
- assert_equal 1, ta.aa
42
- assert_equal 1, ta[:aa]
43
- assert_equal 1, ta["aa"]
44
- assert_equal 2, ta.bb
45
- assert_nil ta.cc
46
- end
47
-
48
- def test_args_knows_its_names
49
- ta = Rake::TaskArguments.new(["aa", "bb"], [1, 2])
50
- assert_equal ["aa", "bb"], ta.names
51
- end
52
-
53
- def test_extra_names_are_nil
54
- ta = Rake::TaskArguments.new(["aa", "bb", "cc"], [1, 2])
55
- assert_nil ta.cc
56
- end
57
-
58
- def test_args_do_not_reference_env_values
59
- ta = Rake::TaskArguments.new(["aa"], [1])
60
- ENV['rev'] = "1.2"
61
- ENV['VER'] = "2.3"
62
- assert_nil ta.rev
63
- assert_nil ta.ver
64
- end
65
-
66
- def test_creating_new_argument_scopes
67
- parent = Rake::TaskArguments.new(['p'], [1])
68
- child = parent.new_scope(['c', 'p'])
69
- assert_equal({:p=>1}, child.to_hash)
70
- assert_equal 1, child.p
71
- assert_equal 1, child["p"]
72
- assert_equal 1, child[:p]
73
- assert_nil child.c
74
- end
75
-
76
- def test_child_hides_parent_arg_names
77
- parent = Rake::TaskArguments.new(['aa'], [1])
78
- child = Rake::TaskArguments.new(['aa'], [2], parent)
79
- assert_equal 2, child.aa
80
- end
81
-
82
- def test_default_arguments_values_can_be_merged
83
- ta = Rake::TaskArguments.new(["aa", "bb"], [nil, "original_val"])
84
- ta.with_defaults({ :aa => 'default_val' })
85
- assert_equal 'default_val', ta[:aa]
86
- assert_equal 'original_val', ta[:bb]
87
- end
88
-
89
- def test_default_arguments_that_dont_match_names_are_ignored
90
- ta = Rake::TaskArguments.new(["aa", "bb"], [nil, "original_val"])
91
- ta.with_defaults({ "cc" => "default_val" })
92
- assert_nil ta[:cc]
93
- end
94
-
95
- def test_all_and_extra_arguments_without_named_arguments
96
- app = Rake::Application.new
97
- _, args = app.parse_task_string("task[1,two,more]")
98
- ta = Rake::TaskArguments.new([], args)
99
- assert_equal [], ta.names
100
- assert_equal ['1', 'two', 'more'], ta.to_a
101
- assert_equal ['1', 'two', 'more'], ta.extras
102
- end
103
-
104
- def test_all_and_extra_arguments_with_named_arguments
105
- app = Rake::Application.new
106
- _, args = app.parse_task_string("task[1,two,more,still more]")
107
- ta = Rake::TaskArguments.new([:first, :second], args)
108
- assert_equal [:first, :second], ta.names
109
- assert_equal "1", ta[:first]
110
- assert_equal "two", ta[:second]
111
- assert_equal ['1', 'two', 'more', 'still more'], ta.to_a
112
- assert_equal ['more', 'still more'], ta.extras
113
- end
114
-
115
- def test_extra_args_with_less_than_named_arguments
116
- app = Rake::Application.new
117
- _, args = app.parse_task_string("task[1,two]")
118
- ta = Rake::TaskArguments.new([:first, :second, :third], args)
119
- assert_equal [:first, :second, :third], ta.names
120
- assert_equal "1", ta[:first]
121
- assert_equal "two", ta[:second]
122
- assert_equal nil, ta[:third]
123
- assert_equal ['1', 'two'], ta.to_a
124
- assert_equal [], ta.extras
125
- end
126
-
127
- end
@@ -1,9 +0,0 @@
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