mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
ignores carriage returns
This commit is contained in:
parent
d90cb0ec85
commit
ea9214bb2e
2 changed files with 19 additions and 13 deletions
|
@ -8,14 +8,14 @@ VERSION_FILE="$1"
|
||||||
if [ -e "$VERSION_FILE" ]; then
|
if [ -e "$VERSION_FILE" ]; then
|
||||||
# Read the first non-whitespace word from the specified version file.
|
# Read the first non-whitespace word from the specified version file.
|
||||||
# Be careful not to load it whole in case there's something crazy in it.
|
# Be careful not to load it whole in case there's something crazy in it.
|
||||||
|
IFS="${IFS}"$'\r'
|
||||||
words=( $(cut -b 1-1024 "$VERSION_FILE") )
|
words=( $(cut -b 1-1024 "$VERSION_FILE") )
|
||||||
versions=("${words[@]}")
|
versions=("${words[@]}")
|
||||||
|
|
||||||
if [ -n "$versions" ]; then
|
if [ -n "$versions" ]; then
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
{ IFS=:
|
IFS=:
|
||||||
echo "${versions[*]}"
|
echo "${versions[*]}"
|
||||||
}
|
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -24,39 +24,39 @@ setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "reads simple version file" {
|
@test "reads simple version file" {
|
||||||
cat > my-version <<<"3.3.3"
|
cat > my-version <<<"3.3.5"
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "3.3.3"
|
assert_success "3.3.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "ignores leading spaces" {
|
@test "ignores leading spaces" {
|
||||||
cat > my-version <<<" 3.3.3"
|
cat > my-version <<<" 3.3.5"
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "3.3.3"
|
assert_success "3.3.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "reads only the first word from file" {
|
@test "reads only the first word from file" {
|
||||||
cat > my-version <<<"3.3.3-p194@tag 2.7.6 hi"
|
cat > my-version <<<"3.3.5 2.7.6 hi"
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "3.3.3-p194@tag:2.7.6:hi"
|
assert_success "3.3.5:2.7.6:hi"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "loads only the first line in file" {
|
@test "loads only the first line in file" {
|
||||||
cat > my-version <<IN
|
cat > my-version <<IN
|
||||||
2.7.6 one
|
2.7.6 one
|
||||||
3.3.3 two
|
3.3.5 two
|
||||||
IN
|
IN
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "2.7.6:one:3.3.3:two"
|
assert_success "2.7.6:one:3.3.5:two"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "ignores leading blank lines" {
|
@test "ignores leading blank lines" {
|
||||||
cat > my-version <<IN
|
cat > my-version <<IN
|
||||||
|
|
||||||
3.3.3
|
3.3.5
|
||||||
IN
|
IN
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "3.3.3"
|
assert_success "3.3.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "handles the file with no trailing newline" {
|
@test "handles the file with no trailing newline" {
|
||||||
|
@ -64,3 +64,9 @@ IN
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "2.7.6"
|
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"
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue