]> Sergey Matveev's repositories - zsh-autoenv.git/blobdiff - tests/autoenv.t
Do not reset the stack variables when (re)sourcing the plugin
[zsh-autoenv.git] / tests / autoenv.t
index d58f9c90a92e7a93881a31b1da08e38917dea93c..35cd9631c16680354c6f8078da5d2df291a06cf0 100644 (file)
@@ -1,77 +1,95 @@
-Ensure we have our mocked out ENV_AUTHORIZATION_FILE
-
-  $ [[ $ENV_AUTHORIZATION_FILE[0,4] == '/tmp' ]] || return 1
+  $ source $TESTDIR/setup.sh || return 1
 
 Lets set a simple .env action
 
-  $ echo 'echo blah' >> .env
+  $ echo 'echo ENTERED' > .env
 
 Manually create auth file
 
-  $ echo "$PWD/.env:$(echo echo blah | shasum)" > $ENV_AUTHORIZATION_FILE
+  $ test_autoenv_add_to_env $PWD/.env
   $ cd .
-  blah
+  ENTERED
 
 Now try to make it accept it
 
-  $ rm $ENV_AUTHORIZATION_FILE
-  $ _dotenv_read_answer() { answer='y' }
+  $ _autoenv_stack_entered=()
+  $ rm $AUTOENV_ENV_FILENAME
+  $ _autoenv_ask_for_yes() { echo "yes" }
   $ cd .
-  Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+  Attempting to load unauthorized env file!
+  -* /tmp/cramtests-*/autoenv.t/.env (glob)
+  
   **********************************************
-
-  echo blah
-
+  
+  echo ENTERED
+  
   **********************************************
+  
+  Would you like to authorize it? (type 'yes') yes
+  ENTERED
 
-  Would you like to authorize it? (y/n)
-  blah
 
-The last "blah" is because it executed the command
+The last "ENTERED" is because it executed the command.
 
-Now lets see that it actually checks the shasum value
+Now lets see that it actually checks the shasum value.
 
+  $ _autoenv_stack_entered=()
   $ cd .
-  blah
-  $ rm $ENV_AUTHORIZATION_FILE
-  $ echo "$PWD/.env:$(echo mischief | shasum)" > $ENV_AUTHORIZATION_FILE
-  $ cd .
-  Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
+  ENTERED
 
+  $ _autoenv_stack_entered=()
+  $ rm $AUTOENV_ENV_FILENAME
+  $ test_autoenv_add_to_env $PWD/.env mischief
+  $ cd .
+  Attempting to load unauthorized env file!
+  -* /tmp/cramtests-*/autoenv.t/.env (glob)
+  
   **********************************************
-
-  echo blah
-
+  
+  echo ENTERED
+  
   **********************************************
+  
+  Would you like to authorize it? (type 'yes') yes
+  ENTERED
 
-  Would you like to authorize it? (y/n)
-  blah
 
 Now, will it take no for an answer?
 
-  $ rm $ENV_AUTHORIZATION_FILE
-  $ _dotenv_read_answer() { answer='n' }
+  $ _autoenv_stack_entered=()
+  $ rm $AUTOENV_ENV_FILENAME
+  $ _autoenv_ask_for_yes() { echo "no"; return 1 }
   $ cd .
-  Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+  Attempting to load unauthorized env file!
+  -* /tmp/cramtests-*/autoenv.t/.env (glob)
+  
   **********************************************
-
-  echo blah
-
+  
+  echo ENTERED
+  
   **********************************************
+  
+  Would you like to authorize it? (type 'yes') no
 
-  Would you like to authorize it? (y/n)
 
-Lets also try one more time to ensure it didnt add it
+Lets also try one more time to ensure it didn't add it.
 
+  $ _autoenv_ask_for_yes() { echo "yes"; return 0 }
   $ cd .
-  Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+  Attempting to load unauthorized env file!
+  -* /tmp/cramtests-*/autoenv.t/.env (glob)
+  
   **********************************************
-
-  echo blah
-
+  
+  echo ENTERED
+  
   **********************************************
+  
+  Would you like to authorize it? (type 'yes') yes
+  ENTERED
 
-  Would you like to authorize it? (y/n)
+Reloading the script should keep the current state, e.g. when reloading your
+~/.zshrc.
+
+  $ source $TEST_AUTOENV_PLUGIN_FILE
+  $ cd .