view tests/test-check-encoding.t @ 49833:a2356e15200a stable

hghave: add predicates for embedded and filesystem pyoxidizer resources There are a handful of tests with different output between the two flavors of pyoxidizer builds (like the location of the modules and templates), and a few others that avoid `known-bad-output` cases with the embedded resources that shouldn't cause the tests to fail.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 06 Dec 2022 13:02:54 -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