mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-26 04:10:36 +08:00 
			
		
		
		
	[meta] Rename some files to be more cross platform
This commit is contained in:
		
				
					committed by
					
						 Jordan Harband
						Jordan Harband
					
				
			
			
				
	
			
			
			
						parent
						
							4e9df33cb7
						
					
				
				
					commit
					9849bf494d
				
			| @@ -12,10 +12,10 @@ trim_trailing_whitespace = true | ||||
| [*.txt] | ||||
| indent_size = false | ||||
|  | ||||
| [test/fast/Listing versions/Running "nvm ls" calls into nvm_alias] | ||||
| [test/fast/Listing versions/Running 'nvm ls' calls into nvm_alias] | ||||
| indent_size = false | ||||
|  | ||||
| [test/fast/Listing versions/Running "nvm ls --no-alias" does not call into nvm_alias] | ||||
| [test/fast/Listing versions/Running 'nvm ls --no-alias' does not call into nvm_alias] | ||||
| indent_size = false | ||||
|  | ||||
| [test/fast/Unit tests/mocks/**] | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @@ -36,3 +36,10 @@ jobs: | ||||
|             cp README.md README.md.orig | ||||
|             npm run doctoc | ||||
|             diff -q README.md README.md.orig | ||||
|  | ||||
|   test_naming: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v2 | ||||
|       - name: check tests filenames | ||||
|         run: ./rename_test.sh --check | ||||
|   | ||||
							
								
								
									
										52
									
								
								rename_test.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								rename_test.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| #! /usr/bin/env bash | ||||
|  | ||||
| find_name(){ | ||||
|   find test -name "*[\\/:\*\?\"<>\|]*" -o -name "*." | ||||
| } | ||||
|  | ||||
| check_name() { | ||||
|   if [ "$(find_name | wc -l)" != "0" ]; then | ||||
|     printf '%s\n\n' "The following filenames contain unwanted characters:" | ||||
|     find_name | ||||
|     printf '\n%s\n%s\n' "Please run ./rename_test.sh" "If the problem persist, please open an issue." | ||||
|     exit 1 | ||||
|   else | ||||
|     echo "Ok" | ||||
|   fi | ||||
| } | ||||
|  | ||||
| rename_test() { | ||||
|   local filename | ||||
|   local new_filename | ||||
|   while read -r filename; do | ||||
|     # Even though it looks < and > are replaced by the same < and >, the latters are not ASCII code | ||||
|     # If you check with 'cat -v rename_test.sh' you would see 's/</M-KM-^B/g' and 's/>/M-KM-^C/g' | ||||
|     # M-KM-^B -> U+02C2 | ||||
|     # M-KM-^C -> U+02C3 | ||||
|     new_filename=$(echo "$filename" | sed -r \ | ||||
|       -e "s/\"/'/g" \ | ||||
|       -e 's/</˂/g' \ | ||||
|       -e 's/>/˃/g' \ | ||||
|       -e 's/^(.*)\.$/\1/' | ||||
|       ) | ||||
|     printf '%s\n%s\n\n' "$filename" "$new_filename" | ||||
|     [ "$filename" != "$new_filename" ] && git mv "$filename" "$new_filename" | ||||
|   done < <(find_name) | ||||
|  | ||||
|   if [ "$(find_name | wc -l)" != "0" ]; then | ||||
|     echo "Still some files to treat:" | ||||
|     find_name | ||||
|   else | ||||
|     echo "Done" | ||||
|   fi | ||||
| } | ||||
|  | ||||
| main() { | ||||
|   if [ "$1" = "--check" ]; then | ||||
|     check_name | ||||
|   else | ||||
|     rename_test | ||||
|   fi | ||||
| } | ||||
|  | ||||
| main "$@" | ||||
		Reference in New Issue
	
	Block a user