diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb index 1922408f0d78..2208afd52f9e 100644 --- a/test/rubygems/test_gem_requirement.rb +++ b/test/rubygems/test_gem_requirement.rb @@ -225,40 +225,197 @@ def test_satisfied_by_eh_boxed refute_satisfied_by "2.0.a", "~> 2.0" end - def test_satisfied_by_boxed_pre - refute_satisfied_by "1.3.beta.0", "~> 1.4.beta" - refute_satisfied_by "1.3", "~> 1.4.beta" - refute_satisfied_by "1.3.0", "~> 1.4.beta" - refute_satisfied_by "1.3.alpha.0", "~> 1.4.beta" - - refute_satisfied_by "1.4.alpha", "~> 1.4.beta" - refute_satisfied_by "1.4.alpha.0", "~> 1.4.beta" - - assert_satisfied_by "1.4.beta.0", "~> 1.4.beta" - assert_satisfied_by "1.4", "~> 1.4.beta" - assert_satisfied_by "1.4.0", "~> 1.4.beta" - assert_satisfied_by "1.4.1", "~> 1.4.beta" - - refute_satisfied_by "1.5.alpha.0", "~> 1.4.beta" - refute_satisfied_by "1.5.beta.0", "~> 1.4.beta" - refute_satisfied_by "1.5", "~> 1.4.beta" - refute_satisfied_by "1.5.0", "~> 1.4.beta" - refute_satisfied_by "1.5.1", "~> 1.4.beta" - end - - def test_satisfied_by_boxed_pre_plus - assert_satisfied_by "1.4.beta.0", "~> 1.4.beta.0" - assert_satisfied_by "1.4.beta.1", "~> 1.4.beta.0" - - refute_satisfied_by "1.4", "~> 1.4.beta.0" - refute_satisfied_by "1.4.0", "~> 1.4.beta.0" - refute_satisfied_by "1.4.1", "~> 1.4.beta.0" - - refute_satisfied_by "1.5.alpha.0", "~> 1.4.beta.0" - refute_satisfied_by "1.5.beta.0", "~> 1.4.beta.0" - refute_satisfied_by "1.5", "~> 1.4.beta.0" - refute_satisfied_by "1.5.0", "~> 1.4.beta.0" - refute_satisfied_by "1.5.1", "~> 1.4.beta.0" + def test_satisfied_by_spermy_inplace_pre + req = "~> 1.4.beta" + + refute_satisfied_by "1.3.beta.0", req + refute_satisfied_by "1.3", req + refute_satisfied_by "1.3.0", req + + refute_satisfied_by "1.4.alpha", req + refute_satisfied_by "1.4.alpha.0", req + + assert_satisfied_by "1.4.beta", req + assert_satisfied_by "1.4.beta.0", req + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "2.0", req + refute_satisfied_by "2.0.0", req + + refute_satisfied_by "1.5.alpha", req + refute_satisfied_by "1.5.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_spermy_postfix_pre + req = "~> 1.4.0.beta" + + refute_satisfied_by "1.3.0.beta.0", req + refute_satisfied_by "1.3", req + refute_satisfied_by "1.3.0", req + + refute_satisfied_by "1.4.alpha", req + refute_satisfied_by "1.4.alpha.0", req + refute_satisfied_by "1.4.0.alpha", req + refute_satisfied_by "1.4.0.alpha.0", req + + assert_satisfied_by "1.4.0.beta", req + assert_satisfied_by "1.4.0.beta.0", req + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "2.0", req + refute_satisfied_by "2.0.0", req + + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0.alpha", req + refute_satisfied_by "1.5.0.beta.0", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_spermy_postfix_pre_sub + req = "~> 1.4.0.beta.1" + + refute_satisfied_by "1.3.0.beta.0", req + refute_satisfied_by "1.3", req + refute_satisfied_by "1.3.0", req + + refute_satisfied_by "1.4.alpha", req + refute_satisfied_by "1.4.alpha.0", req + refute_satisfied_by "1.4.0.alpha", req + refute_satisfied_by "1.4.0.alpha.0", req + + refute_satisfied_by "1.4.0.beta", req + refute_satisfied_by "1.4.0.beta.0", req + + assert_satisfied_by "1.4.0.beta.1", req + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "2.0", req + refute_satisfied_by "2.0.0", req + + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0.alpha", req + refute_satisfied_by "1.5.0.beta.0", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_spermy_release + req = "~> 1.4.0" + + refute_satisfied_by "1.3.beta.0", req + refute_satisfied_by "1.3", req + refute_satisfied_by "1.3.0", req + refute_satisfied_by "1.3.alpha.0", req + + refute_satisfied_by "1.4.beta.0", req + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.alpha.0", req + refute_satisfied_by "1.5.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_range_pre_inplace + req = [ ">= 1.4.beta", "< 1.5" ] + + refute_satisfied_by "1.3.alpha.0", req + refute_satisfied_by "1.4.alpha.0", req + + assert_satisfied_by "1.4.beta.0", req + assert_satisfied_by "1.4.beta.1", req + + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.alpha.0", req + refute_satisfied_by "1.5.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_range_inplace + req = [ ">= 1.4", "< 1.5" ] + + refute_satisfied_by "1.3.alpha.0", req + refute_satisfied_by "1.4.alpha.0", req + + refute_satisfied_by "1.4.beta.0", req + refute_satisfied_by "1.4.beta.1", req + + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.alpha.0", req + refute_satisfied_by "1.5.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_range_postfix + req = [ ">= 1.4", "< 1.5" ] + + refute_satisfied_by "1.4.0.beta.0", req + + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.0.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_range_3_postfix + req = [ ">= 1.4.0", "< 1.5.0" ] + + refute_satisfied_by "1.4.0.beta.0", req + + assert_satisfied_by "1.4", req + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.0.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req + end + + def test_satisfied_by_range_with_pre_postfix + req = [ ">= 1.4.0.beta", "< 1.5" ] + + refute_satisfied_by "1.3.0.alpha.0", req + refute_satisfied_by "1.4.0.alpha.0", req + + assert_satisfied_by "1.4.0.beta.0", req + assert_satisfied_by "1.4.0.beta.1", req + + assert_satisfied_by "1.4.0", req + assert_satisfied_by "1.4.1", req + + refute_satisfied_by "1.5.0.alpha.0", req + refute_satisfied_by "1.5.0.beta.0", req + refute_satisfied_by "1.5", req + refute_satisfied_by "1.5.0", req + refute_satisfied_by "1.5.1", req end def test_satisfied_by_eh_multiple