Mercurial > hg-stable
changeset 49221:237855525f64
tests: make sure .js files stay in ASCII encoding (issue6559)
Differential Revision: https://phab.mercurial-scm.org/D12620
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 02 May 2022 16:27:14 +0400 |
parents | a17ffde1e71b |
children | 4ff4e23de7df |
files | tests/test-check-encoding.t |
diffstat | 1 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-check-encoding.t Mon May 02 16:27:14 2022 +0400 @@ -0,0 +1,26 @@ +#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