| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  | require "build_environment" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe BuildEnvironment do | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |   alias_matcher :use_userpaths, :be_userpaths | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  |   let(:env) { described_class.new } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#<<" do | 
					
						
							|  |  |  |     it "returns itself" do | 
					
						
							|  |  |  |       expect(env << :foo).to be env | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#merge" do | 
					
						
							|  |  |  |     it "returns itself" do | 
					
						
							|  |  |  |       expect(env.merge([])).to be env | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#std?" do | 
					
						
							|  |  |  |     it "returns true if the environment contains :std" do | 
					
						
							|  |  |  |       env << :std | 
					
						
							|  |  |  |       expect(env).to be_std | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns false if the environment does not contain :std" do | 
					
						
							|  |  |  |       expect(env).not_to be_std | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#userpaths?" do | 
					
						
							|  |  |  |     it "returns true if the environment contains :userpaths" do | 
					
						
							|  |  |  |       env << :userpaths | 
					
						
							|  |  |  |       expect(env).to use_userpaths | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "returns false if the environment does not contain :userpaths" do | 
					
						
							|  |  |  |       expect(env).not_to use_userpaths | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |   describe BuildEnvironment::DSL do | 
					
						
							|  |  |  |     subject { double.extend(described_class) } | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |     context "single argument" do | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  |       before do | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |         subject.instance_eval do | 
					
						
							|  |  |  |           env :userpaths | 
					
						
							|  |  |  |         end | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |       its(:env) { is_expected.to use_userpaths } | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |     context "multiple arguments" do | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  |       before do | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |         subject.instance_eval do | 
					
						
							|  |  |  |           env :userpaths, :std | 
					
						
							|  |  |  |         end | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |       its(:env) { is_expected.to be_std } | 
					
						
							|  |  |  |       its(:env) { is_expected.to use_userpaths } | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2017-02-11 18:21:30 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | end |