review/tests/test_encoding.py @ bdfacbcf700e default tip
Friendlier patch urls & mimetype Replace /changeset/<revset>/patch/ by /changeset/<revset>.patch and set the mimetype to text/x-diff. This helps the browser opening the right application thanks to the mimetype, and the application to better guess the file type thanks to the '.patch' extension
| author | Christophe de Vienne <christophe@cdevienne.info> |
|---|---|
| date | Fri, 19 Aug 2016 18:58:14 +0200 |
| parents | cada9aab8b6f |
| children | (none) |
# coding=utf-8 # import os import unicodedata from nose import with_setup from util import setup_reviewed_sandbox, teardown_sandbox, review, should_fail_with from util import get_datastore_repo, get_sandbox_repo, get_ui from util import check_comment_exists_on_line from .. import api, messages, rutil from mercurial.node import hex @with_setup(setup_reviewed_sandbox(), teardown_sandbox) def test_comment_encoding(): review(comment=True, message=rutil.tolocal(u'Téstíng.')) output = review() assert messages.REVIEW_LOG_COMMENT_LINE % rutil.tolocal(u'Téstíng.') in output @with_setup(setup_reviewed_sandbox(), teardown_sandbox) def test_signoff_encoding(): review(signoff=True, message=rutil.tolocal(u'Téstíng.')) output = review() assert messages.REVIEW_LOG_SIGNOFF_LINE % rutil.tolocal(u'Téstíng.') in output @with_setup(setup_reviewed_sandbox(username=u'Tést <tést@test.com>', encoding='UTF-8'), teardown_sandbox) def test_username_encoding_utf8(): review(comment=True, message=rutil.tolocal(u'Cómment.')) output = review() assert u'Tést'.encode('UTF-8') in output assert u'Cómment.'.encode('UTF-8') in output @with_setup(setup_reviewed_sandbox(username=u'Tést <tést@test.com>', encoding='ISO-8859-1'), teardown_sandbox) def test_username_encoding_iso_8859_1(): review(comment=True, message=rutil.tolocal(u'Cómment.')) output = review() assert u'Tést'.encode('ISO-8859-1') in output assert u'Cómment.'.encode('ISO-8859-1') in output @with_setup(setup_reviewed_sandbox(username=u'Tést <tést@test.com>', encoding='UTF-8', file_encoding='UTF-8'), teardown_sandbox) def test_file_encoding_utf8(): review(comment=True, message=rutil.tolocal(u'Cómment.'), rev='1') output = review(rev='1') normal_output = unicodedata.normalize('NFC', output.decode('UTF-8')) assert unicodedata.normalize('NFC', u'filé') in normal_output assert u'Tést'.encode('UTF-8') in output assert u'Cómment.'.encode('UTF-8') in output assert u'-oné'.encode('UTF-8') in output assert u'+óne'.encode('UTF-8') in output assert u'-twó'.encode('UTF-8') in output assert u'+two'.encode('UTF-8') in output assert u'-thrée'.encode('UTF-8') in output assert u'+threé'.encode('UTF-8') in output @with_setup(setup_reviewed_sandbox(username=u'Tést <tést@test.com>', encoding='latin-1', file_encoding='latin-1'), teardown_sandbox) def test_file_encoding_iso88591(): review(comment=True, message=rutil.tolocal(u'Cómment.'), rev='1') output = review(rev='1') # TODO: Make this work. #normal_output = unicodedata.normalize('NFC', output.decode('latin-1')) #assert unicodedata.normalize('NFC', u'filé') in normal_output assert u'Tést'.encode('latin-1') in output assert u'Cómment.'.encode('latin-1') in output assert u'-oné'.encode('latin-1') in output assert u'+óne'.encode('latin-1') in output assert u'-twó'.encode('latin-1') in output assert u'+two'.encode('latin-1') in output assert u'-thrée'.encode('latin-1') in output assert u'+threé'.encode('latin-1') in output