Skip to content

Commit

Permalink
Fix ShellCheck errors
Browse files Browse the repository at this point in the history
  • Loading branch information
arturoherrero committed Apr 30, 2016
1 parent 9fb22bd commit 428bd99
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 41 deletions.
3 changes: 3 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
engines:
shellcheck:
enabled: true
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# gvar

[![Code Climate](https://codeclimate.com/github/arturoherrero/gvar/badges/gpa.svg)](https://codeclimate.com/github/arturoherrero/gvar)
[![Build Status](https://travis-ci.org/arturoherrero/gvar.svg?branch=master)](https://travis-ci.org/arturoherrero/gvar)

`gvar` - display, set, or remove global variables.
Expand Down
4 changes: 2 additions & 2 deletions bin/gvar
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash

script_path=$(cd $(dirname $0); pwd -P )
script_path=$(cd "$(dirname "$0")" || return; pwd -P)

$script_path/../libexec/gvar.sh "$@"
"$script_path"/../libexec/gvar.sh "$@"
22 changes: 11 additions & 11 deletions libexec/gvar.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
VERSION=0.1.0
FILE=$HOME/.gvar

test -e $FILE || touch $FILE
test -e "$FILE" || touch "$FILE"

version() {
echo "gvar version $VERSION"
Expand All @@ -15,15 +15,15 @@ help() {
}

get_variable() {
cat $FILE | grep -w $1 | cut -d'=' -f2
< "$FILE" grep -w "$1" | cut -d'=' -f2
}

set_variable() {
echo $1=$2 >> $FILE
echo "$1"="$2" >> "$FILE"
}

remove_variable() {
sed -i.bak "/^$1=/d" $FILE
sed -i.bak "/^$1=/d" "$FILE"
}

for option in "$@"; do
Expand All @@ -38,31 +38,31 @@ for option in "$@"; do
;;
-u)
variable="$2"
remove_variable $variable
remove_variable "$variable"
exit 0
;;
--unset=*)
variable="${option#*=}"
remove_variable $variable
remove_variable "$variable"
exit 0
;;
-d | --delete-environment)
echo -n > $FILE
echo -n > "$FILE"
;;
*=*)
variable="${option%=*}"
value="${option#*=}"
remove_variable $variable
set_variable $variable $value
remove_variable "$variable"
set_variable "$variable" "$value"
;;
*)
variable="$1"
get_variable $variable
get_variable "$variable"
exit 0
;;
esac
done

if [[ $# == 0 ]]; then
cat $FILE
cat "$FILE"
fi
56 changes: 28 additions & 28 deletions test/gvar.bats
Original file line number Diff line number Diff line change
Expand Up @@ -4,96 +4,96 @@ gvar="${BATS_TEST_DIRNAME}/../libexec/gvar.sh"
FILE=$HOME/.gvar

setup() {
test -e $FILE || touch $FILE
mv $FILE $FILE.copy
echo OTHER=other > $FILE
echo TEST=test >> $FILE
echo TESTING=abc >> $FILE
test -e "$FILE" || touch "$FILE"
mv "$FILE" "$FILE".copy
echo OTHER=other > "$FILE"
echo TEST=test >> "$FILE"
echo TESTING=abc >> "$FILE"
}

@test "invoking gvar prints the names and values of the global variables" {
run $gvar
run "$gvar"
[ "$status" -eq 0 ]
[ "$output" = "$(printf 'OTHER=other\nTEST=test\nTESTING=abc\n')" ]
}

@test "invoking gvar VARIABLE prints the value of the global variable" {
run $gvar TEST
run "$gvar" TEST
[ "$status" -eq 0 ]
[ "$output" = "test" ]
}

@test "invoking gvar VARIABLE OTHER prints the value of the first global variable" {
run $gvar TEST OTHER
run "$gvar" TEST OTHER
[ "$status" -eq 0 ]
[ "$output" = "test" ]
}

@test "invoking gvar -u VARIABLE removes the global variable" {
run $gvar -u TEST
run "$gvar" -u TEST
[ "$status" -eq 0 ]
run $gvar
run "$gvar"
[ "$output" = "$(printf 'OTHER=other\nTESTING=abc\n')" ]
}

@test "invoking gvar -u VARIABLE OTHER removes the first global variable" {
run $gvar -u TEST OTHER
run "$gvar" -u TEST OTHER
[ "$status" -eq 0 ]
run $gvar
run "$gvar"
[ "$output" = "$(printf 'OTHER=other\nTESTING=abc\n')" ]
}

@test "invoking gvar --unset=VARIABLE removes the global variable" {
run $gvar --unset=TEST
run "$gvar" --unset=TEST
[ "$status" -eq 0 ]
run $gvar
run "$gvar"
[ "$output" = "$(printf 'OTHER=other\nTESTING=abc\n')" ]
}

@test "invoking gvar VARIABLE=VALUE adds the global variable" {
run $gvar NAME=arturo
run "$gvar" NAME=arturo
[ "$status" -eq 0 ]
run $gvar NAME
run "$gvar" NAME
[ "$output" = "arturo" ]
}

@test "invoking gvar VARIABLE=VALUE VARIABLE=VALUE adds every global variable of the list" {
run $gvar NAME=arturo SURNAME=herrero
run "$gvar" NAME=arturo SURNAME=herrero
[ "$status" -eq 0 ]
run $gvar NAME
run "$gvar" NAME
[ "$output" = "arturo" ]
run $gvar SURNAME
run "$gvar" SURNAME
[ "$output" = "herrero" ]
}

@test "invoking gvar VARIABLE= adds an empty global variable" {
run $gvar EMPTY=
run "$gvar" EMPTY=
[ "$status" -eq 0 ]
run $gvar EMPTY
run "$gvar" EMPTY
[ "$output" = "$(printf '\n')" ]
}

@test "invoking gvar VARIABLE=VALUE for an existing variable, updates the global variable" {
run $gvar TEST=updated
run "$gvar" TEST=updated
[ "$status" -eq 0 ]
run $gvar TEST
run "$gvar" TEST
[ "$output" = "updated" ]
}

@test "invoking gvar -d deletes all the global variables" {
run $gvar -d
run "$gvar" -d
[ "$status" -eq 0 ]
run $gvar
run "$gvar"
[ "$output" = "" ]
}

@test "invoking gvar --delete-environment deletes all the global variables" {
run $gvar --delete-environment
run "$gvar" --delete-environment
[ "$status" -eq 0 ]
run $gvar
run "$gvar"
[ "$output" = "" ]
}

teardown() {
mv $FILE.copy $FILE
mv "$FILE".copy "$FILE"
}

0 comments on commit 428bd99

Please sign in to comment.