52 lines
1.3 KiB
Bash
Executable file
52 lines
1.3 KiB
Bash
Executable file
#! /bin/bash
|
|
|
|
testIsint() {
|
|
assertEquals 'true' $(isint 1)
|
|
assertEquals 'true' $(isint -1)
|
|
assertEquals 'false' $(isint a)
|
|
assertEquals 'false' $(isint "")
|
|
assertEquals '1 2 3 4 5' "$(list 1 a 2 b 3 c 4 d 5 e | filter lambda x . 'isint $x' | unlist )"
|
|
assertEquals '1 2' "$(list 1 a 2 b 3 c 4 d 5 e | filter lambda x . '($(isint $x) && [[ $x -le 2 ]] && ret true) || ret false ' | unlist )"
|
|
|
|
assertEquals 'false' $(not "isint 1")
|
|
assertEquals 'true' $(not "isint a")
|
|
}
|
|
|
|
testIsempty() {
|
|
assertEquals 'true' $(isempty "")
|
|
assertEquals 'false' $(isempty a)
|
|
|
|
assertEquals 'true' $(not "isempty a")
|
|
assertEquals 'false' $(not "isempty \"\"")
|
|
}
|
|
|
|
testIsfile() {
|
|
f=$(mktemp)
|
|
|
|
assertEquals 'true' $(isfile $f)
|
|
assertEquals 'false' $(isfile $f.xxx)
|
|
assertEquals 'false' $(isfile "")
|
|
assertEquals 'true' $(not "isfile $f.xxx")
|
|
|
|
assertEquals 'false' $(isnonzerofile $f)
|
|
echo hello world >$f
|
|
assertEquals 'true' $(isnonzerofile $f)
|
|
|
|
assertEquals 'true' $(iswritable $f)
|
|
chmod 400 $f
|
|
assertEquals 'false' $(iswritable $f)
|
|
|
|
assertEquals 'true' $(isreadable $f)
|
|
chmod 200 $f
|
|
assertEquals 'false' $(isreadable $f)
|
|
|
|
chmod 600 $f
|
|
rm $f
|
|
}
|
|
|
|
testIsdir() {
|
|
assertEquals 'true' $(isdir .)
|
|
assertEquals 'false' $(isdir sir_not_appearing_in_this_film)
|
|
}
|
|
|
|
. ./shunit2-init.sh
|