PageRenderTime 56ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/TDDBC_Yokohama2_PCUnit/Ruby/doc/ruby/ruby-1.9.2/test/rake/test_package_task.rb

https://bitbucket.org/aetos/tddbc_yokohama2
Ruby | 115 lines | 105 code | 10 blank | 0 comment | 0 complexity | 04cb1ca028290ba3042c9f3fb7bbe124 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0, AGPL-3.0, 0BSD, Unlicense
  1. require 'tmpdir'
  2. require 'fileutils'
  3. require 'test/unit'
  4. require 'rake/packagetask'
  5. class Rake::TestPackageTask < Test::Unit::TestCase
  6. include Rake
  7. def test_create
  8. pwd = Dir.pwd
  9. tmpdir = Dir.mktmpdir("rake")
  10. Dir.chdir(tmpdir)
  11. Dir.mkdir("bin")
  12. open("bin/rake", "wb") {}
  13. pkg = Rake::PackageTask.new("pkgr", "1.2.3") { |p|
  14. p.package_files << "install.rb"
  15. p.package_files.include(
  16. '[A-Z]*',
  17. 'bin/**/*',
  18. 'lib/**/*.rb',
  19. 'test/**/*.rb',
  20. 'doc/**/*',
  21. 'build/rubyapp.rb',
  22. '*.blurb')
  23. p.package_files.exclude(/\bCVS\b/)
  24. p.package_files.exclude(/~$/)
  25. p.package_dir = 'pkg'
  26. p.need_tar = true
  27. p.need_tar_gz = true
  28. p.need_tar_bz2 = true
  29. p.need_zip = true
  30. }
  31. assert_equal "pkg", pkg.package_dir
  32. assert pkg.package_files.include?("bin/rake")
  33. assert "pkgr", pkg.name
  34. assert "1.2.3", pkg.version
  35. assert Task[:package]
  36. assert Task['pkg/pkgr-1.2.3.tgz']
  37. assert Task['pkg/pkgr-1.2.3.tar.gz']
  38. assert Task['pkg/pkgr-1.2.3.tar.bz2']
  39. assert Task['pkg/pkgr-1.2.3.zip']
  40. assert Task["pkg/pkgr-1.2.3"]
  41. assert Task[:clobber_package]
  42. assert Task[:repackage]
  43. ensure
  44. Dir.chdir(pwd)
  45. FileUtils.rm_rf(tmpdir)
  46. end
  47. def test_missing_version
  48. assert_raise(RuntimeError) {
  49. pkg = Rake::PackageTask.new("pkgr") { |p| }
  50. }
  51. end
  52. def test_no_version
  53. pkg = Rake::PackageTask.new("pkgr", :noversion) { |p| }
  54. assert "pkgr", pkg.send(:package_name)
  55. end
  56. def test_clone
  57. pkg = Rake::PackageTask.new("x", :noversion)
  58. p2 = pkg.clone
  59. pkg.package_files << "y"
  60. p2.package_files << "x"
  61. assert_equal ["y"], pkg.package_files
  62. assert_equal ["x"], p2.package_files
  63. end
  64. end
  65. require 'rake/gempackagetask'
  66. class Rake::TestGemPackageTask < Test::Unit::TestCase
  67. def test_gem_package
  68. gem = Gem::Specification.new do |g|
  69. g.name = "pkgr"
  70. g.version = "1.2.3"
  71. g.files = FileList["x"].resolve
  72. end
  73. pkg = Rake::GemPackageTask.new(gem) do |p|
  74. p.package_files << "y"
  75. end
  76. assert_equal ["x", "y"], pkg.package_files
  77. assert_equal "pkgr-1.2.3.gem", pkg.gem_file
  78. end
  79. def test_gem_package_with_current_platform
  80. gem = Gem::Specification.new do |g|
  81. g.name = "pkgr"
  82. g.version = "1.2.3"
  83. g.files = FileList["x"].resolve
  84. g.platform = Gem::Platform::CURRENT
  85. end
  86. pkg = Rake::GemPackageTask.new(gem) do |p|
  87. p.package_files << "y"
  88. end
  89. assert_equal ["x", "y"], pkg.package_files
  90. assert_match(/^pkgr-1\.2\.3-(\S+)\.gem$/, pkg.gem_file)
  91. end
  92. def test_gem_package_with_ruby_platform
  93. gem = Gem::Specification.new do |g|
  94. g.name = "pkgr"
  95. g.version = "1.2.3"
  96. g.files = FileList["x"].resolve
  97. g.platform = Gem::Platform::RUBY
  98. end
  99. pkg = Rake::GemPackageTask.new(gem) do |p|
  100. p.package_files << "y"
  101. end
  102. assert_equal ["x", "y"], pkg.package_files
  103. assert_equal "pkgr-1.2.3.gem", pkg.gem_file
  104. end
  105. end