61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
DIR="${0:a:h}"
 | 
						|
ROOT_DIR="$DIR/.."
 | 
						|
VENDOR_DIR="$ROOT_DIR/vendor"
 | 
						|
 | 
						|
# Use stub.sh for stubbing/mocking
 | 
						|
source "$VENDOR_DIR/stub.sh/stub.sh"
 | 
						|
 | 
						|
#--------------------------------------------------------------------#
 | 
						|
# Helper Functions                                                   #
 | 
						|
#--------------------------------------------------------------------#
 | 
						|
 | 
						|
# Source the autosuggestions plugin file
 | 
						|
source_autosuggestions() {
 | 
						|
	source "$ROOT_DIR/zsh-autosuggestions.zsh"
 | 
						|
}
 | 
						|
 | 
						|
# Set history list from stdin
 | 
						|
set_history() {
 | 
						|
	# Make a tmp file in shunit's tmp dir
 | 
						|
	local tmp=$(mktemp "$SHUNIT_TMPDIR/hist.XXX")
 | 
						|
 | 
						|
	# Write from stdin to the tmp file
 | 
						|
	> "$tmp"
 | 
						|
 | 
						|
	# Write an extra line to simulate history active mode
 | 
						|
	# See https://github.com/zsh-users/zsh/blob/ca3bc0d95d7deab4f5381f12b15047de748c0814/Src/hist.c#L69-L82
 | 
						|
	echo >> "$tmp"
 | 
						|
 | 
						|
	# Clear history and re-read from the tmp file
 | 
						|
	fc -P; fc -p; fc -R "$tmp"
 | 
						|
 | 
						|
	rm "$tmp"
 | 
						|
}
 | 
						|
 | 
						|
# Should be called at the bottom of every test suite file
 | 
						|
# Pass in the name of the test script ($0) for shunit
 | 
						|
run_tests() {
 | 
						|
	local test_script="$1"
 | 
						|
	shift
 | 
						|
 | 
						|
	# Required for shunit to work with zsh
 | 
						|
	setopt localoptions shwordsplit
 | 
						|
	SHUNIT_PARENT="$test_script"
 | 
						|
 | 
						|
	source "$VENDOR_DIR/shunit2/2.1.6/src/shunit2"
 | 
						|
}
 | 
						|
 | 
						|
#--------------------------------------------------------------------#
 | 
						|
# Custom Assertions                                                  #
 | 
						|
#--------------------------------------------------------------------#
 | 
						|
 | 
						|
assertSuggestion() {
 | 
						|
	local prefix="$1"
 | 
						|
	local expected_suggestion="$2"
 | 
						|
 | 
						|
	assertEquals \
 | 
						|
		"Did not get correct suggestion for prefix:<$prefix>" \
 | 
						|
		"$expected_suggestion" \
 | 
						|
		"$(_zsh_autosuggest_suggestion "$prefix")"
 | 
						|
}
 |