mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
641916270b
Sometimes it is convenient to be able to temporarily disable something in a version-file. Because these files often aren't necessarily tracked in a SCM, especially when working with virtualenvs, the SCM diffs won't help with showing removed lines which are currently the only way to disable something.
84 lines
1.6 KiB
Bash
84 lines
1.6 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load test_helper
|
|
|
|
setup() {
|
|
mkdir -p "${PYENV_TEST_DIR}/myproject"
|
|
cd "${PYENV_TEST_DIR}/myproject"
|
|
}
|
|
|
|
@test "fails without arguments" {
|
|
run pyenv-version-file-read
|
|
assert_failure ""
|
|
}
|
|
|
|
@test "fails for invalid file" {
|
|
run pyenv-version-file-read "non-existent"
|
|
assert_failure ""
|
|
}
|
|
|
|
@test "fails for blank file" {
|
|
echo > my-version
|
|
run pyenv-version-file-read my-version
|
|
assert_failure ""
|
|
}
|
|
|
|
@test "reads simple version file" {
|
|
cat > my-version <<<"3.3.5"
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.3.5"
|
|
}
|
|
|
|
@test "ignores leading spaces" {
|
|
cat > my-version <<<" 3.3.5"
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.3.5"
|
|
}
|
|
|
|
@test "reads only the first word from file" {
|
|
cat > my-version <<<"3.3.5 2.7.6 hi"
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.3.5"
|
|
}
|
|
|
|
@test "loads *not* only the first line in file" {
|
|
cat > my-version <<IN
|
|
2.7.6 one
|
|
3.3.5 two
|
|
IN
|
|
run pyenv-version-file-read my-version
|
|
assert_success "2.7.6:3.3.5"
|
|
}
|
|
|
|
@test "ignores leading blank lines" {
|
|
cat > my-version <<IN
|
|
|
|
3.3.5
|
|
IN
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.3.5"
|
|
}
|
|
|
|
@test "handles the file with no trailing newline" {
|
|
echo -n "2.7.6" > my-version
|
|
run pyenv-version-file-read my-version
|
|
assert_success "2.7.6"
|
|
}
|
|
|
|
@test "ignores carriage returns" {
|
|
cat > my-version <<< $'3.3.5\r'
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.3.5"
|
|
}
|
|
|
|
@test "skips comment lines" {
|
|
cat > my-version <<IN
|
|
3.9.3
|
|
3.8.9
|
|
# 3.4.0
|
|
#3.3.7
|
|
2.7.16
|
|
IN
|
|
run pyenv-version-file-read my-version
|
|
assert_success "3.9.3:3.8.9:2.7.16"
|
|
}
|