Fully fixed up ll escaping, added lots of tests

This commit is contained in:
Nathan Broadbent
2012-10-23 12:25:28 +13:00
parent 7c7aedce03
commit 5836617dbf
8 changed files with 65 additions and 32 deletions

View File

@@ -0,0 +1,43 @@
orig_cwd="$PWD"
# Load SCM Breeze helpers
source "$scmbDir/lib/git/helpers.sh"
#
# Test helpers
#-----------------------------------------------------------------------------
# Strip color codes from a string
strip_colors() {
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
}
# Print space separated tab completion options
tab_completions(){ echo "${COMPREPLY[@]}"; }
# Silence git commands
silentGitCommands() {
git() { /usr/bin/env git "$@" > /dev/null 2>&1; }
}
# Cancel silent git commands
verboseGitCommands() {
unset -f git
}
# Asserts
#-----------------------------------------------------------------------------
_includes() {
if [ -n "$3" ]; then regex="$3"; else regex=P; fi
if echo "$1" | grep -q$regex "$2"; then echo 0; else echo 1; fi
}
# assert $1 contains $2
assertIncludes() {
assertTrue "'$1' should have contained '$2'" $(_includes "$@")
}
# assert $1 does not contain $2
assertNotIncludes() {
assertFalse "'$1' should not have contained '$2'" $(_includes "$@")
}