py3: work around bytes/unicode divergence in parsedate()

This commit is contained in:
Yuya Nishihara 2017-09-27 19:27:41 +09:00
parent e00ce9d712
commit e9abfd594c
2 changed files with 10 additions and 8 deletions

View File

@ -2056,12 +2056,12 @@ def parsedate(date, formats=None, bias=None):
The date may be a "unixtime offset" string or in one of the specified
formats. If the date already is a (unixtime, offset) tuple, it is returned.
>>> parsedate(b' today ') == parsedate(\
datetime.date.today().strftime('%b %d'))
>>> parsedate(b' today ') == parsedate(
... datetime.date.today().strftime('%b %d').encode('ascii'))
True
>>> parsedate(b'yesterday ') == parsedate((datetime.date.today() -\
datetime.timedelta(days=1)\
).strftime('%b %d'))
>>> parsedate(b'yesterday ') == parsedate(
... (datetime.date.today() - datetime.timedelta(days=1)
... ).strftime('%b %d').encode('ascii'))
True
>>> now, tz = makedate()
>>> strnow, strtz = parsedate(b'now')
@ -2083,10 +2083,12 @@ def parsedate(date, formats=None, bias=None):
if date == 'now' or date == _('now'):
return makedate()
if date == 'today' or date == _('today'):
date = datetime.date.today().strftime('%b %d')
date = datetime.date.today().strftime(r'%b %d')
date = encoding.strtolocal(date)
elif date == 'yesterday' or date == _('yesterday'):
date = (datetime.date.today() -
datetime.timedelta(days=1)).strftime('%b %d')
datetime.timedelta(days=1)).strftime(r'%b %d')
date = encoding.strtolocal(date)
try:
when, offset = map(int, date.split(' '))

View File

@ -69,7 +69,7 @@ testmod('mercurial.templatefilters')
testmod('mercurial.templater')
testmod('mercurial.ui')
testmod('mercurial.url')
testmod('mercurial.util', py3=False) # py3: multiple bytes/unicode issues
testmod('mercurial.util')
testmod('mercurial.util', testtarget='platform')
testmod('hgext.convert.convcmd')
testmod('hgext.convert.cvsps')