| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  | require_relative "shared_examples/requires_cask_token" | 
					
						
							|  |  |  | require_relative "shared_examples/invalid_option" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-05 19:26:56 +01:00
										 |  |  | describe Hbc::CLI::Info, :cask do | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |   it_behaves_like "a command that requires a Cask token" | 
					
						
							|  |  |  |   it_behaves_like "a command that handles invalid options" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   it "displays some nice info about the specified Cask" do | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |     expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |       described_class.run("local-caffeine") | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |     }.to output(<<~EOS).to_stdout | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       local-caffeine: 1.2.3
 | 
					
						
							|  |  |  |       http://example.com/local-caffeine | 
					
						
							|  |  |  |       Not installed | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |       From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/local-caffeine.rb | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       ==> Name | 
					
						
							|  |  |  |       None | 
					
						
							|  |  |  |       ==> Artifacts | 
					
						
							| 
									
										
										
										
											2017-04-06 00:33:31 +02:00
										 |  |  |       Caffeine.app (App) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     EOS | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "given multiple Casks" do | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |     let(:expected_output) { | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |       <<~EOS | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |         local-caffeine: 1.2.3
 | 
					
						
							|  |  |  |         http://example.com/local-caffeine | 
					
						
							|  |  |  |         Not installed | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |         From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/local-caffeine.rb | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |         ==> Name | 
					
						
							|  |  |  |         None | 
					
						
							|  |  |  |         ==> Artifacts | 
					
						
							| 
									
										
										
										
											2017-04-06 00:33:31 +02:00
										 |  |  |         Caffeine.app (App) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |         local-transmission: 2.61
 | 
					
						
							|  |  |  |         http://example.com/local-transmission | 
					
						
							|  |  |  |         Not installed | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |         From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/local-transmission.rb | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |         ==> Name | 
					
						
							|  |  |  |         None | 
					
						
							|  |  |  |         ==> Artifacts | 
					
						
							| 
									
										
										
										
											2017-04-06 00:33:31 +02:00
										 |  |  |         Transmission.app (App) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       EOS | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     it "displays the info" do | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |       expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |         described_class.run("local-caffeine", "local-transmission") | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |       }.to output(expected_output).to_stdout | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it "should print caveats if the Cask provided one" do | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |     expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |       described_class.run("with-caveats") | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |     }.to output(<<~EOS).to_stdout | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       with-caveats: 1.2.3
 | 
					
						
							|  |  |  |       http://example.com/local-caffeine | 
					
						
							|  |  |  |       Not installed | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |       From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/with-caveats.rb | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       ==> Name | 
					
						
							|  |  |  |       None | 
					
						
							|  |  |  |       ==> Artifacts | 
					
						
							| 
									
										
										
										
											2017-04-06 00:33:31 +02:00
										 |  |  |       Caffeine.app (App) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       ==> Caveats | 
					
						
							|  |  |  |       Here are some things you might want to know. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Cask token: with-caveats | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Custom text via puts followed by DSL-generated text: | 
					
						
							|  |  |  |       To use with-caveats, you may need to add the /custom/path/bin directory | 
					
						
							|  |  |  |       to your PATH environment variable, eg (for bash shell): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         export PATH=/custom/path/bin:"$PATH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     EOS | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it 'should not print "Caveats" section divider if the caveats block has no output' do | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |     expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |       described_class.run("with-conditional-caveats") | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |     }.to output(<<~EOS).to_stdout | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       with-conditional-caveats: 1.2.3
 | 
					
						
							|  |  |  |       http://example.com/local-caffeine | 
					
						
							|  |  |  |       Not installed | 
					
						
							| 
									
										
										
										
											2017-02-08 12:19:51 +01:00
										 |  |  |       From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/with-conditional-caveats.rb | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |       ==> Name | 
					
						
							|  |  |  |       None | 
					
						
							|  |  |  |       ==> Artifacts | 
					
						
							| 
									
										
										
										
											2017-04-06 00:33:31 +02:00
										 |  |  |       Caffeine.app (App) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     EOS | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-02 11:34:50 -07:00
										 |  |  |   it "prints languages specified in the Cask" do | 
					
						
							| 
									
										
										
										
											2017-09-27 00:17:47 -07:00
										 |  |  |     expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |       described_class.run("with-languages") | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |     }.to output(<<~EOS).to_stdout | 
					
						
							| 
									
										
										
										
											2017-09-27 00:17:47 -07:00
										 |  |  |       with-languages: 1.2.3
 | 
					
						
							|  |  |  |       http://example.com/local-caffeine | 
					
						
							|  |  |  |       Not installed | 
					
						
							|  |  |  |       From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/with-languages.rb | 
					
						
							|  |  |  |       ==> Name | 
					
						
							|  |  |  |       None | 
					
						
							|  |  |  |       ==> Languages | 
					
						
							|  |  |  |       zh, en-US | 
					
						
							|  |  |  |       ==> Artifacts | 
					
						
							|  |  |  |       Caffeine.app (App) | 
					
						
							|  |  |  |     EOS | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-02 11:34:50 -07:00
										 |  |  |   it 'does not print "Languages" section divider if the languages block has no output' do | 
					
						
							| 
									
										
										
										
											2017-09-27 00:17:47 -07:00
										 |  |  |     expect { | 
					
						
							| 
									
										
										
										
											2017-10-03 10:49:58 +02:00
										 |  |  |       described_class.run("without-languages") | 
					
						
							| 
									
										
										
										
											2017-10-15 02:28:32 +02:00
										 |  |  |     }.to output(<<~EOS).to_stdout | 
					
						
							| 
									
										
										
										
											2017-10-02 11:34:50 -07:00
										 |  |  |       without-languages: 1.2.3
 | 
					
						
							| 
									
										
										
										
											2017-09-27 00:17:47 -07:00
										 |  |  |       http://example.com/local-caffeine | 
					
						
							|  |  |  |       Not installed | 
					
						
							| 
									
										
										
										
											2017-10-02 11:34:50 -07:00
										 |  |  |       From: https://github.com/caskroom/homebrew-spec/blob/master/Casks/without-languages.rb | 
					
						
							| 
									
										
										
										
											2017-09-27 00:17:47 -07:00
										 |  |  |       ==> Name | 
					
						
							|  |  |  |       None | 
					
						
							|  |  |  |       ==> Artifacts | 
					
						
							|  |  |  |       Caffeine.app (App) | 
					
						
							|  |  |  |     EOS | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | end |