| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  | require "testing_env" | 
					
						
							|  |  |  | require "extend/ARGV" | 
					
						
							| 
									
										
										
										
											2010-03-08 22:27:08 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-18 20:32:51 -05:00
										 |  |  | class ArgvExtensionTests < Homebrew::TestCase | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   def setup | 
					
						
							|  |  |  |     @argv = [].extend(HomebrewArgvExtension) | 
					
						
							| 
									
										
										
										
											2010-03-08 22:27:08 -08:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   def test_argv_formulae | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     @argv.unshift "mxcl" | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |     assert_raises(FormulaUnavailableError) { @argv.formulae } | 
					
						
							| 
									
										
										
										
											2012-04-16 16:43:42 -05:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-28 15:02:42 +00:00
										 |  |  |   def test_argv_casks | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     @argv.unshift "mxcl" | 
					
						
							| 
									
										
										
										
											2014-11-28 15:02:42 +00:00
										 |  |  |     assert_equal [], @argv.casks | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   def test_argv_kegs | 
					
						
							|  |  |  |     keg = HOMEBREW_CELLAR + "mxcl/10.0" | 
					
						
							|  |  |  |     keg.mkpath | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     @argv << "mxcl" | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |     assert_equal 1, @argv.kegs.length | 
					
						
							|  |  |  |   ensure | 
					
						
							| 
									
										
										
										
											2014-06-23 21:29:10 -05:00
										 |  |  |     keg.parent.rmtree | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-06-20 00:51:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   def test_argv_named | 
					
						
							| 
									
										
										
										
											2014-08-28 22:11:08 -05:00
										 |  |  |     @argv << "foo" << "--debug" << "-v" | 
					
						
							|  |  |  |     assert_equal %w[foo], @argv.named | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_options_only | 
					
						
							|  |  |  |     @argv << "--foo" << "-vds" << "a" << "b" << "cdefg" | 
					
						
							|  |  |  |     assert_equal %w[--foo -vds], @argv.options_only | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-06-20 00:51:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-29 19:38:32 -05:00
										 |  |  |   def test_flags_only | 
					
						
							|  |  |  |     @argv << "--foo" << "-vds" << "a" << "b" << "cdefg" | 
					
						
							|  |  |  |     assert_equal %w[--foo], @argv.flags_only | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-07 16:35:34 -05:00
										 |  |  |   def test_empty_argv | 
					
						
							|  |  |  |     assert_empty @argv.named | 
					
						
							|  |  |  |     assert_empty @argv.kegs | 
					
						
							|  |  |  |     assert_empty @argv.formulae | 
					
						
							|  |  |  |     assert_empty @argv | 
					
						
							| 
									
										
										
										
											2010-03-08 22:27:08 -08:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-03-06 20:11:35 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def test_switch? | 
					
						
							| 
									
										
										
										
											2016-02-26 16:10:48 +08:00
										 |  |  |     @argv << "-ns" << "-i" << "--bar" << "-a-bad-arg" | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     %w[n s i].each { |s| assert @argv.switch?(s) } | 
					
						
							| 
									
										
										
										
											2016-02-26 16:10:48 +08:00
										 |  |  |     %w[b ns bar --bar -n a bad arg].each { |s| assert !@argv.switch?(s) } | 
					
						
							| 
									
										
										
										
											2012-03-06 20:11:35 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-20 22:34:53 -05:00
										 |  |  |   def test_flag? | 
					
						
							|  |  |  |     @argv << "--foo" << "-bq" << "--bar" | 
					
						
							|  |  |  |     assert @argv.flag?("--foo") | 
					
						
							|  |  |  |     assert @argv.flag?("--bar") | 
					
						
							|  |  |  |     assert @argv.flag?("--baz") | 
					
						
							|  |  |  |     assert @argv.flag?("--qux") | 
					
						
							|  |  |  |     assert !@argv.flag?("--frotz") | 
					
						
							|  |  |  |     assert !@argv.flag?("--debug") | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2010-03-08 22:27:08 -08:00
										 |  |  | end |