view tests/test-check-encoding.t @ 49742:30eb36d93072

path: use `get_clone_path_obj` in _getlocal We don't need to feed the `path` object to a `peer` object, but using an higher level function is simpler here (e.g. no subscript access, explicit attribute access).
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 02 Dec 2022 16:36:43 +0100
parents 237855525f64
children
line wrap: on
line source

#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