|
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