summaryrefslogtreecommitdiff
path: root/packages/assert.source.sh
blob: c3ad0a6a66ba8788f14e3df24387102b5ec1e691 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Unit test for whether 2 given strings equal.
assert::equals () {
    local -r result="$1"; shift
    local -r expected="$1"; shift
    local -r callee=${FUNCNAME[1]}

    if [[ "$result" != "$expected" ]]; then
        cat <<ERROR | log::pipe ERROR
In $callee expected
    '$expected'
But got
    '$result'
ERROR
        exit 2
    fi

    log VERBOSE "Result in $callee as expected: '$expected'"
}

# Unit test for whether a given string is not empty.
assert::not_empty () {
    local -r name="$1"; shift
    local -r content="$1"; shift
    local -r callee=${FUNCNAME[1]}

    if [ -z "$content" ]; then
        log ERROR "In $callee expected '$name' not to be empty!"
        exit 2
    fi

    log VERBOSE "Result in $callee as expected not empty"
}