| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-23 06:25:35 +02:00
										 |  |  | require "cli/args" | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  | require "requirements/java_requirement" | 
					
						
							|  |  |  | require "fileutils" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe JavaRequirement do | 
					
						
							|  |  |  |   subject { described_class.new(%w[1.8]) } | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-28 14:50:46 +01:00
										 |  |  |   let(:java_home) { mktmpdir } | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-25 13:30:37 +01:00
										 |  |  |   before do | 
					
						
							| 
									
										
										
										
											2017-02-28 14:50:46 +01:00
										 |  |  |     FileUtils.mkdir java_home/"bin" | 
					
						
							|  |  |  |     FileUtils.touch java_home/"bin/java" | 
					
						
							|  |  |  |     allow(subject).to receive(:preferred_java).and_return(java_home/"bin/java") | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "Apple Java environment" do | 
					
						
							| 
									
										
										
										
											2020-07-28 14:08:40 +02:00
										 |  |  |     expect(subject).to be_satisfied | 
					
						
							| 
									
										
										
										
											2019-03-28 19:16:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  |     expect(ENV).to receive(:prepend_path) | 
					
						
							|  |  |  |     expect(ENV).to receive(:append_to_cflags) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-28 14:08:40 +02:00
										 |  |  |     subject.modify_build_environment | 
					
						
							| 
									
										
										
										
											2017-02-28 14:50:46 +01:00
										 |  |  |     expect(ENV["JAVA_HOME"]).to eq(java_home.to_s) | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "Oracle Java environment" do | 
					
						
							| 
									
										
										
										
											2020-07-28 14:08:40 +02:00
										 |  |  |     expect(subject).to be_satisfied | 
					
						
							| 
									
										
										
										
											2019-03-28 19:16:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-28 14:50:46 +01:00
										 |  |  |     FileUtils.mkdir java_home/"include" | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  |     expect(ENV).to receive(:prepend_path) | 
					
						
							|  |  |  |     expect(ENV).to receive(:append_to_cflags).twice | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-28 14:08:40 +02:00
										 |  |  |     subject.modify_build_environment | 
					
						
							| 
									
										
										
										
											2017-02-28 14:50:46 +01:00
										 |  |  |     expect(ENV["JAVA_HOME"]).to eq(java_home.to_s) | 
					
						
							| 
									
										
										
										
											2017-02-21 02:50:52 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | end |