spline 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/spline +11 -9
- data/lib/spline/version.rb +1 -1
- data/lib/spline.rb +1 -8
- data/vendor/bundle/ruby/2.1.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.1.0/bin/spline +23 -0
- data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +1 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.gemtest +0 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.rubocop.yml +27 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +609 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +162 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +137 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +81 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +33 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +110 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +783 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +76 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +81 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +61 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +109 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +198 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +1 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +173 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +15 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +414 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +116 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +202 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +3 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +27 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +383 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +98 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +310 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +24 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +212 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +164 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +78 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +25 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +127 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +478 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +33 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +641 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +466 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +55 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +50 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +79 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +63 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +627 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +186 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +309 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +482 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +58 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +392 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +109 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +127 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +171 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +141 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +142 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +45 -0
- metadata +127 -2
@@ -0,0 +1,58 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
require 'thread'
|
3
|
+
|
4
|
+
class TestRakeMultiTask < Rake::TestCase
|
5
|
+
include Rake
|
6
|
+
include Rake::DSL
|
7
|
+
|
8
|
+
def setup
|
9
|
+
super
|
10
|
+
|
11
|
+
Task.clear
|
12
|
+
@runs = Array.new
|
13
|
+
@mutex = Mutex.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_run(obj)
|
17
|
+
@mutex.synchronize do
|
18
|
+
@runs << obj
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_running_multitasks
|
23
|
+
task :a do 3.times do |i| add_run("A#{i}"); sleep 0.01; end end
|
24
|
+
task :b do 3.times do |i| add_run("B#{i}"); sleep 0.01; end end
|
25
|
+
multitask :both => [:a, :b]
|
26
|
+
Task[:both].invoke
|
27
|
+
assert_equal 6, @runs.size
|
28
|
+
assert @runs.index("A0") < @runs.index("A1")
|
29
|
+
assert @runs.index("A1") < @runs.index("A2")
|
30
|
+
assert @runs.index("B0") < @runs.index("B1")
|
31
|
+
assert @runs.index("B1") < @runs.index("B2")
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_all_multitasks_wait_on_slow_prerequisites
|
35
|
+
task :slow do 3.times do |i| add_run("S#{i}"); sleep 0.05 end end
|
36
|
+
task :a => [:slow] do 3.times do |i| add_run("A#{i}"); sleep 0.01 end end
|
37
|
+
task :b => [:slow] do 3.times do |i| add_run("B#{i}"); sleep 0.01 end end
|
38
|
+
multitask :both => [:a, :b]
|
39
|
+
Task[:both].invoke
|
40
|
+
assert_equal 9, @runs.size
|
41
|
+
assert @runs.index("S0") < @runs.index("S1")
|
42
|
+
assert @runs.index("S1") < @runs.index("S2")
|
43
|
+
assert @runs.index("S2") < @runs.index("A0")
|
44
|
+
assert @runs.index("S2") < @runs.index("B0")
|
45
|
+
assert @runs.index("A0") < @runs.index("A1")
|
46
|
+
assert @runs.index("A1") < @runs.index("A2")
|
47
|
+
assert @runs.index("B0") < @runs.index("B1")
|
48
|
+
assert @runs.index("B1") < @runs.index("B2")
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_multitasks_with_parameters
|
52
|
+
task :a, [:arg] do |t, args| add_run(args[:arg]) end
|
53
|
+
multitask :b, [:arg] => [:a] do |t, args| add_run(args[:arg] + 'mt') end
|
54
|
+
Task[:b].invoke "b"
|
55
|
+
assert @runs[0] == "b"
|
56
|
+
assert @runs[1] == "bmt"
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakeNameSpace < Rake::TestCase
|
4
|
+
|
5
|
+
class TM
|
6
|
+
include Rake::TaskManager
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_namespace_creation
|
10
|
+
mgr = TM.new
|
11
|
+
ns = Rake::NameSpace.new(mgr, [])
|
12
|
+
refute_nil ns
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_namespace_lookup
|
16
|
+
mgr = TM.new
|
17
|
+
ns = mgr.in_namespace("n") do
|
18
|
+
mgr.define_task(Rake::Task, "t")
|
19
|
+
end
|
20
|
+
|
21
|
+
refute_nil ns["t"]
|
22
|
+
assert_equal mgr["n:t"], ns["t"]
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_namespace_reports_tasks_it_owns
|
26
|
+
mgr = TM.new
|
27
|
+
nns = nil
|
28
|
+
ns = mgr.in_namespace("n") do
|
29
|
+
mgr.define_task(Rake::Task, :x)
|
30
|
+
mgr.define_task(Rake::Task, :y)
|
31
|
+
nns = mgr.in_namespace("nn") do
|
32
|
+
mgr.define_task(Rake::Task, :z)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
mgr.in_namespace("m") do
|
36
|
+
mgr.define_task(Rake::Task, :x)
|
37
|
+
end
|
38
|
+
|
39
|
+
assert_equal ["n:nn:z", "n:x", "n:y"],
|
40
|
+
ns.tasks.map { |tsk| tsk.name }
|
41
|
+
assert_equal ["n:nn:z"], nns.tasks.map { |t| t.name }
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_scope
|
45
|
+
mgr = TM.new
|
46
|
+
|
47
|
+
scope = Rake::LinkedList.new 'b'
|
48
|
+
scope = scope.conj 'a'
|
49
|
+
|
50
|
+
ns = Rake::NameSpace.new mgr, scope
|
51
|
+
|
52
|
+
assert_equal scope, ns.scope
|
53
|
+
|
54
|
+
refute_same scope, ns.scope
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
require 'rake/packagetask'
|
3
|
+
|
4
|
+
class TestRakePackageTask < Rake::TestCase
|
5
|
+
|
6
|
+
def test_initialize
|
7
|
+
touch 'install.rb'
|
8
|
+
touch 'a.c'
|
9
|
+
touch 'b.c'
|
10
|
+
mkdir 'CVS'
|
11
|
+
touch 'a.rb~'
|
12
|
+
|
13
|
+
pkg = Rake::PackageTask.new("pkgr", "1.2.3") { |p|
|
14
|
+
p.package_files << "install.rb"
|
15
|
+
p.package_files.include '*.c'
|
16
|
+
p.package_files.exclude(/\bCVS\b/)
|
17
|
+
p.package_files.exclude(/~$/)
|
18
|
+
p.package_dir = 'pkg'
|
19
|
+
p.need_tar = true
|
20
|
+
p.need_tar_gz = true
|
21
|
+
p.need_tar_bz2 = true
|
22
|
+
p.need_zip = true
|
23
|
+
}
|
24
|
+
|
25
|
+
assert_equal "pkg", pkg.package_dir
|
26
|
+
|
27
|
+
assert_includes pkg.package_files, 'a.c'
|
28
|
+
|
29
|
+
assert_equal 'pkgr', pkg.name
|
30
|
+
assert_equal '1.2.3', pkg.version
|
31
|
+
assert Rake::Task[:package]
|
32
|
+
assert Rake::Task['pkg/pkgr-1.2.3.tgz']
|
33
|
+
assert Rake::Task['pkg/pkgr-1.2.3.tar.gz']
|
34
|
+
assert Rake::Task['pkg/pkgr-1.2.3.tar.bz2']
|
35
|
+
assert Rake::Task['pkg/pkgr-1.2.3.zip']
|
36
|
+
assert Rake::Task['pkg/pkgr-1.2.3']
|
37
|
+
assert Rake::Task[:clobber_package]
|
38
|
+
assert Rake::Task[:repackage]
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_initialize_no_version
|
42
|
+
e = assert_raises RuntimeError do
|
43
|
+
Rake::PackageTask.new 'pkgr'
|
44
|
+
end
|
45
|
+
|
46
|
+
assert_equal 'Version required (or :noversion)', e.message
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_initialize_noversion
|
50
|
+
pkg = Rake::PackageTask.new 'pkgr', :noversion
|
51
|
+
|
52
|
+
assert_equal 'pkg', pkg.package_dir
|
53
|
+
assert_equal 'pkgr', pkg.name
|
54
|
+
assert_equal nil, pkg.version
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_clone
|
58
|
+
pkg = Rake::PackageTask.new("x", :noversion)
|
59
|
+
p2 = pkg.clone
|
60
|
+
pkg.package_files << "y"
|
61
|
+
p2.package_files << "x"
|
62
|
+
assert_equal ["y"], pkg.package_files
|
63
|
+
assert_equal ["x"], p2.package_files
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_package_name
|
67
|
+
pkg = Rake::PackageTask.new 'a', '1'
|
68
|
+
|
69
|
+
assert_equal 'a-1', pkg.package_name
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_package_name_noversion
|
73
|
+
pkg = Rake::PackageTask.new 'a', :noversion
|
74
|
+
|
75
|
+
assert_equal 'a', pkg.package_name
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
@@ -0,0 +1,168 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakePathMap < Rake::TestCase
|
4
|
+
|
5
|
+
def test_returns_self_with_no_args
|
6
|
+
assert_equal "abc.rb", "abc.rb".pathmap
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_s_returns_file_separator
|
10
|
+
sep = File::ALT_SEPARATOR || File::SEPARATOR
|
11
|
+
assert_equal sep, "abc.rb".pathmap("%s")
|
12
|
+
assert_equal sep, "".pathmap("%s")
|
13
|
+
assert_equal "a#{sep}b", "a/b".pathmap("%d%s%f")
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_f_returns_basename
|
17
|
+
assert_equal "abc.rb", "abc.rb".pathmap("%f")
|
18
|
+
assert_equal "abc.rb", "this/is/a/dir/abc.rb".pathmap("%f")
|
19
|
+
assert_equal "abc.rb", "/this/is/a/dir/abc.rb".pathmap("%f")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_n_returns_basename_without_extension
|
23
|
+
assert_equal "abc", "abc.rb".pathmap("%n")
|
24
|
+
assert_equal "abc", "abc".pathmap("%n")
|
25
|
+
assert_equal "abc", "this/is/a/dir/abc.rb".pathmap("%n")
|
26
|
+
assert_equal "abc", "/this/is/a/dir/abc.rb".pathmap("%n")
|
27
|
+
assert_equal "abc", "/this/is/a/dir/abc".pathmap("%n")
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_d_returns_dirname
|
31
|
+
assert_equal ".", "abc.rb".pathmap("%d")
|
32
|
+
assert_equal "/", "/abc".pathmap("%d")
|
33
|
+
assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%d")
|
34
|
+
assert_equal "/this/is/a/dir", "/this/is/a/dir/abc.rb".pathmap("%d")
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_9d_returns_partial_dirname
|
38
|
+
assert_equal "this/is", "this/is/a/dir/abc.rb".pathmap("%2d")
|
39
|
+
assert_equal "this", "this/is/a/dir/abc.rb".pathmap("%1d")
|
40
|
+
assert_equal ".", "this/is/a/dir/abc.rb".pathmap("%0d")
|
41
|
+
assert_equal "dir", "this/is/a/dir/abc.rb".pathmap("%-1d")
|
42
|
+
assert_equal "a/dir", "this/is/a/dir/abc.rb".pathmap("%-2d")
|
43
|
+
assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%100d")
|
44
|
+
assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%-100d")
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_x_returns_extension
|
48
|
+
assert_equal "", "abc".pathmap("%x")
|
49
|
+
assert_equal ".rb", "abc.rb".pathmap("%x")
|
50
|
+
assert_equal ".rb", "abc.xyz.rb".pathmap("%x")
|
51
|
+
assert_equal "", ".depends".pathmap("%x")
|
52
|
+
assert_equal "", "dir/.depends".pathmap("%x")
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_x_returns_everything_but_extension
|
56
|
+
assert_equal "abc", "abc".pathmap("%X")
|
57
|
+
assert_equal "abc", "abc.rb".pathmap("%X")
|
58
|
+
assert_equal "abc.xyz", "abc.xyz.rb".pathmap("%X")
|
59
|
+
assert_equal "ab.xyz", "ab.xyz.rb".pathmap("%X")
|
60
|
+
assert_equal "a.xyz", "a.xyz.rb".pathmap("%X")
|
61
|
+
assert_equal "abc", "abc.rb".pathmap("%X")
|
62
|
+
assert_equal "ab", "ab.rb".pathmap("%X")
|
63
|
+
assert_equal "a", "a.rb".pathmap("%X")
|
64
|
+
assert_equal ".depends", ".depends".pathmap("%X")
|
65
|
+
assert_equal "a/dir/.depends", "a/dir/.depends".pathmap("%X")
|
66
|
+
assert_equal "/.depends", "/.depends".pathmap("%X")
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_p_returns_entire_pathname
|
70
|
+
assert_equal "abc.rb", "abc.rb".pathmap("%p")
|
71
|
+
assert_equal "this/is/a/dir/abc.rb", "this/is/a/dir/abc.rb".pathmap("%p")
|
72
|
+
assert_equal "/this/is/a/dir/abc.rb", "/this/is/a/dir/abc.rb".pathmap("%p")
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_dash_returns_empty_string
|
76
|
+
assert_equal "", "abc.rb".pathmap("%-")
|
77
|
+
assert_equal "abc.rb", "abc.rb".pathmap("%X%-%x")
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_percent_percent_returns_percent
|
81
|
+
assert_equal "a%b", "".pathmap("a%%b")
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_undefined_percent_causes_error
|
85
|
+
assert_raises(ArgumentError) {
|
86
|
+
"dir/abc.rb".pathmap("%z")
|
87
|
+
}
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_pattern_returns_substitutions
|
91
|
+
assert_equal "bin/org/osb",
|
92
|
+
"src/org/osb/Xyz.java".pathmap("%{src,bin}d")
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_pattern_can_use_backreferences
|
96
|
+
assert_equal "dir/hi/is", "dir/this/is".pathmap("%{t(hi)s,\\1}p")
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_pattern_with_star_replacement_string_uses_block
|
100
|
+
assert_equal "src/ORG/osb",
|
101
|
+
"src/org/osb/Xyz.java".pathmap("%{/org,*}d") { |d| d.upcase }
|
102
|
+
assert_equal "Xyz.java",
|
103
|
+
"src/org/osb/Xyz.java".pathmap("%{.*,*}f") { |f| f.capitalize }
|
104
|
+
end
|
105
|
+
|
106
|
+
def test_pattern_with_no_replacement_nor_block_substitutes_empty_string
|
107
|
+
assert_equal "bc.rb", "abc.rb".pathmap("%{a}f")
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_pattern_works_with_certain_valid_operators
|
111
|
+
assert_equal "dir/xbc.rb", "dir/abc.rb".pathmap("%{a,x}p")
|
112
|
+
assert_equal "d1r", "dir/abc.rb".pathmap("%{i,1}d")
|
113
|
+
assert_equal "xbc.rb", "dir/abc.rb".pathmap("%{a,x}f")
|
114
|
+
assert_equal ".Rb", "dir/abc.rb".pathmap("%{r,R}x")
|
115
|
+
assert_equal "xbc", "dir/abc.rb".pathmap("%{a,x}n")
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_multiple_patterns
|
119
|
+
assert_equal "this/is/b/directory/abc.rb",
|
120
|
+
"this/is/a/dir/abc.rb".pathmap("%{a,b;dir,\\0ectory}p")
|
121
|
+
end
|
122
|
+
|
123
|
+
def test_partial_directory_selection_works_with_patterns
|
124
|
+
assert_equal "this/is/a/long",
|
125
|
+
"this/is/a/really/long/path/ok.rb".pathmap("%{/really/,/}5d")
|
126
|
+
end
|
127
|
+
|
128
|
+
def test_pattern_with_invalid_operator
|
129
|
+
ex = assert_raises(ArgumentError) do
|
130
|
+
"abc.xyz".pathmap("%{src,bin}z")
|
131
|
+
end
|
132
|
+
assert_match(/unknown.*pathmap.*spec.*z/i, ex.message)
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_works_with_windows_separators
|
136
|
+
if File::ALT_SEPARATOR
|
137
|
+
assert_equal "abc", 'dir\abc.rb'.pathmap("%n")
|
138
|
+
assert_equal 'this\is\a\dir',
|
139
|
+
'this\is\a\dir\abc.rb'.pathmap("%d")
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def test_complex_patterns
|
144
|
+
sep = "".pathmap("%s")
|
145
|
+
assert_equal(
|
146
|
+
"dir/abc.rb",
|
147
|
+
"dir/abc.rb".pathmap("%d/%n%x"))
|
148
|
+
assert_equal(
|
149
|
+
"./abc.rb",
|
150
|
+
"abc.rb".pathmap("%d/%n%x"))
|
151
|
+
assert_equal(
|
152
|
+
"Your file extension is '.rb'",
|
153
|
+
"dir/abc.rb".pathmap("Your file extension is '%x'"))
|
154
|
+
assert_equal(
|
155
|
+
"bin/org/onstepback/proj/A.class",
|
156
|
+
"src/org/onstepback/proj/A.java".pathmap("%{src,bin}d/%n.class"))
|
157
|
+
assert_equal(
|
158
|
+
"src_work/bin/org/onstepback/proj/A.class",
|
159
|
+
"src_work/src/org/onstepback/proj/A.java".
|
160
|
+
pathmap('%{\bsrc\b,bin}X.class'))
|
161
|
+
assert_equal(
|
162
|
+
".depends.bak",
|
163
|
+
".depends".pathmap("%X.bak"))
|
164
|
+
assert_equal(
|
165
|
+
"d#{sep}a/b/c#{sep}file.txt",
|
166
|
+
"a/b/c/d/file.txt".pathmap("%-1d%s%3d%s%f"))
|
167
|
+
end
|
168
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakePathMapExplode < Rake::TestCase
|
4
|
+
def setup
|
5
|
+
super
|
6
|
+
|
7
|
+
String.class_eval { public :pathmap_explode }
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
String.class_eval { protected :pathmap_explode }
|
12
|
+
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_explode
|
17
|
+
assert_equal ['a'], 'a'.pathmap_explode
|
18
|
+
assert_equal ['a', 'b'], 'a/b'.pathmap_explode
|
19
|
+
assert_equal ['a', 'b', 'c'], 'a/b/c'.pathmap_explode
|
20
|
+
assert_equal ['/', 'a'], '/a'.pathmap_explode
|
21
|
+
assert_equal ['/', 'a', 'b'], '/a/b'.pathmap_explode
|
22
|
+
assert_equal ['/', 'a', 'b', 'c'], '/a/b/c'.pathmap_explode
|
23
|
+
|
24
|
+
if File::ALT_SEPARATOR
|
25
|
+
assert_equal ['c:.', 'a'], 'c:a'.pathmap_explode
|
26
|
+
assert_equal ['c:.', 'a', 'b'], 'c:a/b'.pathmap_explode
|
27
|
+
assert_equal ['c:.', 'a', 'b', 'c'], 'c:a/b/c'.pathmap_explode
|
28
|
+
assert_equal ['c:/', 'a'], 'c:/a'.pathmap_explode
|
29
|
+
assert_equal ['c:/', 'a', 'b'], 'c:/a/b'.pathmap_explode
|
30
|
+
assert_equal ['c:/', 'a', 'b', 'c'], 'c:/a/b/c'.pathmap_explode
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakePathMapPartial < Rake::TestCase
|
4
|
+
def test_pathmap_partial
|
5
|
+
@path = "1/2/file"
|
6
|
+
def @path.call(n)
|
7
|
+
pathmap_partial(n)
|
8
|
+
end
|
9
|
+
assert_equal("1", @path.call(1))
|
10
|
+
assert_equal("1/2", @path.call(2))
|
11
|
+
assert_equal("1/2", @path.call(3))
|
12
|
+
assert_equal(".", @path.call(0))
|
13
|
+
assert_equal("2", @path.call(-1))
|
14
|
+
assert_equal("1/2", @path.call(-2))
|
15
|
+
assert_equal("1/2", @path.call(-3))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakePseudoStatus < Rake::TestCase
|
4
|
+
def test_with_zero_exit_status
|
5
|
+
s = Rake::PseudoStatus.new
|
6
|
+
assert_equal 0, s.exitstatus
|
7
|
+
assert_equal 0, s.to_i
|
8
|
+
assert_equal 0, s >> 8
|
9
|
+
refute s.stopped?
|
10
|
+
assert s.exited?
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_with_99_exit_status
|
14
|
+
s = Rake::PseudoStatus.new(99)
|
15
|
+
assert_equal 99, s.exitstatus
|
16
|
+
assert_equal 25344, s.to_i
|
17
|
+
assert_equal 99, s >> 8
|
18
|
+
refute s.stopped?
|
19
|
+
assert s.exited?
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakeRakeTestLoader < Rake::TestCase
|
4
|
+
|
5
|
+
def test_pattern
|
6
|
+
orig_loaded_features = $:.dup
|
7
|
+
FileUtils.touch 'foo.rb'
|
8
|
+
FileUtils.touch 'test_a.rb'
|
9
|
+
FileUtils.touch 'test_b.rb'
|
10
|
+
|
11
|
+
ARGV.replace %w[foo.rb test_*.rb -v]
|
12
|
+
|
13
|
+
load File.join(@rake_lib, 'rake/rake_test_loader.rb')
|
14
|
+
|
15
|
+
assert_equal %w[-v], ARGV
|
16
|
+
ensure
|
17
|
+
$:.replace orig_loaded_features
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
require 'open3'
|
3
|
+
|
4
|
+
class TestRakeReduceCompat < Rake::TestCase
|
5
|
+
include RubyRunner
|
6
|
+
|
7
|
+
def invoke_normal(task_name)
|
8
|
+
rake task_name.to_s
|
9
|
+
@out
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_no_deprecated_dsl
|
13
|
+
rakefile %q{
|
14
|
+
task :check_task do
|
15
|
+
Module.new { p defined?(task) }
|
16
|
+
end
|
17
|
+
|
18
|
+
task :check_file do
|
19
|
+
Module.new { p defined?(file) }
|
20
|
+
end
|
21
|
+
}
|
22
|
+
|
23
|
+
assert_equal "nil", invoke_normal(:check_task).chomp
|
24
|
+
assert_equal "nil", invoke_normal(:check_file).chomp
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRakeRequire < Rake::TestCase
|
4
|
+
|
5
|
+
def test_can_load_rake_library
|
6
|
+
rakefile_rakelib
|
7
|
+
app = Rake::Application.new
|
8
|
+
|
9
|
+
assert app.instance_eval {
|
10
|
+
rake_require("test2", ['rakelib'], [])
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_wont_reload_rake_library
|
15
|
+
rakefile_rakelib
|
16
|
+
app = Rake::Application.new
|
17
|
+
|
18
|
+
paths = ['rakelib']
|
19
|
+
loaded_files = []
|
20
|
+
app.rake_require("test2", paths, loaded_files)
|
21
|
+
|
22
|
+
assert ! app.instance_eval {
|
23
|
+
rake_require("test2", paths, loaded_files)
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_throws_error_if_library_not_found
|
28
|
+
rakefile_rakelib
|
29
|
+
|
30
|
+
app = Rake::Application.new
|
31
|
+
ex = assert_raises(LoadError) {
|
32
|
+
assert app.instance_eval {
|
33
|
+
rake_require("testx", ['rakelib'], [])
|
34
|
+
}
|
35
|
+
}
|
36
|
+
assert_match(/(can *not|can't)\s+find/i, ex.message)
|
37
|
+
assert_match(/testx/, ex.message)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|