While the full test suite seems to succeed under Python 3.4, 12 tests fail under Python 3.5. I haven't yet figured out what the difference is:
running test
......................FF....FFFF......FFFF.........F.........F..........................
======================================================================
FAIL: test_emdash-para_cmd (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 106, in test_cmd
self.assertEqual(result, actual)
AssertionError: 'Baco[257 chars]shank--\n\n--irure ex esse id, ham commodo mea[476 chars]\n\n' != 'Baco[257 chars]shank—\n\n—irure ex esse id, ham commodo meatl[474 chars]\n\n'
Bacon ipsum dolor sit amet pork chop id pork belly ham hock, sed meatloaf eu
exercitation flank quis veniam officia. Chuck dolor esse, occaecat est elit
drumstick ground round tri-tip nisi. Eu fugiat drumstick leberkas magna.
- Turducken frankfurter nisi aute shank--
? ^^
+ Turducken frankfurter nisi aute shank—
? ^
- --irure ex esse id, ham commodo meatloaf pig pariatur ut cow. Officia salami
? ^^
+ —irure ex esse id, ham commodo meatloaf pig pariatur ut cow. Officia salami in
? ^ +++
- in fatback voluptate boudin ullamco beef ribs shank. Duis spare ribs pork
? ---
+ fatback voluptate boudin ullamco beef ribs shank. Duis spare ribs pork chop,
? ++++++
- chop, ad leberkas reprehenderit id voluptate salami ham ut in ut cillum
? ------
+ ad leberkas reprehenderit id voluptate salami ham ut in ut cillum turducken.
? +++++++++++
- turducken. Nisi ribeye tail capicola dolore andouille. Short ribs id beef
? -----------
+ Nisi ribeye tail capicola dolore andouille. Short ribs id beef ribs, et nulla
? +++++++++++++++
- ribs, et nulla ground round do sunt dolore. Dolore nisi ullamco veniam sunt.
? ---------------
+ ground round do sunt dolore. Dolore nisi ullamco veniam sunt. Duis brisket
? +++++++++++++
- Duis brisket drumstick, dolor fatback filet mignon meatloaf laboris tri-tip
? -------------
+ drumstick, dolor fatback filet mignon meatloaf laboris tri-tip speck chuck
? ++++++++++++
- speck chuck ball tip voluptate ullamco laborum.
? ------------
+ ball tip voluptate ullamco laborum.
\--
======================================================================
FAIL: test_emdash-para_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: 'Baco[257 chars]shank--\n\n--irure ex esse id, ham commodo mea[476 chars]\n\n' != 'Baco[257 chars]shank—\n\n—irure ex esse id, ham commodo meatl[474 chars]\n\n'
Bacon ipsum dolor sit amet pork chop id pork belly ham hock, sed meatloaf eu
exercitation flank quis veniam officia. Chuck dolor esse, occaecat est elit
drumstick ground round tri-tip nisi. Eu fugiat drumstick leberkas magna.
- Turducken frankfurter nisi aute shank--
? ^^
+ Turducken frankfurter nisi aute shank—
? ^
- --irure ex esse id, ham commodo meatloaf pig pariatur ut cow. Officia salami
? ^^
+ —irure ex esse id, ham commodo meatloaf pig pariatur ut cow. Officia salami in
? ^ +++
- in fatback voluptate boudin ullamco beef ribs shank. Duis spare ribs pork
? ---
+ fatback voluptate boudin ullamco beef ribs shank. Duis spare ribs pork chop,
? ++++++
- chop, ad leberkas reprehenderit id voluptate salami ham ut in ut cillum
? ------
+ ad leberkas reprehenderit id voluptate salami ham ut in ut cillum turducken.
? +++++++++++
- turducken. Nisi ribeye tail capicola dolore andouille. Short ribs id beef
? -----------
+ Nisi ribeye tail capicola dolore andouille. Short ribs id beef ribs, et nulla
? +++++++++++++++
- ribs, et nulla ground round do sunt dolore. Dolore nisi ullamco veniam sunt.
? ---------------
+ ground round do sunt dolore. Dolore nisi ullamco veniam sunt. Duis brisket
? +++++++++++++
- Duis brisket drumstick, dolor fatback filet mignon meatloaf laboris tri-tip
? -------------
+ drumstick, dolor fatback filet mignon meatloaf laboris tri-tip speck chuck
? ++++++++++++
- speck chuck ball tip voluptate ullamco laborum.
? ------------
+ ball tip voluptate ullamco laborum.
\--
======================================================================
FAIL: test_googledocmassdownload_cmd (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 106, in test_cmd
self.assertEqual(result, actual)
AssertionError: "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ita[156 chars]_ \n" != "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ital[146 chars]_ \n"
# test doc
first issue
- bit
- _**bold italic**_
- orange
- apple
- final
text to separate lists
1. now with numbers
2. the prisoner
1. not an _italic number_
- 2. a **bold human** being
? -
+ 2. a **bold human** being
3. end
**bold**
_italic_
` def func(x):`
- ` if x < 1:`
? --
+ ` if x < 1:`
- ` return 'a'`
? ----
+ ` return 'a'`
- ` return 'b'`
? --
+ ` return 'b'`
- Some ` fixed width text` here
? -
+ Some ` fixed width text` here
_` italic fixed width text`_
======================================================================
FAIL: test_googledocmassdownload_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ita[156 chars]_ \n" != "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ital[146 chars]_ \n"
# test doc
first issue
- bit
- _**bold italic**_
- orange
- apple
- final
text to separate lists
1. now with numbers
2. the prisoner
1. not an _italic number_
- 2. a **bold human** being
? -
+ 2. a **bold human** being
3. end
**bold**
_italic_
` def func(x):`
- ` if x < 1:`
? --
+ ` if x < 1:`
- ` return 'a'`
? ----
+ ` return 'a'`
- ` return 'b'`
? --
+ ` return 'b'`
- Some ` fixed width text` here
? -
+ Some ` fixed width text` here
_` italic fixed width text`_
======================================================================
FAIL: test_googledocsaved_cmd (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 106, in test_cmd
self.assertEqual(result, actual)
AssertionError: "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ita[156 chars]_ \n" != "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ital[146 chars]_ \n"
# test doc
first issue
- bit
- _**bold italic**_
- orange
- apple
- final
text to separate lists
1. now with numbers
2. the prisoner
1. not an _italic number_
- 2. a **bold human** being
? -
+ 2. a **bold human** being
3. end
**bold**
_italic_
` def func(x):`
- ` if x < 1:`
? --
+ ` if x < 1:`
- ` return 'a'`
? ----
+ ` return 'a'`
- ` return 'b'`
? --
+ ` return 'b'`
- Some ` fixed width text` here
? -
+ Some ` fixed width text` here
_` italic fixed width text`_
======================================================================
FAIL: test_googledocsaved_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ita[156 chars]_ \n" != "# t[237 chars]n** being\n 3. end \n \n**bold** \n_ital[146 chars]_ \n"
# test doc
first issue
- bit
- _**bold italic**_
- orange
- apple
- final
text to separate lists
1. now with numbers
2. the prisoner
1. not an _italic number_
- 2. a **bold human** being
? -
+ 2. a **bold human** being
3. end
**bold**
_italic_
` def func(x):`
- ` if x < 1:`
? --
+ ` if x < 1:`
- ` return 'a'`
? ----
+ ` return 'a'`
- ` return 'b'`
? --
+ ` return 'b'`
- Some ` fixed width text` here
? -
+ Some ` fixed width text` here
_` italic fixed width text`_
======================================================================
FAIL: test_html-escaping_cmd (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 106, in test_cmd
self.assertEqual(result, actual)
AssertionError: 'Escaped HTML like <div> or & should remain escape[100 chars]\n\n' != 'Escaped HTML like <div> or & should remain escaped on outpu[90 chars]\n\n'
- Escaped HTML like <div> or & should remain escaped on output
? ^^^^ ^^^^ ----
+ Escaped HTML like <div> or & should remain escaped on output
? ^ ^
...unless that escaped HTML is in a <pre> tag
`...or a <code> tag`
======================================================================
FAIL: test_html-escaping_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: 'Escaped HTML like <div> or & should remain escape[100 chars]\n\n' != 'Escaped HTML like <div> or & should remain escaped on outpu[90 chars]\n\n'
- Escaped HTML like <div> or & should remain escaped on output
? ^^^^ ^^^^ ----
+ Escaped HTML like <div> or & should remain escaped on output
? ^ ^
...unless that escaped HTML is in a <pre> tag
`...or a <code> tag`
======================================================================
FAIL: test_html_entities_out_of_text_cmd (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 106, in test_cmd
self.assertEqual(result, actual)
AssertionError: '[allas: Country Manager](http://thth)\n\n' != '[állás: Country Manager](http://thth)\n\n'
- [allas: Country Manager](http://thth)
? ^ ^
+ [állás: Country Manager](http://thth)
? ^ ^
======================================================================
FAIL: test_html_entities_out_of_text_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: '[allas: Country Manager](http://thth)\n\n' != '[állás: Country Manager](http://thth)\n\n'
- [allas: Country Manager](http://thth)
? ^ ^
+ [állás: Country Manager](http://thth)
? ^ ^
======================================================================
FAIL: test_invalid_unicode_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: 'Br\n\n' != 'B�r\n\n'
- Br
+ B�r
? +
======================================================================
FAIL: test_nbsp_unicode_mod (test.test_html2text.TestHTML2Text)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/barry/projects/debian/html2text/upstream/test/test_html2text.py", line 99, in test_mod
self.assertEqual(result, actual)
AssertionError: '# NB[182 chars]ed do\xa0eiusmod\ntempor incididunt ut\xa0labo[385 chars]\n\n' != '# NB[182 chars]ed do eiusmod\ntempor incididunt ut labore et [349 chars]\n\n'
# NBSP handling test #2
In this test all NBSPs will be replaced with unicode non-breaking spaces
(unicode_snob = True).
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
? ^
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
? ^
- tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
? ^ ^ ^ ^
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
? ^ ^ ^ ^
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
? ^ ^
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
? ^ ^
consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
? ^ ^
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
? ^ ^
- eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
? ^
+ eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
? ^
- in culpa qui officia deserunt mollit anim id est laborum.
? ^ ^
+ in culpa qui officia deserunt mollit anim id est laborum.
? ^ ^
----------------------------------------------------------------------
Ran 88 tests in 4.929s
FAILED (failures=12)