##// END OF EJS Templates
typing: add stub functions for `cext/charencoding`...
typing: add stub functions for `cext/charencoding` I'm not sure if it's better to have a separate file, and currently pytype doesn't really know how to handle these, so it's no help in figuring that out. Technically, these methods are part of the `mercurial.cext.parsers` module, so put them into the existing stub until there's a reason to split it out.

File last commit:

r49730:6000f5b2 default
r52834:e58f02e2 default
Show More
test-lfs-pointer.py
42 lines | 1.2 KiB | text/x-python | PythonLexer
/ tests / test-lfs-pointer.py
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 # Import something from Mercurial, so the module loader gets initialized.
from mercurial import pycompat
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 del pycompat # unused for now
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 from hgext.lfs import pointer
Augie Fackler
formatting: blacken the codebase...
r43346
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 def tryparse(text):
r = {}
try:
r = pointer.deserialize(text)
print('ok')
except Exception as ex:
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 print((b'%s' % ex).decode('ascii'))
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 if r:
text2 = r.serialize()
if text2 != text:
print('reconstructed text differs')
return r
Augie Fackler
formatting: blacken the codebase...
r43346
t = (
b'version https://git-lfs.github.com/spec/v1\n'
b'oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1'
b'258daaa5e2ca24d17e2393\n'
b'size 12345\n'
b'x-foo extra-information\n'
)
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 tryparse(b'')
Matt Harbison
lfs: import the Facebook git-lfs client extension...
r35097 tryparse(t)
Augie Fackler
tests: port test-lfs-pointer.py to Python 3...
r37947 tryparse(t.replace(b'git-lfs', b'unknown'))
tryparse(t.replace(b'v1\n', b'v1\n\n'))
tryparse(t.replace(b'sha256', b'ahs256'))
tryparse(t.replace(b'sha256:', b''))
tryparse(t.replace(b'12345', b'0x12345'))
tryparse(t.replace(b'extra-information', b'extra\0information'))
tryparse(t.replace(b'extra-information', b'extra\ninformation'))
tryparse(t.replace(b'x-foo', b'x_foo'))
tryparse(t.replace(b'oid', b'blobid'))
tryparse(t.replace(b'size', b'size-bytes').replace(b'oid', b'object-id'))