2023-07-04 13:56:32 +00:00
|
|
|
# shellcheck shell=bats
|
2022-11-29 12:54:13 +00:00
|
|
|
#
|
2023-06-13 08:11:49 +00:00
|
|
|
# Copyright © 2023 Red Hat, Inc.
|
2022-11-29 12:54:13 +00:00
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
load 'libs/bats-support/load'
|
|
|
|
load 'libs/bats-assert/load'
|
|
|
|
load 'libs/helpers'
|
|
|
|
|
|
|
|
setup() {
|
2023-06-13 08:11:49 +00:00
|
|
|
bats_require_minimum_version 1.7.0
|
2022-11-17 09:53:35 +00:00
|
|
|
_setup_environment
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Smoke test with 'bash'" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run "$TOOLBOX" completion bash
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_success
|
|
|
|
assert [ ${#lines[@]} -gt 0 ]
|
2023-07-04 13:48:37 +00:00
|
|
|
|
|
|
|
# shellcheck disable=SC2154
|
2022-11-17 09:53:35 +00:00
|
|
|
assert [ ${#stderr_lines[@]} -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Smoke test with 'fish'" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run "$TOOLBOX" completion fish
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_success
|
|
|
|
assert [ ${#lines[@]} -gt 0 ]
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Smoke test with 'zsh'" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run "$TOOLBOX" completion zsh
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_success
|
|
|
|
assert [ ${#lines[@]} -gt 0 ]
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Try without any arguments" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run --separate-stderr "$TOOLBOX" completion
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_failure
|
|
|
|
assert [ ${#lines[@]} -eq 0 ]
|
|
|
|
lines=("${stderr_lines[@]}")
|
|
|
|
assert_line --index 0 "Error: accepts 1 arg(s), received 0"
|
|
|
|
assert_line --index 1 "Run 'toolbox --help' for usage."
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 2 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Try with invalid arguments" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run --separate-stderr "$TOOLBOX" completion foo
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_failure
|
|
|
|
assert [ ${#lines[@]} -eq 0 ]
|
|
|
|
lines=("${stderr_lines[@]}")
|
|
|
|
assert_line --index 0 "Error: invalid argument \"foo\" for \"toolbox completion\""
|
|
|
|
assert_line --index 1 "Run 'toolbox --help' for usage."
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 2 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Try with unknown flag" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run --separate-stderr "$TOOLBOX" completion --foo
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_failure
|
|
|
|
assert [ ${#lines[@]} -eq 0 ]
|
|
|
|
lines=("${stderr_lines[@]}")
|
|
|
|
assert_line --index 0 "Error: unknown flag: --foo"
|
|
|
|
assert_line --index 1 "Run 'toolbox --help' for usage."
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 2 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "completion: Try with unsupported shell" {
|
2023-07-04 13:42:57 +00:00
|
|
|
run --separate-stderr "$TOOLBOX" completion powershell
|
2022-11-17 09:53:35 +00:00
|
|
|
|
|
|
|
assert_failure
|
|
|
|
assert [ ${#lines[@]} -eq 0 ]
|
|
|
|
lines=("${stderr_lines[@]}")
|
|
|
|
assert_line --index 0 "Error: invalid argument \"powershell\" for \"toolbox completion\""
|
|
|
|
assert_line --index 1 "Run 'toolbox --help' for usage."
|
|
|
|
assert [ ${#stderr_lines[@]} -eq 2 ]
|
|
|
|
}
|