##// END OF EJS Templates
tests: make sure .js files stay in ASCII encoding (issue6559)...
tests: make sure .js files stay in ASCII encoding (issue6559) Differential Revision: https://phab.mercurial-scm.org/D12620

File last commit:

r50084:23785552 default
r50084:23785552 default
Show More
test-check-encoding.t
26 lines | 819 B | text/troff | Tads3Lexer
/ tests / test-check-encoding.t
#require test-repo hg10
$ . "$TESTDIR/helpers-testrepo.sh"
$ cat > $TESTTMP/check_ascii.py <<EOF
> import sys
> for file_path in sys.argv[1:]:
> with open(file_path, 'br') as f:
> try:
> f.read().decode('ascii', 'strict')
> except UnicodeDecodeError as exc:
> print('%s: %s' % (file_path, exc))
> EOF
There are some web servers in the wild that can serve static files with an
incorrect encoding (e.g. https://bz.mercurial-scm.org/show_bug.cgi?id=6559).
One way to prevent any issues is to not use any non-ASCII characters, e.g.
URL-encoding them or using HTML entities.
check charset of all tracked files ending in .js
$ cd "`dirname "$TESTDIR"`"
$ testrepohg locate 'set:**.js' \
> 2>/dev/null \
> | xargs "$PYTHON" $TESTTMP/check_ascii.py