Skip to content

Commit

Permalink
Rename some files to be more cross platform
Browse files Browse the repository at this point in the history
  • Loading branch information
nmarghetti authored and ljharb committed Jan 3, 2021
1 parent 4e9df33 commit 8dad2ee
Show file tree
Hide file tree
Showing 69 changed files with 61 additions and 2 deletions.
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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/**]
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 52 additions & 0 deletions rename_test.sh
Original file line number Diff line number Diff line change
@@ -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 "$@"

0 comments on commit 8dad2ee

Please sign in to comment.