Achieve 100% coverage!
This commit is contained in:
parent
52a2c800b7
commit
f49aa5cab7
@ -22,8 +22,7 @@ def _parse_xml(full_path: str):
|
||||
def parse_map(f): # etree support for ns is a bit rough
|
||||
ns_map = dict()
|
||||
for event, (k, v) in ET.iterparse(f, ("start-ns", )):
|
||||
if event == "start-ns":
|
||||
ns_map[k] = v
|
||||
ns_map[k] = v
|
||||
return ns_map
|
||||
|
||||
ns = parse_map(full_path)
|
||||
@ -166,7 +165,7 @@ class MSOfficeParser(ArchiveBasedAbstractParser):
|
||||
|
||||
elements = list()
|
||||
for element in tree.iterfind('.//w:ins', ns):
|
||||
for position, item in enumerate(tree.iter()):
|
||||
for position, item in enumerate(tree.iter()): #pragma: no cover
|
||||
if item == element:
|
||||
for children in element.iterfind('./*'):
|
||||
elements.append((element, position, children))
|
||||
|
@ -69,9 +69,11 @@ class _BencodeHandler(object):
|
||||
@staticmethod
|
||||
def __decode_string(s: bytes) -> Tuple[bytes, bytes]:
|
||||
colon = s.index(b':')
|
||||
str_len = int(s[:colon])
|
||||
if s[0] == '0' and colon != 1:
|
||||
# FIXME Python3 is broken here, the call to `ord` shouldn't be needed,
|
||||
# but apparently it is. This is utterly idiotic.
|
||||
if (s[0] == ord('0') or s[0] == '0') and colon != 1:
|
||||
raise ValueError
|
||||
str_len = int(s[:colon])
|
||||
s = s[1:]
|
||||
return s[colon:colon+str_len], s[colon+str_len:]
|
||||
|
||||
|
@ -80,7 +80,7 @@ class TestCorruptedFiles(unittest.TestCase):
|
||||
torrent.TorrentParser('./tests/data/clean.torrent')
|
||||
|
||||
with open("./tests/data/clean.torrent", "w") as f:
|
||||
f.write("d01:AAAAAAAAA")
|
||||
f.write("01:AAAAAAAAA")
|
||||
with self.assertRaises(ValueError):
|
||||
torrent.TorrentParser('./tests/data/clean.torrent')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user