view tests/test-check-encoding.t @ 52274:6aa4ee2bb128 stable

contrib: add a script to build all of the wheels on macOS This is mostly a translation of `contrib/packaging/build-windows-wheels.bat`, except the default pythons to build can be inferred from `setup.py` and/or `pyproject.toml`, and all use the same configuration. All we need to do is force the building of translation files, tell it to skip pypy wheels, and tell it to build universal2 wheels instead of for the current architecture.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 15 Nov 2024 21:52:31 -0500
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