Mercurial > python-hglib
view tests/test-import.py @ 146:8d7bf729a4db
hglib: use io.BytesIO when available (issue4520)
Since cStringIO.StringIO is not available in Python 3, try to use
io.BytesIO when available.
author | Brett Cannon <brett@python.org> |
---|---|
date | Fri, 13 Mar 2015 11:34:52 -0400 |
parents | f3c430afa598 |
children | 98829bf71f10 |
line wrap: on
line source
import common, os try: from io import BytesIO except ImportError: from cStringIO import StringIO as BytesIO import hglib from hglib.util import b patch = b(""" # HG changeset patch # User test # Date 0 0 # Node ID c103a3dec114d882c98382d684d8af798d09d857 # Parent 0000000000000000000000000000000000000000 1 diff -r 000000000000 -r c103a3dec114 a --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/a Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ +1 """) class test_import(common.basetest): def test_basic_cstringio(self): self.client.import_(BytesIO(patch)) self.assertEquals(self.client.cat([b('a')]), b('1\n')) def test_basic_file(self): f = open('patch', 'wb') f.write(patch) f.close() # --no-commit self.client.import_([b('patch')], nocommit=True) self.assertEquals(open('a').read(), '1\n') self.client.update(clean=True) os.remove('a') self.client.import_([b('patch')]) self.assertEquals(self.client.cat([b('a')]), b('1\n'))