pdfminer.six/tests/test_pdfminer_ccitt.py

156 lines
4.5 KiB
Python
Raw Normal View History

from nose.tools import assert_equal
2014-09-04 07:36:19 +00:00
Enforce pep8 coding-style (#345) * Code Refractor: Use code-style enforcement #312 * Add flake8 to travis-ci * Remove python 2 3 comment on six library. 891 errors > 870 errors. * Remove class and functions comments that consist of just the name. 870 errors > 855 errors. * Fix flake8 errors in pdftypes.py. 855 errors > 833 errors. * Moving flake8 testing from .travis.yml to tox.ini to ensure local testing before commiting * Cleanup pdfinterp.py and add documentation from PDF Reference * Cleanup pdfpage.py * Cleanup pdffont.py * Clean psparser.py * Cleanup high_level.py * Cleanup layout.py * Cleanup pdfparser.py * Cleanup pdfcolor.py * Cleanup rijndael.py * Cleanup converter.py * Rename klass to cls if it is the class variable, to be more consistent with standard practice * Cleanup cmap.py * Cleanup pdfdevice.py * flake8 ignore fontmetrics.py * Cleanup test_pdfminer_psparser.py * Fix flake8 in pdfdocument.py; 339 errors to go * Fix flake8 utils.py; 326 errors togo * pep8 correction for few files in /tools/ 328 > 160 to go (#342) * pep8 correction for few files in /tools/ 328 > 160 to go * pep8 correction: 160 > 5 to go * Fix ascii85.py errors * Fix error in getting index from target that does not exists * Remove commented print lines * Fix flake8 error in pdfinterp.py * Fix python2 specific error by removing argument from print statement * Ignore invalid python2 syntax * Update contributing.md * Added changelog * Remove unused import Co-authored-by: Fakabbir Amin <f4amin@gmail.com>
2019-12-29 20:20:20 +00:00
from pdfminer.ccitt import CCITTG4Parser
2014-09-04 07:36:19 +00:00
class TestCCITTG4Parser():
2014-09-04 07:36:19 +00:00
def get_parser(self, bits):
parser = CCITTG4Parser(len(bits))
parser._curline = [int(c) for c in bits]
parser._reset_line()
return parser
def test_b1(self):
parser = self.get_parser('00000')
parser._do_vertical(0)
assert_equal(parser._curpos, 0)
return
def test_b2(self):
parser = self.get_parser('10000')
parser._do_vertical(-1)
assert_equal(parser._curpos, 0)
return
def test_b3(self):
parser = self.get_parser('000111')
parser._do_pass()
assert_equal(parser._curpos, 3)
assert_equal(parser._get_bits(), '111')
return
def test_b4(self):
parser = self.get_parser('00000')
parser._do_vertical(+2)
assert_equal(parser._curpos, 2)
assert_equal(parser._get_bits(), '11')
return
def test_b5(self):
parser = self.get_parser('11111111100')
parser._do_horizontal(0, 3)
assert_equal(parser._curpos, 3)
parser._do_vertical(1)
assert_equal(parser._curpos, 10)
assert_equal(parser._get_bits(), '0001111111')
return
def test_e1(self):
parser = self.get_parser('10000')
parser._do_vertical(0)
assert_equal(parser._curpos, 1)
parser._do_vertical(0)
assert_equal(parser._curpos, 5)
assert_equal(parser._get_bits(), '10000')
return
def test_e2(self):
parser = self.get_parser('10011')
parser._do_vertical(0)
assert_equal(parser._curpos, 1)
parser._do_vertical(2)
assert_equal(parser._curpos, 5)
assert_equal(parser._get_bits(), '10000')
return
def test_e3(self):
parser = self.get_parser('011111')
parser._color = 0
parser._do_vertical(0)
assert_equal(parser._color, 1)
assert_equal(parser._curpos, 1)
parser._do_vertical(-2)
assert_equal(parser._color, 0)
assert_equal(parser._curpos, 4)
parser._do_vertical(0)
assert_equal(parser._curpos, 6)
assert_equal(parser._get_bits(), '011100')
return
def test_e4(self):
parser = self.get_parser('10000')
parser._do_vertical(0)
assert_equal(parser._curpos, 1)
parser._do_vertical(-2)
assert_equal(parser._curpos, 3)
parser._do_vertical(0)
assert_equal(parser._curpos, 5)
assert_equal(parser._get_bits(), '10011')
return
def test_e5(self):
parser = self.get_parser('011000')
parser._color = 0
parser._do_vertical(0)
assert_equal(parser._curpos, 1)
parser._do_vertical(3)
assert_equal(parser._curpos, 6)
assert_equal(parser._get_bits(), '011111')
return
def test_e6(self):
parser = self.get_parser('11001')
parser._do_pass()
assert_equal(parser._curpos, 4)
parser._do_vertical(0)
assert_equal(parser._curpos, 5)
assert_equal(parser._get_bits(), '11111')
return
def test_e7(self):
parser = self.get_parser('0000000000')
parser._curpos = 2
parser._color = 1
parser._do_horizontal(2, 6)
assert_equal(parser._curpos, 10)
assert_equal(parser._get_bits(), '1111000000')
return
def test_e8(self):
parser = self.get_parser('001100000')
parser._curpos = 1
parser._color = 0
parser._do_vertical(0)
assert_equal(parser._curpos, 2)
parser._do_horizontal(7, 0)
assert_equal(parser._curpos, 9)
assert_equal(parser._get_bits(), '101111111')
return
def test_m1(self):
parser = self.get_parser('10101')
parser._do_pass()
assert_equal(parser._curpos, 2)
parser._do_pass()
assert_equal(parser._curpos, 4)
assert_equal(parser._get_bits(), '1111')
return
def test_m2(self):
parser = self.get_parser('101011')
parser._do_vertical(-1)
parser._do_vertical(-1)
parser._do_vertical(1)
parser._do_horizontal(1, 1)
assert_equal(parser._get_bits(), '011101')
return
def test_m3(self):
parser = self.get_parser('10111011')
parser._do_vertical(-1)
parser._do_pass()
parser._do_vertical(1)
parser._do_vertical(1)
assert_equal(parser._get_bits(), '00000001')
return