| 
									
										
										
										
											2023-03-06 03:08:55 +00:00
										 |  |  | #!/usr/bin/env bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testArgumentsBecomeVars() { | 
					
						
							|  |  |  |   echo ' | 
					
						
							|  |  |  |   #!/usr/bin/env bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ⚡banana() { | 
					
						
							|  |  |  |     _argument hello | 
					
						
							|  |  |  |     if [[ -n "$_arg_hello" ]]; then  | 
					
						
							|  |  |  |       echo "I AM A BANANA" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   ' > go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "source $REPO_ROOT/⚡" >> go | 
					
						
							|  |  |  |   chmod +x go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   try ./go banana hello=please | 
					
						
							|  |  |  |   assertEquals "I AM A BANANA" "$STDOUT" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testArgumentsNotDeclaredDoNot() { | 
					
						
							|  |  |  |   echo ' | 
					
						
							|  |  |  |   #!/usr/bin/env bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ⚡banana() { | 
					
						
							|  |  |  |     _argument hello | 
					
						
							|  |  |  |     if [[ -n "$_arg_goodbye" ]]; then  | 
					
						
							|  |  |  |       echo "I AM A BANANA" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   ' > go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "source $REPO_ROOT/⚡" >> go | 
					
						
							|  |  |  |   chmod +x go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   try ./go banana goodbye=foo | 
					
						
							|  |  |  |   assertEquals "" "$STDOUT" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-06 03:42:37 +00:00
										 |  |  | testRequiredArgumentsAreRequired() { | 
					
						
							|  |  |  |   echo ' | 
					
						
							|  |  |  |   #!/usr/bin/env bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ⚡banana() { | 
					
						
							|  |  |  |     _required_argument hello | 
					
						
							|  |  |  |     echo "$_arg_hello" | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   ' > go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "source $REPO_ROOT/⚡" >> go | 
					
						
							|  |  |  |   chmod +x go | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   try ./go banana | 
					
						
							|  |  |  |   assertContains "$STDERR" "'hello' is a required argument" | 
					
						
							|  |  |  |   assertEquals 1 "$EXIT_CODE" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-06 03:08:55 +00:00
										 |  |  | source $(dirname $0)/runner |