annotate tests/test-check-encoding.t @ 50329:3dbc7b1ecaba stable

typing: correct the signature of error.CommandError There's a place in `mercurial.dispatch._parse()` that passes None if a parse error happens before the command can be parsed out, and casting the error to bytes works fine because the command and message fields are apparently ignored. Likewise, TortoiseHg similarly passes None for the same reason.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 24 Mar 2023 02:22:12 -0400
parents 237855525f64
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49189
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
1 #require test-repo hg10
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
2
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
3 $ . "$TESTDIR/helpers-testrepo.sh"
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
4
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
5 $ cat > $TESTTMP/check_ascii.py <<EOF
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
6 > import sys
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
7 > for file_path in sys.argv[1:]:
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
8 > with open(file_path, 'br') as f:
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
9 > try:
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
10 > f.read().decode('ascii', 'strict')
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
11 > except UnicodeDecodeError as exc:
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
12 > print('%s: %s' % (file_path, exc))
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
13 > EOF
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
14
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
15 There are some web servers in the wild that can serve static files with an
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
16 incorrect encoding (e.g. https://bz.mercurial-scm.org/show_bug.cgi?id=6559).
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
17 One way to prevent any issues is to not use any non-ASCII characters, e.g.
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
18 URL-encoding them or using HTML entities.
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
19
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
20 check charset of all tracked files ending in .js
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
21
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
22 $ cd "`dirname "$TESTDIR"`"
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
23
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
24 $ testrepohg locate 'set:**.js' \
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
25 > 2>/dev/null \
237855525f64 tests: make sure .js files stay in ASCII encoding (issue6559)
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
26 > | xargs "$PYTHON" $TESTTMP/check_ascii.py