Page MenuHomec4science

test_convertPDF2SVG4Web.py
No OneTemporary

File Metadata

Created
Sat, May 4, 14:42

test_convertPDF2SVG4Web.py

import unittest
import os
from os import sep, path
from os.path import isfile, isdir, dirname, basename
import shutil
import sys
sys.path.append('svgscripts')
import convertPDF2SVG4Web
class TestConverter(unittest.TestCase):
def setUp(self):
DATADIR = dirname(__file__) + sep + 'test_data'
if not isdir(DATADIR):
DATADIR = dirname(dirname(__file__)) + sep + 'test_data'
self.test_dir = 'asdf'
self.test_file = DATADIR + sep + 'W_II_8_print_0029.pdf'
self.test_multipage = DATADIR + sep + 'test_multipage.pdf'
def test_main(self):
argv = ['-d', self.test_dir, '--title=My Hero', '--page=1', self.test_file]
self.assertEqual(convertPDF2SVG4Web.main(argv), 0)
self.assertEqual(isfile('{}/{}_page{}_web.svg'.format(self.test_dir, 'My_Hero', '001')), True)
def test_main_with_name_dictionary(self):
name_dictionary = { "1": "testA", "2": "testB" }
name_dict_str = '--name-dict={}'.format(str(name_dictionary))
argv = ['-d', self.test_dir, name_dict_str, self.test_multipage]
self.assertEqual(convertPDF2SVG4Web.main(argv), 0)
for name in name_dictionary.values():
self.assertEqual(isfile('{}/{}.svg'.format(self.test_dir, name)), True)
def test_main_with_name_dictionary_and_title(self):
name_dictionary = { "1": "TITLE_a", "2": "TITLE_b" }
name_dict_str = '--name-dict={}'.format(str(name_dictionary))
argv = ['-d', self.test_dir, '-t', 'Test', name_dict_str, self.test_multipage]
self.assertEqual(convertPDF2SVG4Web.main(argv), 0)
for name in name_dictionary.values():
file_name = name.replace('TITLE', 'Test')
self.assertEqual(isfile('{}/{}.svg'.format(self.test_dir, file_name)), True)
def test_converter(self):
converter = convertPDF2SVG4Web.Converter()
self.assertEqual(converter.title, None)
self.assertEqual(converter.page_number, None)
result_dir = 'svg' if isdir('svg') else ''
self.assertEqual(converter.target_dir, result_dir)
def test_pdf2svg_multipage(self):
converter = convertPDF2SVG4Web.Converter(target_dir=self.test_dir)
self.assertEqual(converter.pdf2svg(self.test_multipage), 0)
self.assertEqual(len(os.listdir(self.test_dir)), 3)
self.assertEqual(len(converter.latest_converted_files), 3)
def test_get_page_number(self):
converter = convertPDF2SVG4Web.Converter()
self.assertEqual(converter.get_page_number(self.test_file, page_number='1'), '001')
self.assertEqual(converter.get_page_number(self.test_file), '0029')
converter = convertPDF2SVG4Web.Converter(add_to_page_number=1)
self.assertEqual(converter.get_page_number(self.test_file), '030')
def test_get_file_name(self):
converter = convertPDF2SVG4Web.Converter()
result_dir = 'svg' + sep if isdir('svg') else ''
self.assertEqual(converter.get_file_name(self.test_file), result_dir + 'W_II_8_print_0029_web.svg')
converter = convertPDF2SVG4Web.Converter(title='W II 9')
self.assertEqual(converter.get_file_name(self.test_file), result_dir + 'W_II_9_page0029_web.svg')
self.assertEqual(converter.get_file_name(self.test_file, page_number='3'), result_dir + 'W_II_9_page003_web.svg')
self.assertEqual(converter.get_file_name(self.test_file, page_number='13'), result_dir + 'W_II_9_page013_web.svg')
self.assertEqual(converter.get_file_name(self.test_file, page_number='113'), result_dir + 'W_II_9_page113_web.svg')
converter = convertPDF2SVG4Web.Converter()
self.assertEqual(converter.get_file_name('W_II_9_online.pdf', True), result_dir + 'W_II_9_online_page%03d_web.svg')
def tearDown(self):
isdir(self.test_dir) and shutil.rmtree(self.test_dir)
if __name__ == "__main__":
unittest.main()

Event Timeline