Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_unicode_input(self):
# make sure that pandoc always returns unicode and does not mishandle it
expected = u'üäöîôû{0}======{0}{0}'.format(os.linesep)
written = pypandoc.convert_text(u'<h1>üäöîôû</h1>', 'md', format='html')
self.assertTrue(isinstance(written, unicode_type))
self.assertEqualExceptForNewlineEnd(expected, written)
bytes = u'<h1>üäöîôû</h1>'.encode("utf-8")
written = pypandoc.convert_text(bytes, 'md', format='html')
self.assertEqualExceptForNewlineEnd(expected, written)
self.assertTrue(isinstance(written, unicode_type))
# Only use german umlauts in th next test, as iso-8859-15 covers that
expected = u'üäö€{0}===={0}{0}'.format(os.linesep)
bytes = u'<h1>üäö€</h1>'.encode("iso-8859-15")
# Without encoding, this fails as we expect utf-8 per default
def f():
pypandoc.convert_text(bytes, 'md', format='html')
self.assertRaises(RuntimeError, f)
def f():
# we have to use something which interprets '\xa4', so latin and -1 does not work :-/
pypandoc.convert_text(bytes, 'md', format='html', encoding="utf-16")
def test_unicode_input(self):
# make sure that pandoc always returns unicode and does not mishandle it
expected = u'üäöîôû{0}======{0}{0}'.format(os.linesep)
written = pypandoc.convert_text(u'<h1>üäöîôû</h1>', 'md', format='html')
self.assertTrue(isinstance(written, unicode_type))
self.assertEqualExceptForNewlineEnd(expected, written)
bytes = u'<h1>üäöîôû</h1>'.encode("utf-8")
written = pypandoc.convert_text(bytes, 'md', format='html')
self.assertEqualExceptForNewlineEnd(expected, written)
self.assertTrue(isinstance(written, unicode_type))
# Only use german umlauts in th next test, as iso-8859-15 covers that
expected = u'üäö€{0}===={0}{0}'.format(os.linesep)
bytes = u'<h1>üäö€</h1>'.encode("iso-8859-15")
# Without encoding, this fails as we expect utf-8 per default
def f():
pypandoc.convert_text(bytes, 'md', format='html')
self.assertRaises(RuntimeError, f)