Describe 'contrib scripts'
    no_db_dir() {
        # Return 0 if database directory is empty (or doesn't exist)
        # shellcheck disable=2012
        count=$(ls -1 "$CPT_ROOT/var/db/cpt/installed" 2>/dev/null | wc -l)
        [ "$count" -eq 0 ]
    }
    Skip if "there are no installed packages" no_db_dir

    for firstpkg in "$CPT_ROOT/var/db/cpt/installed/"*; do
        firstpkg=${firstpkg##*/}; break
    done

    Describe 'cpt-cat'
        It 'outputs the file contents in the given package directory'
            When run script ./contrib/cpt-cat "$firstpkg"
            The stdout should not eq ""
            The line 1 of stderr should eq "$(printf '\033[1mbuild:\033[m\n')"
        End
        It "uses the current directory for the package name if none is supplied (${PWD##*/})"
            When run script ./contrib/cpt-cat
            The stdout should not eq ""
            The line 1 of stderr should eq "$(printf '\033[1mbuild:\033[m\n')"
        End
        It "exits with error if the package isn't installed"
            When run script ./contrib/cpt-cat somerandompackage
            The stderr should eq "-> somerandompackage not installed"
            The status should be failure
        End
        It "prints usage information when called with --help"
            When run script ./contrib/cpt-cat --help
            The word 1 of stdout should eq "usage:"
            The status should be success
        End
        Parameters
            build
            checksums
            manifest
            version
        End
        It "outputs the given file contents in the given package directory ($1)"
            When run script ./contrib/cpt-cat "$firstpkg" "$1"
            The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/$firstpkg/$1")"
            The stderr should eq "$(printf '\033[1m%s:\033[m\n' "$1")"
        End
        It "outputs the given file contents for the name of the current directory (${PWD##*/} - $1)"
            When run script ./contrib/cpt-cat "" "$1"
            The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/${PWD##*/}/$1")"
            The stderr should eq "$(printf '\033[1m%s:\033[m\n' "$1")"
        End
    End
    Describe 'cpt-depends'
        It "outputs the dependencies of the given package"
            When run script ./contrib/cpt-depends "$firstpkg"
            The status should be success
        End
        It "uses the current directory for the package name if none is supplied (${PWD##*/})"
            When run script ./contrib/cpt-depends
            The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/${PWD##*/}/depends" 2>/dev/null ||:)"
            The status should be success
        End
        It "prints usage information when called with --help"
            When run script ./contrib/cpt-depends --help
            The word 1 of stdout should eq usage:
        End
    End
End