You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.5 KiB
						
					
					
				| #!/bin/sh | |
|  | |
| cleanup () { | |
|   rm -rf "$npm_config_prefix/lib" >/dev/null 2>&1 | |
|   unset npm_config_prefix | |
|  | |
|   rm -f npm | |
|   PATH="$ORIGINAL_PATH" | |
|  | |
|   unset -f setup cleanup die | |
|   unset message ORIGINAL_PATH | |
| } | |
| die () { echo "$@" ; cleanup ; exit 1; } | |
|  | |
| NVM_ENV=testing \. ../../install.sh | |
|  | |
| setup () { | |
|   ORIGINAL_PATH="$PATH" | |
|  | |
|   npm_config_prefix="$(pwd)" | |
|   export npm_config_prefix | |
|   mkdir -p "$npm_config_prefix/lib" | |
| } | |
|  | |
|  | |
| setup | |
|  | |
| npm install -g nop >/dev/null || die 'nvm_check_global_modules cannot be tested because `npm` cannot install the `nop` package' | |
| message=$(nvm_check_global_modules) | |
| [ ! -z "$message" ] || die "nvm_check_global_modules should have printed a notice when npm had global modules installed" | |
|  | |
| npm uninstall -g nop >/dev/null | |
| message=$(nvm_check_global_modules) | |
| [ -z "$message" ] || die "nvm_check_global_modules should not have printed a notice when npm had no global modules installed" | |
|  | |
| # Faking an installation of npm | |
| mkdir -p "$npm_config_prefix/lib/node_modules/npm" | |
| cat <<'JSON' >"$npm_config_prefix/lib/node_modules/npm/package.json" | |
| { "name": "npm", "version": "0.0.1fake" } | |
| JSON | |
|  | |
| message=$(nvm_check_global_modules) | |
| [ -z "$message" ] || die "nvm_check_global_modules should have not printed a notice when npm had only itself installed as a global module" | |
|  | |
| # Faking the absence of npm | |
| PATH=".:$PATH" | |
| touch npm | |
| chmod +x npm | |
|  | |
| message=$(nvm_check_global_modules) | |
| [ -z "$message" ] || die "nvm_check_global_modules should have not printed a notice when npm was unavailable" | |
|  | |
|  | |
| cleanup
 | |
| 
 |