mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| FILE="$NVM_DIR/default-packages"
 | |
| 
 | |
| die () { echo "$@" ; cleanup ; exit 1; }
 | |
| setup () {
 | |
|   if [ -f $FILE ]; then
 | |
|     ORIG_DEFAULT_PACKAGES=$(cat $FILE)
 | |
|     mkdir ./tmp/ ||:
 | |
|     mv $FILE ./tmp/default-packages ||:
 | |
|   fi
 | |
|   touch $FILE
 | |
| }
 | |
| cleanup () {
 | |
|   rm -rf "$(nvm_version_path v6.10.1)" $FILE
 | |
|   if [ "$ORIG_DEFAULT_PACKAGES" != "" ]; then
 | |
|     rm -rf ./tmp/
 | |
|     echo "$ORIG_DEFAULT_PACKAGES" > $FILE
 | |
|   fi
 | |
| }
 | |
| 
 | |
| setup
 | |
| 
 | |
| \. ../../../nvm.sh
 | |
| 
 | |
| cat > $FILE << EOF
 | |
| rimraf
 | |
| object-inspect@1.0.2
 | |
| 
 | |
| # commented-package
 | |
| 
 | |
| stevemao/left-pad
 | |
| EOF
 | |
| 
 | |
| nvm install v6.10.1 2>&1
 | |
| EXIT_CODE=$?
 | |
| [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
 | |
| 
 | |
| nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'
 | |
| if [ -z "$?" ]; then
 | |
|   die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to exit with 0, got $?"
 | |
| fi
 | |
| 
 | |
| cleanup
 | |
| 
 | |
| setup
 | |
| 
 | |
| \. ../../../nvm.sh
 | |
| 
 | |
| cat > $FILE << EOF
 | |
| rimraf
 | |
| object-inspect@1.0.2
 | |
| 
 | |
| # commented-package
 | |
| 
 | |
| stevemao/left-pad
 | |
| EOF
 | |
| 
 | |
| nvm install v6.10.1 --skip-default-packages 2>&1
 | |
| EXIT_CODE=$?
 | |
| [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
 | |
| 
 | |
| if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'; then
 | |
|   die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to be empty"
 | |
| fi
 | |
| 
 | |
| cleanup
 | |
| 
 | |
| setup
 | |
| 
 | |
| cat > $FILE << EOF
 | |
| not~a~package~name
 | |
| EOF
 | |
| 
 | |
| nvm install v6.10.1
 | |
| EXIT_CODE=$?
 | |
| [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
 | |
| 
 | |
| if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'; then
 | |
|   die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'' to exit with 1, got $?"
 | |
| fi
 | |
| 
 | |
| cleanup
 | |
| 
 | |
| setup
 | |
| 
 | |
| cat > $FILE << EOF
 | |
| object-inspect @ 1.0.2
 | |
| EOF
 | |
| 
 | |
| nvm install v6.10.1 2>&1
 | |
| EXIT_CODE=$?
 | |
| [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm install v6.10.1' to exit with 1, got $EXIT_CODE"
 | |
| 
 | |
| if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
 | |
|   die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
 | |
| fi
 | |
| 
 | |
| cleanup
 | |
| 
 | |
| setup
 | |
| 
 | |
| rm -rf $FILE
 | |
| 
 | |
| nvm install v6.10.1 2>&1
 | |
| EXIT_CODE=$?
 | |
| [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
 | |
| 
 | |
| if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
 | |
|   die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
 | |
| fi
 | |
| 
 | |
| touch $FILE
 | |
| 
 | |
| cleanup
 |