tests/test-check-encoding.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 19 Jun 2023 18:15:35 +0200
changeset 50711 40638610c6ee
parent 49221 237855525f64
permissions -rw-r--r--
clonebundles: adds a auto-generate.serve-inline option This new option disable the "external" serving of auto generated bundle in favor of using the new "inline bundle" feature that allow serving such bundle through the mercurial protocol. This is a less efficient, but very easy to setup way to start using clone bundle.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49221
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