1require File.expand_path('../helper', __FILE__) 2require 'rake/packagetask' 3 4class 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 78end 79 80