| 
									
										
										
										
											2020-10-10 14:16:11 +02:00
										 |  |  | # typed: false | 
					
						
							| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  | describe Cask::DSL::Version, :cask do | 
					
						
							| 
									
										
										
										
											2017-03-05 03:46:13 +01:00
										 |  |  |   shared_examples "expectations hash" do |input_name, expectations| | 
					
						
							|  |  |  |     expectations.each do |input_value, expected_output| | 
					
						
							|  |  |  |       context "when #{input_name} is #{input_value.inspect}" do | 
					
						
							|  |  |  |         let(input_name.to_sym) { input_value } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-05 03:46:13 +01:00
										 |  |  |         it { is_expected.to eq expected_output } | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |   shared_examples "version equality" do | 
					
						
							|  |  |  |     let(:raw_version) { "1.2.3" } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     context "when other is nil" do | 
					
						
							|  |  |  |       let(:other) { nil } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-27 11:52:14 +02:00
										 |  |  |       it { is_expected.to be false } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     context "when other is a String" do | 
					
						
							|  |  |  |       context "when other == self.raw_version" do | 
					
						
							|  |  |  |         let(:other) { "1.2.3" } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-27 11:52:14 +02:00
										 |  |  |         it { is_expected.to be true } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       context "when other != self.raw_version" do | 
					
						
							|  |  |  |         let(:other) { "1.2.3.4" } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-27 11:52:14 +02:00
										 |  |  |         it { is_expected.to be false } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     context "when other is a #{described_class}" do | 
					
						
							|  |  |  |       context "when other.raw_version == self.raw_version" do | 
					
						
							|  |  |  |         let(:other) { described_class.new("1.2.3") } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-27 11:52:14 +02:00
										 |  |  |         it { is_expected.to be true } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       context "when other.raw_version != self.raw_version" do | 
					
						
							|  |  |  |         let(:other) { described_class.new("1.2.3.4") } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-27 11:52:14 +02:00
										 |  |  |         it { is_expected.to be false } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-05 03:46:13 +01:00
										 |  |  |   let(:version) { described_class.new(raw_version) } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-30 14:15:14 +01:00
										 |  |  |   describe "#initialize" do | 
					
						
							|  |  |  |     it "raises an error when the version contains a slash" do | 
					
						
							|  |  |  |       expect { | 
					
						
							|  |  |  |         described_class.new("0.1,../../directory/traversal") | 
					
						
							|  |  |  |       }.to raise_error(TypeError, %r{invalid characters: /}) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   describe "#==" do | 
					
						
							|  |  |  |     subject { version == other } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     include_examples "version equality" | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#eql?" do | 
					
						
							|  |  |  |     subject { version.eql?(other) } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     include_examples "version equality" | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   shared_examples "version expectations hash" do |method, hash| | 
					
						
							|  |  |  |     subject { version.send(method) } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     include_examples "expectations hash", :raw_version, | 
					
						
							|  |  |  |                      { :latest  => "latest", | 
					
						
							|  |  |  |                        "latest" => "latest", | 
					
						
							|  |  |  |                        ""       => "", | 
					
						
							|  |  |  |                        nil      => "" }.merge(hash) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#latest?" do | 
					
						
							|  |  |  |     include_examples "version expectations hash", :latest?, | 
					
						
							|  |  |  |                      :latest  => true, | 
					
						
							|  |  |  |                      "latest" => true, | 
					
						
							|  |  |  |                      ""       => false, | 
					
						
							|  |  |  |                      nil      => false, | 
					
						
							|  |  |  |                      "1.2.3"  => false | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "string manipulation helpers" do | 
					
						
							|  |  |  |     describe "#major" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :major, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "1", | 
					
						
							|  |  |  |                        "1.2"         => "1", | 
					
						
							|  |  |  |                        "1.2.3"       => "1", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "1" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#minor" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :minor, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "", | 
					
						
							|  |  |  |                        "1.2"         => "2", | 
					
						
							|  |  |  |                        "1.2.3"       => "2", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "2" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#patch" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :patch, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "", | 
					
						
							|  |  |  |                        "1.2"         => "", | 
					
						
							|  |  |  |                        "1.2.3"       => "3", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "3-4" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#major_minor" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :major_minor, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "1", | 
					
						
							|  |  |  |                        "1.2"         => "1.2", | 
					
						
							|  |  |  |                        "1.2.3"       => "1.2", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "1.2" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#major_minor_patch" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :major_minor_patch, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "1", | 
					
						
							|  |  |  |                        "1.2"         => "1.2", | 
					
						
							|  |  |  |                        "1.2.3"       => "1.2.3", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "1.2.3-4" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-15 22:40:33 +10:00
										 |  |  |     describe "#minor_patch" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :minor_patch, | 
					
						
							| 
									
										
										
										
											2019-12-06 15:39:39 +00:00
										 |  |  |                        "1"           => "", | 
					
						
							|  |  |  |                        "1.2"         => "2", | 
					
						
							|  |  |  |                        "1.2.3"       => "2.3", | 
					
						
							|  |  |  |                        "1.2.3-4,5:6" => "2.3-4" | 
					
						
							| 
									
										
										
										
											2018-06-15 22:40:33 +10:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     describe "#before_comma" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :before_comma, | 
					
						
							|  |  |  |                        "1.2.3"     => "1.2.3", | 
					
						
							|  |  |  |                        "1.2.3,"    => "1.2.3", | 
					
						
							|  |  |  |                        ",abc"      => "", | 
					
						
							|  |  |  |                        "1.2.3,abc" => "1.2.3" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#after_comma" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :after_comma, | 
					
						
							|  |  |  |                        "1.2.3"     => "", | 
					
						
							|  |  |  |                        "1.2.3,"    => "", | 
					
						
							|  |  |  |                        ",abc"      => "abc", | 
					
						
							|  |  |  |                        "1.2.3,abc" => "abc" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#before_colon" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :before_colon, | 
					
						
							|  |  |  |                        "1.2.3"     => "1.2.3", | 
					
						
							|  |  |  |                        "1.2.3:"    => "1.2.3", | 
					
						
							|  |  |  |                        ":abc"      => "", | 
					
						
							|  |  |  |                        "1.2.3:abc" => "1.2.3" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#after_colon" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :after_colon, | 
					
						
							|  |  |  |                        "1.2.3"     => "", | 
					
						
							|  |  |  |                        "1.2.3:"    => "", | 
					
						
							|  |  |  |                        ":abc"      => "abc", | 
					
						
							|  |  |  |                        "1.2.3:abc" => "abc" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#dots_to_hyphens" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :dots_to_hyphens, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1-2-3_4-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#dots_to_underscores" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :dots_to_underscores, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1_2_3_4-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#hyphens_to_dots" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :hyphens_to_dots, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.3_4.5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#hyphens_to_underscores" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :hyphens_to_underscores, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.3_4_5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#underscores_to_dots" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :underscores_to_dots, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.3.4-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#underscores_to_hyphens" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :underscores_to_hyphens, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.3-4-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#no_dots" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :no_dots, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "123_4-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#no_hyphens" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :no_hyphens, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.3_45" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#no_underscores" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :no_underscores, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "1.2.34-5" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe "#no_dividers" do | 
					
						
							|  |  |  |       include_examples "version expectations hash", :no_dividers, | 
					
						
							|  |  |  |                        "1.2.3_4-5" => "12345" | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2019-03-19 04:57:33 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   describe "#unstable?" do | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |       "0.0.11-beta.7", | 
					
						
							|  |  |  |       "0.0.23b-alpha", | 
					
						
							|  |  |  |       "0.1-beta", | 
					
						
							|  |  |  |       "0.1.0-beta.6", | 
					
						
							|  |  |  |       "0.10.0b", | 
					
						
							|  |  |  |       "0.2.0-alpha", | 
					
						
							|  |  |  |       "0.2.0-beta", | 
					
						
							|  |  |  |       "0.2.4-beta.9", | 
					
						
							|  |  |  |       "0.2.588-dev", | 
					
						
							|  |  |  |       "0.3-beta", | 
					
						
							|  |  |  |       "0.3.0-SNAPSHOT-624369f", | 
					
						
							|  |  |  |       "0.4.1-alpha", | 
					
						
							|  |  |  |       "0.4.9-alpha", | 
					
						
							|  |  |  |       "0.5.3,beta", | 
					
						
							|  |  |  |       "0.6-alpha1,a", | 
					
						
							|  |  |  |       "0.7.1b2", | 
					
						
							|  |  |  |       "0.7a19", | 
					
						
							|  |  |  |       "0.8.0b8", | 
					
						
							|  |  |  |       "0.8b3", | 
					
						
							|  |  |  |       "0.9.10-alpha", | 
					
						
							|  |  |  |       "0.9.3b", | 
					
						
							|  |  |  |       "08b2", | 
					
						
							|  |  |  |       "1.0-b9", | 
					
						
							|  |  |  |       "1.0-beta", | 
					
						
							|  |  |  |       "1.0-beta-7.0", | 
					
						
							|  |  |  |       "1.0-beta.3", | 
					
						
							|  |  |  |       "1.0.0-alpha.5", | 
					
						
							|  |  |  |       "1.0.0-alpha5", | 
					
						
							|  |  |  |       "1.0.0-beta-2.2,20160421", | 
					
						
							|  |  |  |       "1.0.0-beta.16", | 
					
						
							|  |  |  |       "1.0.0-rc", | 
					
						
							|  |  |  |       "1.0.6b1", | 
					
						
							|  |  |  |       "1.0.beta-43", | 
					
						
							|  |  |  |       "1.004,alpha", | 
					
						
							|  |  |  |       "1.0b10", | 
					
						
							|  |  |  |       "1.0b12", | 
					
						
							|  |  |  |       "1.1-alpha-20181201a", | 
					
						
							|  |  |  |       "1.1.16-beta-rc2", | 
					
						
							|  |  |  |       "1.1.58.BETA", | 
					
						
							|  |  |  |       "1.10.1,b87:8941241e", | 
					
						
							|  |  |  |       "1.13.0-beta.7", | 
					
						
							|  |  |  |       "1.13beta8", | 
					
						
							|  |  |  |       "1.15.0.b20190302001", | 
					
						
							|  |  |  |       "1.16.2-Beta", | 
					
						
							|  |  |  |       "1.1b23", | 
					
						
							|  |  |  |       "1.2.0,b200", | 
					
						
							|  |  |  |       "1.2.1pre1", | 
					
						
							|  |  |  |       "1.2.2-beta.2845", | 
					
						
							|  |  |  |       "1.20.0-beta.3", | 
					
						
							|  |  |  |       "1.2b24", | 
					
						
							|  |  |  |       "1.3.0,b102", | 
					
						
							|  |  |  |       "1.3.7a", | 
					
						
							|  |  |  |       "1.36.0-beta0", | 
					
						
							|  |  |  |       "1.4.3a", | 
					
						
							|  |  |  |       "1.6.0_65-b14-468", | 
					
						
							|  |  |  |       "1.6.4-beta0-4e46f007", | 
					
						
							|  |  |  |       "1.7,b566", | 
					
						
							|  |  |  |       "1.7b5", | 
					
						
							|  |  |  |       "1.9.3a", | 
					
						
							|  |  |  |       "1.9.3b8", | 
					
						
							|  |  |  |       "17.03.1-beta", | 
					
						
							|  |  |  |       "18.0-Leia_rc4", | 
					
						
							|  |  |  |       "18.2-rc-3", | 
					
						
							|  |  |  |       "1875Beta", | 
					
						
							|  |  |  |       "19.3.2,b4188-155116", | 
					
						
							|  |  |  |       "2.0-rc.22", | 
					
						
							|  |  |  |       "2.0.0-beta.2", | 
					
						
							|  |  |  |       "2.0.0-beta14", | 
					
						
							|  |  |  |       "2.0.0-dev.11,1902221558.a6b3c4a8", | 
					
						
							|  |  |  |       "2.0.12,b1807-50472cde", | 
					
						
							|  |  |  |       "2.0b", | 
					
						
							|  |  |  |       "2.0b2", | 
					
						
							|  |  |  |       "2.0b3-2020", | 
					
						
							|  |  |  |       "2.0b5", | 
					
						
							|  |  |  |       "2.1.1-dev.3", | 
					
						
							|  |  |  |       "2.12.12beta3", | 
					
						
							|  |  |  |       "2.12b1", | 
					
						
							|  |  |  |       "2.2-Beta", | 
					
						
							|  |  |  |       "2.2.0-RC1", | 
					
						
							|  |  |  |       "2.2b2", | 
					
						
							|  |  |  |       "2.3.0-beta1u1", | 
					
						
							|  |  |  |       "2.3.1,rc4", | 
					
						
							|  |  |  |       "2.3b19", | 
					
						
							|  |  |  |       "2.4.0-beta2", | 
					
						
							|  |  |  |       "2.4.6-beta3u2", | 
					
						
							|  |  |  |       "2.6.1-dev_2019-02-09_14-04_git-master-c1f194a", | 
					
						
							|  |  |  |       "2.7.4a1", | 
					
						
							|  |  |  |       "2.79b", | 
					
						
							|  |  |  |       "2.99pre5", | 
					
						
							|  |  |  |       "2019.1-Beta2", | 
					
						
							|  |  |  |       "2019.1-b112", | 
					
						
							|  |  |  |       "2019.1-beta1", | 
					
						
							|  |  |  |       "2019a", | 
					
						
							|  |  |  |       "26.1-rc1-1", | 
					
						
							|  |  |  |       "3.0.0-beta.5", | 
					
						
							|  |  |  |       "3.0.0-beta19", | 
					
						
							|  |  |  |       "3.0.0-canary.8", | 
					
						
							|  |  |  |       "3.0.0-preview-27122-01", | 
					
						
							|  |  |  |       "3.0.0-rc.14", | 
					
						
							|  |  |  |       "3.0.1-beta.19", | 
					
						
							|  |  |  |       "3.0.100-preview-010184", | 
					
						
							|  |  |  |       "3.0.6a", | 
					
						
							|  |  |  |       "3.00b5", | 
					
						
							|  |  |  |       "3.1.0-beta.1", | 
					
						
							|  |  |  |       "3.1.0_b15007", | 
					
						
							|  |  |  |       "3.2.8beta1", | 
					
						
							|  |  |  |       "3.21-beta", | 
					
						
							|  |  |  |       "3.7.9beta03,5210", | 
					
						
							|  |  |  |       "3b19", | 
					
						
							|  |  |  |       "4.0.0a", | 
					
						
							|  |  |  |       "4.2.0-preview", | 
					
						
							|  |  |  |       "4.3-beta5", | 
					
						
							|  |  |  |       "4.3b3", | 
					
						
							|  |  |  |       "4.99beta", | 
					
						
							|  |  |  |       "5.0.0-RC7", | 
					
						
							|  |  |  |       "5.5.0-beta-9", | 
					
						
							|  |  |  |       "6.0.0-beta3,20181228T124823", | 
					
						
							|  |  |  |       "6.0.0_BETA3,127054", | 
					
						
							|  |  |  |       "6.1.1b176", | 
					
						
							|  |  |  |       "6.2.0-preview.4", | 
					
						
							|  |  |  |       "6.2.0.0.beta1", | 
					
						
							|  |  |  |       "6.3.9_b16229", | 
					
						
							|  |  |  |       "6.44b", | 
					
						
							|  |  |  |       "7.0.6-7A69", | 
					
						
							|  |  |  |       "7.3.BETA-3", | 
					
						
							|  |  |  |       "8.5a8", | 
					
						
							|  |  |  |       "8u202,b08:1961070e4c9b4e26a04e7f5a083f551e", | 
					
						
							|  |  |  |     ].each do |unstable_version| | 
					
						
							|  |  |  |       it "detects #{unstable_version.inspect} as unstable" do | 
					
						
							|  |  |  |         expect(described_class.new(unstable_version)).to be_unstable | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |       "0.20.1,63d9b84e-bbcf-4a00-9427-0bb3f713c769", | 
					
						
							|  |  |  |       "1.5.4,13:53d8a307-a8ae-4f9b-9a59-a1adb8c67012", | 
					
						
							|  |  |  |       "b226", | 
					
						
							|  |  |  |     ].each do |stable_version| | 
					
						
							|  |  |  |       it "does not detect #{stable_version.inspect} as unstable" do | 
					
						
							|  |  |  |         expect(described_class.new(stable_version)).not_to be_unstable | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | end |