61 lines
		
	
	
		
			974 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			974 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/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"
 | |
| }
 | |
| 
 | |
| 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"
 | |
| }
 | |
| 
 | |
| 
 | |
| source $(dirname $0)/runner
 |