Newer
Older
dub_jkp / test / interactive-remove.sh
@Sebastian Wilzbach Sebastian Wilzbach on 31 Jan 2019 1 KB Add dub fetch <package>:<version> shortcut
  1. #!/usr/bin/env bash
  2.  
  3. . $(dirname "${BASH_SOURCE[0]}")/common.sh
  4.  
  5. $DUB fetch dub --version=1.9.0 && [ -d $HOME/.dub/packages/dub-1.9.0/dub ]
  6. $DUB fetch dub --version=1.10.0 && [ -d $HOME/.dub/packages/dub-1.10.0/dub ]
  7. if $DUB remove dub --non-interactive 2>/dev/null; then
  8. die $LINENO 'Non-interactive remove should fail'
  9. fi
  10. echo 1 | $DUB remove dub | tr -d '\n' | grep --ignore-case 'select.*1\.9\.0.*1\.10\.0.*'
  11. if [ -d $HOME/.dub/packages/dub-1.9.0/dub ]; then
  12. die $LINENO 'Failed to remove dub-1.9.0'
  13. fi
  14. $DUB fetch dub --version=1.9.0 && [ -d $HOME/.dub/packages/dub-1.9.0/dub ]
  15. # EOF aborts remove
  16. echo -xn '' | $DUB remove dub
  17. if [ ! -d $HOME/.dub/packages/dub-1.9.0/dub ] || [ ! -d $HOME/.dub/packages/dub-1.10.0/dub ]; then
  18. die $LINENO 'Aborted dub still removed a package'
  19. fi
  20. # validates input
  21. echo -e 'abc\n4\n-1\n3' | $DUB remove dub
  22. if [ -d $HOME/.dub/packages/dub-1.9.0/dub ] || [ -d $HOME/.dub/packages/dub-1.10.0/dub ]; then
  23. die $LINENO 'Failed to remove all version of dub'
  24. fi
  25. $DUB fetch dub --version=1.9.0 && [ -d $HOME/.dub/packages/dub-1.9.0/dub ]
  26. $DUB fetch dub@1.10.0 && [ -d $HOME/.dub/packages/dub-1.10.0/dub ]
  27. # is non-interactive with --version=
  28. $DUB remove dub --version=\*
  29. if [ -d $HOME/.dub/packages/dub-1.9.0/dub ] || [ -d $HOME/.dub/packages/dub-1.10.0/dub ]; then
  30. die $LINENO 'Failed to non-interactively remove specified versions'
  31. fi