def test_process_umlauts(self): proc = OOConvProcessor() sample_file = os.path.join(self.workdir, 'sample.txt') open(sample_file, 'wb').write('A sample with umlauts: ä') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert self.result_path.endswith('sample.html')
def test_process_umlauts(self): proc = OOConvProcessor() sample_file = os.path.join(self.workdir, 'sample.txt') with codecs.open(sample_file, 'w', encoding='utf-8') as fd: fd.write(u'A sample with umlauts: ä') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert self.result_path.endswith('sample.html')
def test_process_simple(self): proc = OOConvProcessor() sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert self.result_path.endswith('sample.html')
def test_process_src_not_in_result(self): # Make sure the input file does not remain in result dir proc = OOConvProcessor() sample_file = os.path.join(self.workdir, 'sample.txt') open(sample_file, 'wb').write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 dir_list = os.listdir(os.path.dirname(self.result_path)) assert 'sample.txt' not in dir_list
def test_failing_op(self): proc = OOConvProcessor(Options()) sample_file = os.path.join(self.workdir, b'sample.txt') open(sample_file, 'w').write(b'A sample') with self.failing_unoconv_context(): # the fake unoconv will return error unconditionally self.result_path, meta = proc.process(sample_file, Options()) assert meta[b'oocp_status'] == 1 assert self.result_path is None return
def test_process_pdf_simple(self): proc = OOConvProcessor(options={ 'oocp-out-fmt': 'pdf', }) sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert self.result_path.endswith('sample.pdf')
def test_process_src_not_in_result(self): # Make sure the input file does not remain in result dir proc = OOConvProcessor() sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 dir_list = os.listdir(os.path.dirname(self.result_path)) assert 'sample.txt' not in dir_list
def test_process_pdf_simple(self): proc = OOConvProcessor( options={ 'oocp-out-fmt': 'pdf', } ) sample_file = os.path.join(self.workdir, 'sample.txt') open(sample_file, 'wb').write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert self.result_path.endswith('sample.pdf')
def test_failing_op(self): proc = OOConvProcessor(Options()) sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') with self.failing_unoconv_context(): # the fake unoconv will return error unconditionally self.result_path, meta = proc.process(sample_file, Options()) assert meta['oocp_status'] == 1 assert self.result_path is None return
def test_pdf_props_with_pdf_out(self): # PDF props are set only when pdf output format is required proc = OOConvProcessor(options={ 'oocp-out-fmt': 'pdf', }) sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') log_catcher = ConvertLogCatcher() self.result_path, meta = proc.process(sample_file, {}) output = log_catcher.get_log_messages() assert '-e SelectPdfVersion' in output
def test_pdf_props_with_pdf_out(self): # PDF props are set only when pdf output format is required proc = OOConvProcessor( options={ 'oocp-out-fmt': 'pdf', } ) sample_file = os.path.join(self.workdir, b'sample.txt') open(sample_file, 'w').write(b'A sample') log_catcher = ConvertLogCatcher() self.result_path, meta = proc.process(sample_file, {}) output = log_catcher.get_log_messages() assert '-e SelectPdfVersion' in output
def test_process_pdf_tagged(self): # make sure we can produce non-PDF/A output proc = OOConvProcessor(options={ 'oocp-out-fmt': 'pdf', 'oocp-pdf-tagged': '1', }) sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert b'xmlns:pdf="http://ns.adobe.com/pdf/1.3/"' not in open( self.result_path, 'rb').read()
def test_process_pdf_tagged(self): # make sure we can produce non-PDF/A output proc = OOConvProcessor( options={ 'oocp-out-fmt': 'pdf', 'oocp-pdf-tagged': '1', } ) sample_file = os.path.join(self.workdir, 'sample.txt') open(sample_file, 'wb').write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 assert 'xmlns:pdf="http://ns.adobe.com/pdf/1.3/"' not in open( self.result_path, 'rb').read()
def test_process_pdf_as_pda(self): # make sure we can produce PDF/A output proc = OOConvProcessor(options={ 'oocp-out-fmt': 'pdf', 'oocp-pdf-version': '1', }) sample_file = os.path.join(self.workdir, 'sample.txt') with open(sample_file, 'w') as fd: fd.write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 content = open(self.result_path, 'rb').read() # these are PDF/A-1a specification requirements... assert b'<pdfaid:part>1</pdfaid:part>' in content assert b'<pdfaid:conformance>A</pdfaid:conformance>' in content
def test_process_pdf_as_pda(self): # make sure we can produce PDF/A output proc = OOConvProcessor( options={ 'oocp-out-fmt': 'pdf', 'oocp-pdf-version': '1', } ) sample_file = os.path.join(self.workdir, 'sample.txt') open(sample_file, 'wb').write('A sample') self.result_path, meta = proc.process(sample_file, {}) assert meta['oocp_status'] == 0 content = open(self.result_path, 'r').read() # these are PDF/A-1a specification requirements... assert '<pdfaid:part>1</pdfaid:part>' in content assert '<pdfaid:conformance>A</pdfaid:conformance>' in content
def test_no_options(self): # We cope with no options set proc = OOConvProcessor() assert proc.options['oocp_output_format'] == 'html' return