diff options
author | Ryan Davis <ryand@zenspider.com> | 2015-09-08 15:49:04 -0800 |
---|---|---|
committer | Ryan Davis <ryand@zenspider.com> | 2015-09-08 15:49:04 -0800 |
commit | 8ce47a097582624ce15484557d6770fbb1cff727 (patch) | |
tree | d8c51279cc5256b789fcda2db9478bf9e244fa17 | |
parent | 7b60bea142c58cfab02a5a5fa2a06c9346692681 (diff) | |
download | hoe-8ce47a097582624ce15484557d6770fbb1cff727.tar.gz |
- Fix PRERELEASE= for packaging against newer versions of rubygems. (drbrain)
[git-p4: depot-paths = "//src/hoe/dev/": change = 10368]
-rw-r--r-- | Manifest.txt | 1 | ||||
-rw-r--r-- | lib/hoe/package.rb | 2 | ||||
-rw-r--r-- | test/test_hoe_package.rb | 58 |
3 files changed, 60 insertions, 1 deletions
diff --git a/Manifest.txt b/Manifest.txt index 69c5654..e3924ab 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -35,5 +35,6 @@ template/test/test_file_name.rb.erb test/test_hoe.rb test/test_hoe_debug.rb test/test_hoe_gemcutter.rb +test/test_hoe_package.rb test/test_hoe_publish.rb test/test_hoe_test.rb diff --git a/lib/hoe/package.rb b/lib/hoe/package.rb index 58657f0..95bab62 100644 --- a/lib/hoe/package.rb +++ b/lib/hoe/package.rb @@ -109,7 +109,7 @@ module Hoe::Package return unless pre - spec.version.version << "." << pre if pre + spec.version = "#{spec.version}.#{pre}" abort "ERROR: You should format PRE like pre or alpha.1 or something" if (Gem::VERSION < "1.4" and pre !~ /^[a-z]+(\.\d+)?$/) or diff --git a/test/test_hoe_package.rb b/test/test_hoe_package.rb new file mode 100644 index 0000000..1d312e6 --- /dev/null +++ b/test/test_hoe_package.rb @@ -0,0 +1,58 @@ +Hoe.load_plugins + +class TestHoePackage < Minitest::Test + def setup + @orig_PRE = ENV['PRE'] + @orig_PRERELEASE = ENV['PRERELEASE'] + + ENV.delete 'PRE' + ENV.delete 'PRERELEASE' + + @tester = Module.new do + include Hoe::Package + + extend self + + initialize_package + + @spec = Gem::Specification.new do |s| + s.version = '1.2.3' + end + + attr_reader :spec + end + end + + def teardown + ENV['PRE'] = @orig_PRE + ENV['PRERELEASE'] = @orig_PRERELEASE + end + + def test_prerelease_version_pre + ENV['PRE'] = 'pre.0' + + @tester.prerelease_version + + expected = Gem::Version.new '1.2.3.pre.0' + + assert_equal expected, @tester.spec.version + end + + def test_prerelease_version_prerelease + ENV['PRERELEASE'] = 'prerelease.0' + + @tester.prerelease_version + + expected = Gem::Version.new '1.2.3.prerelease.0' + + assert_equal expected, @tester.spec.version + end + + def test_prerelease_version_regular + @tester.prerelease_version + + expected = Gem::Version.new '1.2.3' + + assert_equal expected, @tester.spec.version + end +end |