##// END OF EJS Templates
pycompat: custom implementation of urllib.parse.quote()...
pycompat: custom implementation of urllib.parse.quote() urllib.parse.quote() accepts either str or bytes and returns str. There exists a urllib.parse.quote_from_bytes() which only accepts bytes. We should probably use that to retain strong typing and avoid surprises. In addition, since nearly all strings in Mercurial are bytes, we probably don't want quote() returning unicode. So, this patch implements a custom quote() that only accepts bytes and returns bytes. The quoted URL should only contain URL safe characters which is a strict subset of ASCII. So `.encode('ascii', 'strict')` should be safe.

File last commit:

r29485:6a98f940 default
r31400:fb1f7033 default
Show More
heredoctest.py
20 lines | 526 B | text/x-python | PythonLexer
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 from __future__ import absolute_import, print_function
Gregory Szorc
tests: use absolute_import for heredoctest.py
r27297
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 import sys
Idan Kamara
tests: remove temp doctest file when finished running it
r15247
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 globalvars = {}
lines = sys.stdin.readlines()
while lines:
l = lines.pop(0)
if l.startswith('SALT'):
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 print(l[:-1])
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 elif l.startswith('>>> '):
snippet = l[4:]
while lines and lines[0].startswith('... '):
l = lines.pop(0)
Yuya Nishihara
heredoctest: do not append extra newline character to continuation line...
r22565 snippet += l[4:]
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 c = compile(snippet, '<heredoc>', 'single')
try:
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 exec(c, globalvars)
except Exception as inst:
print(repr(inst))