##// 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:

r30559:d83ca854 default
r31400:fb1f7033 default
Show More
test-ui-verbosity.py
51 lines | 1.4 KiB | text/x-python | PythonLexer
/ tests / test-ui-verbosity.py
Pulkit Goyal
py3: make test-ui-verbosity use absolute_import
r28679 from __future__ import absolute_import, print_function
Pulkit Goyal
py3: make test-ui-verbosity use print_function
r28678
Martin Geisler
tests: renamed Python tests to .py
r8449 import os
Yuya Nishihara
tests: alias ui as uimod in test-revlog-ancestry/test-ui-verbosity
r28842 from mercurial import (
ui as uimod,
)
Martin Geisler
tests: renamed Python tests to .py
r8449
hgrc = os.environ['HGRCPATH']
f = open(hgrc)
basehgrc = f.read()
f.close()
Pulkit Goyal
py3: make test-ui-verbosity use print_function
r28678 print(' hgrc settings command line options final result ')
print(' quiet verbo debug quiet verbo debug quiet verbo debug')
Martin Geisler
tests: renamed Python tests to .py
r8449
for i in xrange(64):
hgrc_quiet = bool(i & 1<<0)
hgrc_verbose = bool(i & 1<<1)
hgrc_debug = bool(i & 1<<2)
cmd_quiet = bool(i & 1<<3)
cmd_verbose = bool(i & 1<<4)
cmd_debug = bool(i & 1<<5)
f = open(hgrc, 'w')
f.write(basehgrc)
f.write('\n[ui]\n')
if hgrc_quiet:
f.write('quiet = True\n')
if hgrc_verbose:
f.write('verbose = True\n')
if hgrc_debug:
f.write('debug = True\n')
f.close()
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Martin Geisler
tests: renamed Python tests to .py
r8449 if cmd_quiet or cmd_debug or cmd_verbose:
u.setconfig('ui', 'quiet', str(bool(cmd_quiet)))
u.setconfig('ui', 'verbose', str(bool(cmd_verbose)))
u.setconfig('ui', 'debug', str(bool(cmd_debug)))
check = ''
if u.debugflag:
if not u.verbose or u.quiet:
check = ' *'
elif u.verbose and u.quiet:
check = ' +'
Pulkit Goyal
py3: make test-ui-verbosity use print_function
r28678 print(('%2d %5s %5s %5s %5s %5s %5s -> %5s %5s %5s%s'
Martin Geisler
tests: renamed Python tests to .py
r8449 % (i, hgrc_quiet, hgrc_verbose, hgrc_debug,
cmd_quiet, cmd_verbose, cmd_debug,
Pulkit Goyal
py3: make test-ui-verbosity use print_function
r28678 u.quiet, u.verbose, u.debugflag, check)))