def ProcessOptions(options, document): empty = TeXFragment() bf = TeXFragment() bf.ownerDocument = document bf.append(bfseries(), False) it = TeXFragment() it.ownerDocument = document it.append(itshape(), False) document.userdata.setPath( 'packages/amsthm/styles', { 'plain': { 'name': 'plain', 'above': dimen('0pt'), 'below': dimen('0pt'), 'bodyfont': it, 'indentamount': dimen('0pt'), 'headfont': bf, 'punctuation': ".", 'between': ' ', 'headspec': None }, 'definition': { 'name': 'definition', 'above': dimen('0pt'), 'below': dimen('0pt'), 'bodyfont': empty, 'indentamount': dimen('0pt'), 'headfont': bf, 'punctuation': ".", 'between': ' ', 'headspec': None }, 'remark': { 'name': 'remark', 'above': dimen("0pt"), 'below': dimen("0pt"), 'bodyfont': empty, 'indentamount': dimen('0pt'), 'headfont': bf, 'punctuation': ".", 'between': ' ', 'headspec': None } }) document.userdata.setPath('packages/amsthm/theorems', []) document.userdata.setPath('packages/amsthm/currentstyle', 'plain') cb = PackagePreCleanupCB(renderers='html5', data=make_amsthm_css) css = PackageCss(renderers='html5', path=Path('amsthm.css')) css.copy = False document.addPackageResource([cb, css])
def test_copy_missing_file(monkeypatch, doc): def mock_copy(source, dest): raise IOError monkeypatch.setattr('plasTeX.PackageResource.shutil.copy', mock_copy) mock_logger = Mock() monkeypatch.setattr('plasTeX.PackageResource.log.error', mock_logger) resource = PackageCss(path=Path('mypkg') / 'mystyle.css', renderers='html') resource.alter(document=doc, rendererName='html', renderer=Mock(), target=Path('buildir')) assert mock_logger.call_count == 1
def test_copy_file(monkeypatch, doc): copy_calls = [] def mock_copy(source, dest): copy_calls.append((source, dest)) monkeypatch.setattr('plasTeX.PackageResource.shutil.copy', mock_copy) resource = PackageCss(path=Path('mypkg') / 'mystyle.css', renderers='html') resource.alter(document=doc, rendererName='html', renderer=Mock(), target=Path('buildir')) assert copy_calls == [(str(Path('mypkg') / 'mystyle.css'), str(Path('buildir') / 'styles'))]
def test_copy_missing_file(monkeypatch, doc): def mock_copy(source, dest): raise IOError monkeypatch.setattr('plasTeX.PackageResource.shutil.copy', mock_copy) monkeypatch.setattr( 'plasTeX.PackageResource.rendererDir', lambda x: 'html') mock_logger = Mock() monkeypatch.setattr('plasTeX.PackageResource.log.error', mock_logger) resource = PackageCss(data='mystyle.css', package='mypkg', renderers='html') resource.alter( document=doc, rendererName='html', renderer=object(), target='buildir') mock_logger.assert_called_once()
def test_copy_from_working_dir(monkeypatch, doc): copy_calls = [] def mock_copy(source, dest): copy_calls.append((source, dest)) monkeypatch.setattr('plasTeX.PackageResource.shutil.copy', mock_copy) monkeypatch.setattr('plasTeX.PackageResource.rendererDir', lambda x: 'html') doc.userdata['working-dir'] = 'mydir' resource = PackageCss(data='mystyle.css', package='mypkg', renderers='html') resource.alter(document=doc, rendererName='html', renderer=object(), target='buildir') assert copy_calls == [(os.path.join('mydir', 'mypkg', 'mystyle.css'), os.path.join('buildir', 'styles'))]
def ProcessOptions(options, document): css = PackageCss(renderers='html5', data='test.css', package='mypkg') js = PackageJs(renderers='html5', data='test.js', package='mypkg') tpl = PackageTemplateDir(renderers='html5', package='mypkg') def cb(document): document.userdata['testing'] = 'test' return [] callback = PackageResource(renderers='html5', key='preCleanupCallbacks', data=cb) document.addPackageResource([css, js, tpl, callback])
def ProcessOptions(options, document): css = PackageCss(renderers='html5', path=Path(__file__).parent / 'mypkg' / 'test.css') js = PackageJs(renderers='html5', path=Path(__file__).parent / 'mypkg' / 'test.js') tpl = PackageTemplateDir(renderers='html5', path=Path(__file__).parent / 'mypkg') def cb(document): document.userdata['testing'] = 'test' return [] callback = PackagePreCleanupCB(renderers='html5', data=cb) document.addPackageResource([css, js, tpl, callback])