|
1 | 1 | import os
|
2 | 2 | import sys
|
3 | 3 | import traceback
|
4 |
| - |
5 | 4 | import StringIO
|
6 | 5 | import unittest
|
7 |
| -from support import html5lib_test_files, TestData, convert, convertExpected |
| 6 | +import warnings |
| 7 | + |
| 8 | +warnings.simplefilter("error") |
8 | 9 |
|
| 10 | +from support import html5lib_test_files, TestData, convert, convertExpected |
9 | 11 | from html5lib import html5parser, treebuilders, constants
|
10 | 12 |
|
11 | 13 | treeTypes = {"simpletree":treebuilders.getTreeBuilder("simpletree"),
|
|
34 | 36 | pass
|
35 | 37 |
|
36 | 38 | try:
|
37 |
| - import lxml.etree as lxml |
38 |
| - treeTypes['lxml'] = treebuilders.getTreeBuilder("etree", lxml, fullTree=True) |
| 39 | + try: |
| 40 | + import lxml.html as lxml |
| 41 | + except ImportError: |
| 42 | + import lxml.etree as lxml |
| 43 | + treeTypes['lxml'] = treebuilders.getTreeBuilder("lxml", lxml, fullTree=True) |
39 | 44 | except ImportError:
|
40 | 45 | pass
|
41 | 46 |
|
@@ -70,7 +75,11 @@ def runParserTest(self, innerHTML, input, expected, errors, treeClass):
|
70 | 75 | if innerHTML:
|
71 | 76 | document = p.parseFragment(StringIO.StringIO(input), innerHTML)
|
72 | 77 | else:
|
73 |
| - document = p.parse(StringIO.StringIO(input)) |
| 78 | + try: |
| 79 | + document = p.parse(StringIO.StringIO(input)) |
| 80 | + except constants.DataLossWarning: |
| 81 | + sys.stderr.write("Test input causes known dataloss, skipping") |
| 82 | + return |
74 | 83 | except:
|
75 | 84 | errorMsg = "\n".join(["\n\nInput:", input, "\nExpected:", expected,
|
76 | 85 | "\nTraceback:", traceback.format_exc()])
|
|
0 commit comments