aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_version.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-06 02:58:35 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-06 02:58:35 +0000
commit7112c6a1c15b26eebf0c020dfee7abd30eebde2d (patch)
tree16e0369e6aa7aee5bbbf79ba3d5ceacb53084534 /test/rubygems/test_gem_version.rb
parenteb537609ba0de060c6633dc3e7dd9ba5e85c6d1b (diff)
downloadruby-7112c6a1c15b26eebf0c020dfee7abd30eebde2d.tar.gz
Merge RubyGems-2.7.5 from upstream.
Please see its details: http://blog.rubygems.org/2018/02/06/2.7.5-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_version.rb')
-rw-r--r--test/rubygems/test_gem_version.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_version.rb b/test/rubygems/test_gem_version.rb
index 56c818663e..792ad5f084 100644
--- a/test/rubygems/test_gem_version.rb
+++ b/test/rubygems/test_gem_version.rb
@@ -2,6 +2,8 @@
require 'rubygems/test_case'
require "rubygems/version"
+require "minitest/benchmark"
+
class TestGemVersion < Gem::TestCase
class V < ::Gem::Version
@@ -102,6 +104,15 @@ class TestGemVersion < Gem::TestCase
end
end
+ def bench_anchored_version_pattern
+ assert_performance_linear 0.5 do |count|
+ version_string = count.times.map {|i| "0" * i.succ }.join(".") << "."
+ version_string =~ Gem::Version::ANCHORED_VERSION_PATTERN
+ end
+ rescue RegexpError
+ skip "It fails to allocate the memory for regex pattern of Gem::Version::ANCHORED_VERSION_PATTERN"
+ end
+
def test_empty_version
["", " ", " "].each do |empty|
assert_equal "0", Gem::Version.new(empty).version